【问题标题】:How to print the predicted values using zip如何使用 zip 打印预测值
【发布时间】:2019-12-13 21:51:34
【问题描述】:

我正在使用决策树并获得 78% 的分数,但我如何打印预测值

我试过了

for X,Y in zip(X_test, y_test):
    print("Model:", dt.predict([X][0]), "actual:", y)

但它显示一个错误提示

如果您的数据有 单个特征或 array.reshape(1, -1) 如果它包含单个样本。

import pandas as pd
import sklearn
from sklearn.tree import DecisionTreeClassifier


df = pd.read_csv("final interview.csv")
df = sklearn.utils.shuffle(df)
df = df.drop(["position", "department"], axis=1)

X = df.drop("decision", axis=1).values
y = df["decision"].values

test_size = 20
X_train = X[:-test_size]
y_train = y[:-test_size]

X_test = X[-test_size:]
y_test = y[-test_size:]

dt = DecisionTreeClassifier()
dt.fit(X_train, y_train)
print(dt.score(X_test, y_test))


for X,Y in zip(X_test, y_test):
    print("Model:", dt.predict([X][0]), "actual:", y)

我期待predicted values : actual values

【问题讨论】:

    标签: python-3.x pandas scikit-learn


    【解决方案1】:

    你的打印不应该是这样的吗:

    for X,Y in zip(dt.predict(X_test),y_test):
        print("Model Score:", X, "actual score:", Y) 
    

    【讨论】:

      【解决方案2】:

      对于您的解决方案,您需要编写以下代码:-

      pred=dt.predict(X_test).tolist()
      y_test=y_test.tolist()
      for X,Y in zip(pred, y_test):
          print("Model:", X, "actual:", Y)
      

      【讨论】:

        【解决方案3】:

        我会做如下的列表理解:

        print(["Pred : {} True class: {}".format(dt.predict([x]),y) for x,y in zip(X_test, y_test)])
        

        【讨论】:

          猜你喜欢
          • 2010-10-09
          • 1970-01-01
          • 2018-04-22
          • 1970-01-01
          • 2011-07-14
          • 2015-03-23
          • 1970-01-01
          • 1970-01-01
          • 2016-02-15
          相关资源
          最近更新 更多