0

我正在使用决策树算法从测试文件中预测标签。但是,我需要打印包含该标签的完整行或单个单元格。我正在处理的代码如下所述。

import numpy as np
import csv
from sklearn.metrics import accuracy_score,confusion_matrix
from sklearn.tree import DecisionTreeClassifier
from sklearn import tree


path = "train_names.csv"
file=open(path)
reader = csv.reader(file)
data = np.asarray(list(reader))  
#train data
names_train=data[1:,[0,1,2,3,4]]
label_train=data[1:,[5]]

#test data
names_test=data1[1:,[0,1,2,3,4]]
label_test=data1[1:,[5]]

decisionTreeClassifier = DecisionTreeClassifier()
decisionTreeClassifier.fit(names_train,label_train)
predictions = decisionTreeClassifier.predict(names_test)
print("Accuracy: ",accuracy_score(label_test,predictions))

for i in range(0,len(names_test)):
  print (predictions[i])
4

2 回答 2

0

只需要迭代输入值(names_test)和预测输出(predictions)。尝试这个!

predictions = decisionTreeClassifier.predict(names_test)

for x,y_pred in zip(names_test, predictions):
    print(x,y_pred)
于 2019-07-18T16:02:39.263 回答
0

你的意思是说你想打印你的预测输出吗?如果是这样,你可以简单地调用print(predictions)或者你可以sklearn通过confusion_matrix导入这个来使用

from sklearn.metrics import confusion_matrix
cm = confusion_matrix(label_test, predictions)
print(cm)
# your X-axis is the predicted while Y-axis is the truth

您还可以使用此打印模型的分数

decisionTreeClassifier.score(names_test, label_test)
于 2019-07-17T14:14:25.033 回答