我试图在python中的knn-classifier上创建一个混淆矩阵,但是标记的类是错误的。
数据集的classes属性是2(对于良性)和4(对于恶性),但是当我绘制混淆矩阵时,所有标签都是2。我使用的代码是:]]
数据源
:http://archive.ics.uci.edu/ml/datasets/Breast+Cancer+Wisconsin+%28Diagnostic%29来自UCI的乳腺癌威斯康星州(诊断)数据集的KNN分类器:
data = pd.read_csv('/breast-cancer-wisconsin.data') data.replace('?', 0, inplace=True) data.drop('id', 1, inplace = True) X = np.array(data.drop(' class ', 1)) Y = np.array(data[' class ']) X_train, X_test, Y_train, Y_test = train_test_split(X,Y,test_size=0.2) clf = neighbors.KNeighborsClassifier() clf.fit(X_train, Y_train) accuracy = clf.score(X_test, Y_test)
情节混淆矩阵
from sklearn.metrics import plot_confusion_matrix
disp = plot_confusion_matrix(clf, X_test, Y_test,
display_labels=Y,
cmap=plt.cm.Blues,)
我试图在python中的knn-classifier上创建一个混淆矩阵,但是标记的类是错误的。数据集的classes属性为2(对于良性)和4(对于恶性),但是当I ...
问题是,您要使用display_labels
指定Y
参数,而该参数应该只是用于绘图的目标名称