使用sklearn中的cross_val_score生成负预测值以进行模型性能评估

时间:2019-04-10 23:14:47

标签: python scikit-learn cross-validation metrics

作为评估模型指标的一部分,我想在sklearn中使用cross_val_score生成模型的负预测值。

在下面的示例中,我在cross_val_score中设置了“得分”参数,以计算并打印模型的正预测值的“精度”(与10倍交叉验证的均值和标准差):

from sklearn.linear_model import LogisticRegression
from sklearn.model_selection import cross_val_score
log=LogisticRegression()    
log_prec = cross_val_score(log, x, y, cv=10, scoring='precision')
print("PPV(mean, std): ", np.round(log_prec.mean(), 2), np.round(log_prec.std(), 2))

如何使用上述代码行从cross_val_score方法中生成负的预测值/ NPV(预测的负数成为真实负数的可能性)?

sklearn提供了许多计分选项(例如:roc_auc,召回率,准确性,F1等),但不幸的是,NPV都不是这样。

1 个答案:

答案 0 :(得分:0)

对于二进制分类问题,您可以反转标签定义。那么PPV将对应于您原始问题中的NPV