【发布时间】: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