将Iris数据集目标名称应用于混淆矩阵



晚上好,我已经为虹膜数据集做了KNN分类器方法,我可以显示所有代码,但我认为发布完整代码并不重要,只有一个片段我不明白,那就是如何将虹膜目标名称分配到混淆矩阵?这是混淆矩阵

from sklearn.metrics import confusion_matrix
print(confusion_matrix(y_test, prediction))

返回矩阵

[[13  0  0]
[ 0 15  1]
[ 0  0  9]]

我在网上搜索过混淆矩阵

我知道还有额外的参数标签,所以我尝试了

from sklearn.metrics import confusion_matrix
class_names =iris_dataset["target_names"]
print(confusion_matrix(y_test, prediction,labels=class_names))

但我得到了以下错误:

ValueError: At least one label specified must be in y_true

请帮我怎么修?

我几个月前去过那里,这里有一段代码,试着根据您的需求进行调整;(original是原始数据集iris数据集预测是对分类进行的预测

我希望这对你有帮助!

from sklearn.metrics import confusion_matrix
from mlxtend.plotting import plot_confusion_matrix
myarray = np.asarray(original)
matrix = confusion_matrix((myarray),(predictions+1))
class_names = ['Iris-setosa', 'Iris-versicolor', 'Iris-virginica']
fig, ax = plot_confusion_matrix(conf_mat=matrix,
show_absolute=True,
show_normed=False,
colorbar=True,
class_names=class_names)
plt.title('Confusion Matrix')
plt.show()

最新更新