【发布时间】:2020-10-12 06:49:14
【问题描述】:
我计算误报率和误报率。我正在使用这些技术:
cnf_matrix=confusion_matrix(Ytest, y_pred)
print(cnf_matrix)
FP = cnf_matrix.sum(axis=0) - np.diag(cnf_matrix)
FN = cnf_matrix.sum(axis=1) - np.diag(cnf_matrix)
TP = np.diag(cnf_matrix)
TN = cnf_matrix.sum() - (FP + FN + TP)
FP = FP.astype(float)
print('FP: '+str(FP))
FN = FN.astype(float)
print('Fn: '+str(FN))
TP = TP.astype(float)
print('FN: '+str(FN))
TN = TN.astype(float)
print('TN: '+str(TN))
# false positive rate
FPR = FP/(FP+TN)
print('FPR: '+str(FPR))
# False negative rate
FNR = FN/(TP+FN)
print('FNR: '+str(FNR))
我得到了这些向量:
FPR: [0. 0.01666667 0. ]
FNR: [0. 0. 0.03448276]
但是,我只需要获取一个值,而不是向量。 如何得到它?
【问题讨论】:
-
是
confusion_matrixsklearn.metrics.confusion_matrix? -
是的,它是 sklearn.metrics.confusion_matrix
-
你有几节课?如果您期望一个值,则表明您只有两个类,所以我不确定您为什么会得到混淆矩阵的切片。
-
我有三门课
-
那么,你认为“积极”还是“消极”是什么?
标签: python scikit-learn