我正在列印分類報告。我正在使用的代碼是列印 ROC 曲線的 AUC 值,而不是精確召回曲線(它只是繪制圖表)。如何獲得精確召回曲線的 AUC 值?
df_test = pd.read_csv("D:/a.csv")
df_testPred = pd.read_csv("D:/b.csv")
y_true1 = df_test["anomaly"].values[:-1]
y_score1 = df_testPred["anomaly_scores"].values[:-1]
y_pred1 = df_testPred["anomaly"].values[:-1].astype(int)
ap1 = average_precision_score(y_true1, y_score1)
auc1 = roc_auc_score(y_true1, y_score1)
print(f"ap: {ap1}")
print(f"AUC: {auc1}")
print(classification_report(y_true1, y_pred1))
precision1, recall1, thresholds1 = precision_recall_curve(y_true1, y_score1)
#plt.plot([0, 1], [0, 1],'r--')
plt.plot(recall1, precision1)
uj5u.com熱心網友回復:
由于您已經計算了precision1and recall1,您可以簡單地使用相關的 scikit-learn 函式auc(docs):
from sklearn.metrics import auc
auc_score = auc(recall1, precision1)
請參閱不平衡分類的 ROC 曲線和精確召回曲線(盡管根據我的經驗,與更常見的 ROC AUC 相比,精確召回 AUC 的使用并不廣泛)。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/462417.html
標籤:Python 机器学习 scikit-学习 奥克 精确召回
