简体   繁体   English

SkLearn 中的混淆矩阵显示错误

[英]Confusion Matrix in SkLearn showing error

I am trying to plot a confusion matrix for my classification model given the iris dataset.我正在尝试为给定 iris 数据集的分类模型绘制混淆矩阵。 However, I keep getting an error.但是,我不断收到错误消息。 I hope someone can guide.Thanks希望有人指导谢谢

import numpy as np
from sklearn import datasets
from sklearn.model_selection import train_test_split
from sklearn import tree
from sklearn import metrics
from sklearn.metrics import confusion_matrix

def train_and_predict(train_input_features, train_outputs, prediction_features):
    classifier=tree.DecisionTreeClassifier()
    classifier.fit(train_input_features,train_outputs)
    predictions=classifier.predict(prediction_features)


iris = datasets.load_iris()
X_train, X_test, y_train, y_test = train_test_split(iris.data, iris.target,test_size=0.3, random_state=0)

y_pred = train_and_predict(X_train, y_train, X_test)
print(confusion_matrix(y_test, predictions))

OUT: NameError: name 'predictions' is not defined OUT:NameError:未定义名称“预测”

I found out that I needed to paste the code within the function,ie:我发现我需要在函数中粘贴代码,即:

def train_and_predict(train_input_features, train_outputs, prediction_features):
    classifier=tree.DecisionTreeClassifier()
    classifier.fit(train_input_features,train_outputs)
    predictions=classifier.predict(prediction_features)
    print(predictions)
    print('Confusion matrix\n',confusion_matrix(y_test,classifier.predict(X_test)))

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM