Python是一種高級編程語言,常用于數據分析、機器學習、人工智能等領域。其中,計算模型的評估指標是求得模型的AUC值,因此在Python應用中,求AUC值是一個重要的問題。我們可以使用Scikit-learn庫中的roc_auc_score函數來計算模型的AUC值。
import pandas as pd import numpy as np from sklearn import metrics y = np.array([1, 1, 2, 2]) pred = np.array([0.1, 0.4, 0.35, 0.8]) auc = metrics.roc_auc_score(y, pred) print("AUC值為:", auc)
首先需要導入pandas、numpy和sklearn庫。其中,y和pred是真實標簽和預測標簽,需要使用numpy中的array函數轉換為數組類型。然后,我們使用metrics中的roc_auc_score函數來計算AUC值,最后使用print函數輸出結果。
求得AUC值后,我們可以用roc_curve函數來繪制ROC曲線。ROC曲線展示了在不同閾值下,真正率(TPR)和假正率(FPR)的變化情況,ROC曲線的AUC值越大,說明模型的效果越好。
import matplotlib.pyplot as plt fpr, tpr, thresholds = metrics.roc_curve(y, pred) plt.plot(fpr, tpr, label='ROC curve (area = %0.2f)' % auc) plt.plot([0, 1], [0, 1], 'k--') plt.xlim([0.0, 1.0]) plt.ylim([0.0, 1.05]) plt.xlabel('False Positive Rate') plt.ylabel('True Positive Rate') plt.title('ROC Curve') plt.legend(loc="lower right") plt.show()
上述代碼中,我們使用matplotlib庫來繪制ROC曲線。roc_curve函數接受真實標簽和預測標簽,返回真正率、假正率和閾值三個值。使用plt.plot函數可繪制ROC曲線,其中auc參數為上一步計算的AUC值。接著,我們使用plt.plot函數繪制FPR為0到1,TPR為0到1的參考線。最后,我們使用plt.xlim、plt.ylim、plt.xlabel、plt.ylabel、plt.title和plt.legend函數來設置圖表的樣式。
經過以上步驟,我們成功求得模型的AUC值并繪制了ROC曲線,這將對機器學習模型的評估和優化提供有價值的信息。
下一篇vue 退出