【发布时间】:2020-08-28 20:39:59
【问题描述】:
我有下面的代码来生成混淆矩阵,它生成 heatmap 和 accuracy_score
来源
代码
import pandas as pd
import seaborn as sn
import matplotlib.pyplot as plt
from sklearn.metrics import accuracy_score
from sklearn import metrics
data = pd.read_excel(r"\Confusion Matrix.xlsx")
df = pd.DataFrame(data)
confusion_matrix = pd.crosstab(df['Actual'], df['Pred'], rownames=['Actual'], colnames=['Predicted'], margins = True)
sn.heatmap(confusion_matrix, annot=True)
plt.show()
accuray_score_in_percentage = accuracy_score(['Actual'], ['Pred'])
accuray_score_in_count = accuracy_score(['Actual'], ['Pred'], normalize=False)
print('The Precentage Accuracy is : ', accuray_score_in_percentage)
print('The Count of corrects are : ', accuray_score_in_count)
输出
从上面的输出你可以看到 百分比精度是:0.0 和 正确的计数是:0 但它必须是 百分比精度是: 0.3 和 正确次数为 : 3。有人可以帮我修改代码,以便它显示正确的准确度分数。
问候,
Bharath Vikas
【问题讨论】:
-
调用“accuracy_score”时,您忘记提及数据框。您只提到了列名。
标签: python pandas confusion-matrix