gpt4 book ai didi

python - sklearn 中的 predict_proba 如何产生两列?它们的意义是什么?

转载 作者:太空宇宙 更新时间:2023-11-04 00:00:25 25 4
gpt4 key购买 nike

我使用简单的逻辑回归来预测问题,并尝试使用 predict_proba(X_test) 绘制 precision_recall_curveroc_curve。我检查了 predict_proba 的文档字符串,但没有太多关于它如何工作的细节。我每次都输入错误并检查 y_testpredict_proba(X_test) 不匹配。最终发现 predict_proba() 产生 2 列,人们使用第二列。

如果有人能解释它如何产生两列及其意义,那将非常有帮助。 TIA。

最佳答案

predict_proba() 生成形状为 (N, k) 的输出,其中 N 是数据点的数量,k 是您尝试分类的类的数量。看起来你有两个类,因此你有 2 列。假设你的标签(类别)是 ["healthy", "diabetes"],如果预测一个数据点有 80% 的机会患糖尿病,因此有 20% 的机会健康,那么该点的输出行将为 [0.2 , 0.8] 来反射(reflect)这些概率。通常,您可以使用 model.predict_proba(X)[:,k-1]

遍历预测数组并获得第 k 个类别的概率

就绘图而言,您可以为 precision_recall_curve 执行以下操作:

predicted = logisticReg.predict_proba(X_test)
precision, recall, threshold = precision_recall_curve(y_test, predicted[:,1])

对于中华民国:

predicted = logisticReg.predict_proba(X_test)
fpr, tpr, thresholds = precision_recall_curve(y_test, predicted[:,1])

请注意,这将针对多标签分类发生变化。您可以在 sklearn 文档中找到一个示例 here

关于python - sklearn 中的 predict_proba 如何产生两列?它们的意义是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55882873/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com