运行混淆矩阵时出现NameError:name 'predictions'未定义,求协助
解决NameError: name 'predictions' is not defined错误
错误原因
你调用confusion_matrix(y_test,predictions)时,变量predictions未定义。训练完决策树模型后,你没有用模型对测试集做预测来生成这个变量。
修正方法
在计算混淆矩阵前,先调用训练好的dtree模型的predict()方法,传入测试集特征X_test生成预测结果,赋值给predictions变量。
修正后的关键代码片段
# 评估决策树 # 生成测试集预测结果 predictions = dtree.predict(X_test) # 创建混淆矩阵 from sklearn.metrics import confusion_matrix print(confusion_matrix(y_test,predictions))
完整修正后的相关代码块
# 训练决策树模型 from sklearn.tree import DecisionTreeClassifier dtree = DecisionTreeClassifier() dtree.fit(X_train,y_train) # 评估决策树 # 生成测试集预测结果 predictions = dtree.predict(X_test) # 创建混淆矩阵 from sklearn.metrics import confusion_matrix print(confusion_matrix(y_test,predictions))
内容的提问来源于stack exchange,提问作者Pranav
相关产品推荐
相关产品推荐

