
分类
|
183
在
R
中,可以用
conf_mat
计算出这三个指标:
# 精确度
conf_mat[1, 1] / sum(conf_mat[,1])
# 召回率
conf_mat[1, 1] / sum(conf_mat[1,])
# 特异度
conf_mat[2, 2] / sum(conf_mat[2,])
下面是
Python
中计算这三个指标的代码:
conf_mat = confusion_matrix(y, logit_reg.predict(X))
print('Precision', conf_mat[0, 0] / sum(conf_mat[:, 0]))
print('Recall', conf_mat[0, 0] / sum(conf_mat[0, :]))
print('Specificity', conf_mat[1, 1] / sum(conf_mat[1, :]))
precision_recall_fscore_support(y, logit_reg.predict(X),
labels=['default', 'paid off'])
在
scikit-learn
中,有一个定制方法
precision_recall_fscore_support
,可以同时计算出
精确度和召回率
/
特异度。
5.4.4
ROC
曲线
可以看出,在召回率和特异度之间要有所权衡。要捕获更多的
1
,通常意味着会有更多的
0
被误分类为
1
。理想的分类器会非常好地将
1
区分出来,不会将更多的
0
误分类为
1
。
对这种权衡的度量方式是接受者操作特征曲线 ...