![](/img/trans.png)
[英]Getting False positives and False negatives relevant datasets of confusion matrix?
[英]Getting relevant datasets of false negatives, false positives, true positive and true negative from confusion matrix
我对我的文本数据运行了一个随机分类器,并使用以下代码计算了一个混淆矩阵
#Plot the confusion matrix
plot_confusion_matrix(y_test, y_pred, normalize=False,figsize=(15,8))
上图是我的混淆矩阵的样子。 现在,我想查看一些属于假阴性、假阳性、真阳性和真阴性的数据集?。 到目前为止编写了以下代码:
import pandas as pd
df_test = pd.DataFrame(x_test)
df_test['case'] = np.where((y_test == 1) & (y_pred == 0), 'false negative', np.where((y_test == 0) & (y_pred == 1), 'false positive', 'correct prediction'))
df_test.head(5)
这段代码给出了假阴性、假阳性和正确的预测,但没有给出真阳性和真阴性。 知道如何修改此代码以便df_test
显示所有这些 label 结果数据集:假阴性、假阳性、真阳性、真阴性和正确预测吗? 提前致谢
您可以创建一个标签数组,然后使用 numpy 索引索引:
labels = np.array(['true negative', # y_test, y_pred = 0,0
'false positive', # y_test, y_pred = 0,1
'false negative', # y_test, y_pred = 1,0
'true positive' # y_test, y_pred = 1,1
])
df_test['case'] = labesl[y_test * 2 + y_pred]
您可以尝试在此处使用numpy.select
。 例如:
condlist = [
(y_test == 1) & (y_pred == 1), # True positive
(y_test == 1) & (y_pred == 0), # False Negative
(y_test == 0) & (y_pred == 0), # True negative
(y_test == 0) & (y_pred == 1), # False positive
]
choicelist = ['true positive', 'false negative', 'true negative', 'false positive']
df_test['case'] = np.select(condlist, choicelist)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.