Md.*_*rim 5 python machine-learning scikit-learn precision-recall
我用简单的逻辑回归预测问题,并试图绘制precision_recall_curve和roc_curve用predict_proba(X_test)。我检查了文档字符串,predict_proba但没有太多关于它是如何工作的细节。我每次都输入错误并检查y_test,predict_proba(X_test)不匹配。最后发现predict_proba()产生 2 列,人们使用第二列。
如果有人可以解释它如何产生两列及其重要性,那将非常有帮助。TIA。
Tur*_*us 5
predict_proba()产生形状 (N, k) 的输出,其中 N 是数据点的数量,k 是您尝试分类的类的数量。看来您有两个类,因此您有 2 列。假设您的标签(类)是 ["healthy", "diabetes"],如果预测数据点有 80% 的机会患有糖尿病,因此有 20% 的机会健康,那么该点的输出行将为 [0.2 , 0.8] 来反映这些概率。一般来说,您可以通过预测数组并获得第 k 类的概率model.predict_proba(X)[:,k-1]
至于绘图,您可以对 precision_recall_curve 执行以下操作:
predicted = logisticReg.predict_proba(X_test)
precision, recall, threshold = precision_recall_curve(y_test, predicted[:,1])
Run Code Online (Sandbox Code Playgroud)
对于中华民国:
predicted = logisticReg.predict_proba(X_test)
fpr, tpr, thresholds = precision_recall_curve(y_test, predicted[:,1])
Run Code Online (Sandbox Code Playgroud)
请注意,这将更改为多标签分类。您可以在此处的 sklearn 文档中找到一个示例
| 归档时间: |
|
| 查看次数: |
2618 次 |
| 最近记录: |