【问题标题】:Generate negative predictive value using cross_val_score in sklearn for model performance evaluation在 sklearn 中使用 cross_val_score 生成负预测值以进行模型性能评估
【发布时间】:2019-09-01 12:03:02
【问题描述】:

作为评估模型指标的一部分,我想在 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、recall、accuracy、F1 等),但不幸的是 NPV 没有...

【问题讨论】:

  • 你有二分类问题吗?如果是这样,为什么不反转标签定义?然后 PPV 将对应于您原始问题中的 NPV。
  • 这是一个聪明的解决方法,确实很有帮助!请将此作为您的答案,我会接受。

标签: python scikit-learn cross-validation metrics


【解决方案1】:

对于二元分类问题,您可以反转标签定义。然后 PPV 将对应于您原始问题中的 NPV

【讨论】:

    猜你喜欢
    • 2016-06-22
    • 2017-07-04
    • 2017-08-10
    • 2016-08-08
    • 1970-01-01
    • 2018-12-27
    • 2018-11-11
    • 2019-05-19
    • 2021-08-09
    相关资源
    最近更新 更多