无法打印混淆矩阵第 2 行中的任何内容

问题描述 投票:0回答:1

任何人都可以帮忙吗! 我尝试打印混淆矩阵,但无法获取第 2 行中的值。我无法为训练的 KNN 模型打印第 2 行中的任何内容。

import matplotlib.pyplot as plt
from sklearn.neighbors import KNeighborsClassifier
from sklearn.metrics import accuracy_score, classification_report, confusion_matrix

def plot_confusion_matrix(y_test, y_pred):
    cm = confusion_matrix(y_test, y_pred)
    sns.heatmap(cm, annot=True, fmt="d", cmap="Blues")
    plt.xlabel("Predicted")
    plt.ylabel("Actual")
    plt.title("Confusion Matrix")
    plt.xticks([0, 1], ["Edible", "Poisonous"])
    plt.yticks([0, 1], ["Edible", "Poisonous"])
    plt.show()

target_names = ["Edible", "Poisonous"]

knn_classifier = KNeighborsClassifier(n_neighbors=5)
knn_classifier.fit(X_train, y_train)
y_pred = knn_classifier.predict(X_test)

print(classification_report(y_test, y_pred, target_names=target_names))

conf_matrix = confusion_matrix(y_test, y_pred)
plt.figure(figsize=(8, 6))
sns.heatmap(conf_matrix, annot=True, fmt='d', cmap='Blues', xticklabels=target_names, yticklabels=target_names)
plt.xlabel('Predicted')
plt.ylabel('Actual')
plt.title('Confusion Matrix')
plt.show()

accuracy = accuracy_score(y_test, y_pred)
print("Accuracy:", accuracy)```

python confusion-matrix
1个回答
0
投票

您似乎没有导入用于 Seaborn 可视化的 sns 模块。确保在脚本开头导入它。

在导入语句之后添加

import seaborn
作为 sns。这应该可以解决无法在 KNN 模型的第 2 行中打印任何内容的问题。

© www.soinside.com 2019 - 2024. All rights reserved.