
- 機器學習基礎
- ML - 首頁
- ML - 簡介
- ML - 入門
- ML - 基本概念
- ML - 生態系統
- ML - Python庫
- ML - 應用
- ML - 生命週期
- ML - 所需技能
- ML - 實現
- ML - 挑戰與常見問題
- ML - 限制
- ML - 現實案例
- ML - 資料結構
- ML - 數學基礎
- ML - 人工智慧
- ML - 神經網路
- ML - 深度學習
- ML - 獲取資料集
- ML - 分類資料
- ML - 資料載入
- ML - 資料理解
- ML - 資料準備
- ML - 模型
- ML - 監督學習
- ML - 無監督學習
- ML - 半監督學習
- ML - 強化學習
- ML - 監督學習 vs. 無監督學習
- 機器學習資料視覺化
- ML - 資料視覺化
- ML - 直方圖
- ML - 密度圖
- ML - 箱線圖
- ML - 相關矩陣圖
- ML - 散點矩陣圖
- 機器學習統計學
- ML - 統計學
- ML - 均值、中位數、眾數
- ML - 標準差
- ML - 百分位數
- ML - 資料分佈
- ML - 偏度和峰度
- ML - 偏差和方差
- ML - 假設
- ML中的迴歸分析
- ML - 迴歸分析
- ML - 線性迴歸
- ML - 簡單線性迴歸
- ML - 多元線性迴歸
- ML - 多項式迴歸
- ML中的分類演算法
- ML - 分類演算法
- ML - 邏輯迴歸
- ML - K近鄰演算法 (KNN)
- ML - 樸素貝葉斯演算法
- ML - 決策樹演算法
- ML - 支援向量機
- ML - 隨機森林
- ML - 混淆矩陣
- ML - 隨機梯度下降
- ML中的聚類演算法
- ML - 聚類演算法
- ML - 基於質心的聚類
- ML - K均值聚類
- ML - K中心點聚類
- ML - 均值漂移聚類
- ML - 層次聚類
- ML - 基於密度的聚類
- ML - DBSCAN聚類
- ML - OPTICS聚類
- ML - HDBSCAN聚類
- ML - BIRCH聚類
- ML - 親和傳播
- ML - 基於分佈的聚類
- ML - 凝聚層次聚類
- ML中的降維
- ML - 降維
- ML - 特徵選擇
- ML - 特徵提取
- ML - 向後消除法
- ML - 前向特徵構造
- ML - 高相關性過濾器
- ML - 低方差過濾器
- ML - 缺失值比例
- ML - 主成分分析
- 強化學習
- ML - 強化學習演算法
- ML - 利用與探索
- ML - Q學習
- ML - REINFORCE演算法
- ML - SARSA強化學習
- ML - 演員-評論家方法
- 深度強化學習
- ML - 深度強化學習
- 量子機器學習
- ML - 量子機器學習
- ML - 使用Python的量子機器學習
- 機器學習雜項
- ML - 效能指標
- ML - 自動工作流
- ML - 提升模型效能
- ML - 梯度提升
- ML - 自舉匯聚 (Bagging)
- ML - 交叉驗證
- ML - AUC-ROC曲線
- ML - 網格搜尋
- ML - 資料縮放
- ML - 訓練和測試
- ML - 關聯規則
- ML - Apriori演算法
- ML - 高斯判別分析
- ML - 成本函式
- ML - 貝葉斯定理
- ML - 精度和召回率
- ML - 對抗性
- ML - 堆疊
- ML - 輪次
- ML - 感知器
- ML - 正則化
- ML - 過擬合
- ML - P值
- ML - 熵
- ML - MLOps
- ML - 資料洩露
- ML - 機器學習的商業化
- ML - 資料型別
- 機器學習 - 資源
- ML - 快速指南
- ML - 速查表
- ML - 面試問題
- ML - 有用資源
- ML - 討論
機器學習 - AUC-ROC曲線
AUC-ROC曲線是機器學習中常用的效能指標,用於評估二元分類模型的效能。它是真陽性率 (TPR) 與假陽性率 (FPR) 在不同閾值下的曲線圖。
什麼是AUC-ROC曲線?
AUC-ROC曲線是二元分類模型在不同閾值下效能的圖形表示。它在y軸上繪製真陽性率 (TPR),在x軸上繪製假陽性率 (FPR)。TPR是模型正確識別出的實際陽性案例的比例,而FPR是模型錯誤地將實際陰性案例分類為陽性案例的比例。
AUC-ROC曲線是評估二元分類模型整體效能的有用指標,因為它考慮了不同閾值下TPR和FPR之間的權衡。曲線下面積 (AUC) 代表了模型在所有可能的閾值下的整體效能。完美的分類器AUC為1.0,而隨機分類器的AUC為0.5。
為什麼AUC-ROC曲線很重要?
AUC-ROC曲線是機器學習中重要的效能指標,因為它提供了模型區分陽性和陰性案例能力的綜合衡量。
當資料不平衡時,它特別有用,這意味著一個類別比另一個類別普遍得多。在這種情況下,僅靠準確率可能無法很好地衡量模型的效能,因為它可能會被多數類別的普遍性所歪曲。
AUC-ROC曲線透過考慮TPR和FPR,提供了對模型效能更均衡的視角。
在Python中實現AUC ROC曲線
現在我們瞭解了AUC-ROC曲線是什麼以及為什麼它很重要,讓我們看看如何在Python中實現它。我們將使用Scikit-learn庫來構建二元分類模型並繪製AUC-ROC曲線。
首先,我們需要匯入必要的庫並載入資料集。在這個例子中,我們將使用scikit-learn中的乳腺癌資料集。
示例
import numpy as np import pandas as pd from sklearn.datasets import load_breast_cancer from sklearn.model_selection import train_test_split from sklearn.linear_model import LogisticRegression from sklearn.metrics import roc_auc_score, roc_curve import matplotlib.pyplot as plt # load the dataset data = load_breast_cancer() X = data.data y = data.target # split the data into train and test sets X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
接下來,我們將把邏輯迴歸模型擬合到訓練集,並在測試集上進行預測。
# fit a logistic regression model lr = LogisticRegression() lr.fit(X_train, y_train) # make predictions on the test set y_pred = lr.predict_proba(X_test)[:, 1]
進行預測後,我們可以使用scikit-learn中的`roc_auc_score()`函式計算AUC-ROC分數。
# calculate the AUC-ROC score auc_roc = roc_auc_score(y_test, y_pred) print("AUC-ROC Score:", auc_roc)
這將輸出邏輯迴歸模型的AUC-ROC分數。
最後,我們可以使用`roc_curve()`函式和matplotlib庫繪製ROC曲線。
# plot the ROC curve fpr, tpr, thresholds = roc_curve(y_test, y_pred) plt.plot(fpr, tpr) plt.title('ROC Curve') plt.xlabel('False Positive Rate') plt.ylabel('True Positive Rate') plt.show()
輸出
執行此程式碼時,它將繪製邏輯迴歸模型的ROC曲線。

此外,它還將在終端上列印AUC-ROC分數:
AUC-ROC Score: 0.9967245332459875