pandas 基于python的多类随机森林混淆矩阵的打印

1qczuiv0  于 2022-12-25  发布在  Python
关注(0)|答案(1)|浏览(185)

我正在使用sklearn。RandomForestClassifier,我有11个类。我的数据在 Dataframe 中,所有变量都是热编码的。类是字符串,如“Potato”,“Tomato”,“Straberry”等。
当我尝试打印混淆矩阵时,我得到了以下内容:

print(pd.crosstab(y_test, y_pred))

Error: If using all scalar values, you must pass an index

传递索引时:

print(pd.crosstab(y_test, y_pred, index = [0]))

Error:crosstab() got multiple values for argument 'index'

解决这一问题的最佳方式是什么?

oalqel3c

oalqel3c1#

这个错误说你需要传递参数“index”给crosstab,而不是一个索引,它可以帮助你遍历一个列表。你可以找到正确的方法和更多的细节here
您还可以使用以下代码在Sci-Kit Learn中绘制混淆矩阵
这段代码从用于混淆矩阵的训练数据中获取所有标签

label=y_train.unique()
label=np.sort(label)

此代码导入混淆矩阵并绘制它。plt.cm.Blues用于配色方案,clf是您的分类器,请确保使用您命名的分类器更改它。

from sklearn.metrics import plot_confusion_matrix
cm=plot_confusion_matrix(clf,X_test, y_test,labels=label,cmap=plt.cm.Blues)

相关问题