在 機器學習 Studio 中評估模型效能 (傳統)
適用於:機器學習 Studio(傳統版)Azure 機器學習
重要
Machine Learning 工作室 (傳統) 的支援將於 2024 年 8 月 31 日結束。 建議您在該日期之前轉換成 Azure Machine Learning。
自 2021 年 12 月 1 日起,您將無法建立新的 Machine Learning 工作室 (傳統) 資源。 在 2024 年 8 月 31 日之前,您可以繼續使用現有的 Machine Learning 工作室 (傳統) 資源。
ML 工作室 (傳統) 文件即將淘汰,未來將不再更新。
在本文中,您可以瞭解可用來監視 機器學習 Studio 中模型效能的計量(傳統版)。 評估模型的效能是數據科學程式中的核心階段之一。 它指出數據集的評分(預測)有多成功,是由定型的模型。 機器學習 Studio(傳統版)透過其兩個主要機器學習模組支援模型評估:
這些模組可讓您瞭解模型在機器學習和統計數據中常用的一些計量執行方式。
評估模型應該與下列專案一起考慮:
提供三個常見的監督式學習案例:
- 迴歸
- 二元分類
- 多元分類
評估與交叉驗證
評估與交叉驗證是測量模型效能的標準方法。 它們都會產生評估計量,您可以檢查或比較其他模型的評估計量。
評估模型 預期評分數據集為輸入(或兩個,以防您想要比較兩個不同模型的效能)。 因此,您需要使用定型模型模組來定型模型,並使用評分模型模組對某些數據集進行預測,才能評估結果。 評估是以評分標籤/機率以及真實標籤為基礎,這些標籤都是評分模型模組的輸出。
或者,您可以使用交叉驗證,在輸入數據的不同子集上自動執行一些定型分數評估作業(10 倍)。 輸入數據會分割成 10 個部分,其中一個會保留用於測試,另一個則用於定型。 此程式會重複 10 次,且評估計量是平均的。 這有助於判斷模型將如何一般化為新的數據集。 交叉驗證模型模組會採用未定型的模型和一些加上標籤的數據集,並輸出 10 倍的評估結果,以及平均結果。
在下列各節中,我們將使用 評估模型 和 交叉驗證模型 模組來建置簡單的回歸和分類模型,並評估其效能。
評估回歸模型
假設我們想要使用尺寸、馬力、發動機規格等功能來預測汽車的價格。 這是典型的回歸問題,其中目標變數 (price) 是連續數值。 我們可以根據特定汽車的特徵值來調整線性回歸模型,可以預測該車的價格。 此回歸模型可用來為我們定型的相同數據集評分。 一旦我們有了預測的汽車價格,我們可以藉由查看預測與平均實際價格相差多少來評估模型效能。 為了說明這一點,我們使用 機器學習 Studio 中 [已儲存的數據集] 區段中提供的汽車價格數據 (原始) 數據集。
建立實驗
在 機器學習 Studio 中,將下列模組新增至您的工作區(傳統版):
連接埠,如圖 1 所示,並將定型模型模組的 [卷標] 資料行設定為價格。
圖 1. 評估回歸模型。
檢查評估結果
執行實驗之後,您可以按兩下評估模型模組的輸出埠,然後選取 [可視化] 以查看評估結果。 回歸模型的評估計量包括:平均絕對誤差、根平均絕對誤差、相對絕對誤差、相對平方誤差,以及判斷係數。
這裡的「錯誤」一詞代表預測值與 true 值之間的差異。 此差異的絕對值或平方通常計算來擷取所有實例的總誤差大小,因為在某些情況下,預測值與 true 值之間的差異可能是負數。 錯誤計量會根據其預測與 true 值的平均偏差,測量回歸模型的預測效能。 較低的錯誤值表示模型在進行預測時更精確。 整體錯誤計量為零表示模型完全符合數據。
判斷係數也稱為 R 平方,也是測量模型如何符合數據的標準方法。 它可以解譯為模型所說明的變化比例。 在此情況下,較高的比例較好,其中 1 表示完美適合。
圖 2. 線性回歸評估計量。
使用交叉驗證
如先前所述,您可以使用交叉驗證模型模組自動執行重複的定型、評分和評估。 在此情況下,您只需要數據集、未定型的模型和 交叉驗證模型 模組(請參閱下圖)。 您必須將標籤數據列設定為交叉驗證模型模組屬性中的價格。
圖 3. 交叉驗證回歸模型。
執行實驗之後,您可以按兩下交叉驗證模型模組的右側輸出埠來檢查評估結果。 這會為每個反覆專案提供計量的詳細檢視(折疊),以及每個計量的平均結果(圖 4)。
圖 4。 回歸模型的交叉驗證結果。
評估二元分類模型
在二元分類案例中,目標變數只有兩個可能的結果,例如:{0、1} 或 {false、true}、{negative、positive}。 假設您有一些人口統計和就業變數的成人員工數據集,而且系統會要求您預測收入水準,這是具有值 {“=50 K”、“<>50 K” 的二進位變數。 換句話說,負類別代表每年小於或等於 50 K 的員工,而正類別代表所有其他員工。 如同回歸案例,我們會定型模型、為某些數據評分,以及評估結果。 這裡的主要差異在於 機器學習 Studio (傳統) 計算和輸出的計量選擇。 為了說明收入層級預測案例,我們將使用 成人 數據集來建立 Studio(傳統)實驗,並評估兩級羅吉斯回歸模型的效能,這是常用的二元分類器。
建立實驗
在 機器學習 Studio 中將下列模組新增至您的工作區(傳統版):
連接埠,如圖 5 所示,並將定型模型模組的 [卷標] 資料行設定為收入。
圖 5。 評估二元分類模型。
檢查評估結果
執行實驗之後,您可以按兩下評估模型模組的輸出埠,然後選取 [可視化] 以查看評估結果 (圖 7)。 二元分類模型可用的評估計量包括:精確度、精確度、召回率、F1 分數和 AUC。 此外,模組會輸出混淆矩陣,其中顯示真判、誤判、誤判和真負數,以及 ROC、 精確度/召回率和 增益 曲線的數目。
精確度只是正確分類實例的比例。 評估分類器時,通常是您查看的第一個計量。 不過,當測試數據不平衡時(其中大部分實例屬於其中一個類別),或者您更感興趣的是其中一個類別的效能,精確度不會真正擷取分類器的有效性。 在收入層級分類案例中,假設您正在測試某些數據,其中99%的實例代表每年收入小於或等於50K的人員。 藉由預測所有實例的類別 「<=50K」 可以達到 0.99 精確度。 在這種情況下,分類器似乎正在做好整體工作,但實際上,它未能正確分類任何高收入個人(1%)。
因此,計算可擷取評估更特定層面的其他計量很有説明。 進入這類計量的詳細數據之前,請務必瞭解二元分類評估的混淆矩陣。 定型集中的類別標籤只能採用兩個可能的值,我們通常將其稱為正值或負值。 分類器正確預測的正數和負數實例分別稱為真陽性 (TP) 和真負數 (TN)。 同樣地,不正確地分類實例稱為誤判(FP)和誤判實例(FN)。 混淆矩陣只是一個數據表,其中顯示屬於這四個類別中每個類別的實例數目。 機器學習 Studio (傳統版) 會自動決定數據集中哪兩個類別是正類別。 如果類別標籤為布爾值或整數,則會將標示為正類別的 『true』 或 『1』 實例指派。 如果標籤是字串,例如使用收入數據集,則標籤會依字母順序排序,而第一個層級則選擇為負類別,而第二個層級則是正類別。
圖 6。 二元分類混淆矩陣。
回到收入分類問題,我們想要詢問數個評估問題,以協助我們瞭解使用的分類器效能。 一個自然的問題是:「在模型預測收入 >為50 K(TP+FP)的個人中,有多少人被正確分類(TP)? 您可以藉由查看 模型的精確度 來回答這個問題,這是正確分類的正數比例:TP/(TP+FP)。 另一個常見問題是“在收入為5萬(TP+FN)的所有高收入員工 >中,有多少人分類正確(TP)”。 這實際上是 回收率或真正的正率:分類器的 TP/(TP+FN)。 您可能會注意到精確度和召回率之間有明顯的取捨。 例如,假設有相對平衡的數據集,預測大部分是正數實例的分類器會有較高的召回率,但相當低的精確度,因為許多負數實例會被誤分類,導致大量的誤判。 若要查看這兩個計量變化的繪圖,您可以在評估結果輸出頁面(圖 7 的左上方部分)中 單擊 PRECISION/RECALL 曲線。
圖 7。 二元分類評估結果。
常用的另一個相關計量是 F1 分數,它會同時考慮精確度和召回率。 這是這兩個計量的調和平均數,計算方式如下:F1 = 2(精確度 x 回收)/(精確度 + 召回率)。 F1 分數是總結單一數字評估的好方法,但最好同時查看精確度和召回率,以進一步瞭解分類器的行為。
此外,人們還可以檢查接收者操作特性 (ROC) 曲線中的真正率和曲線下相對應區域 (AUC) 值的誤判率。 這個曲線越接近左上角,分類器的效能就越好(也就是最大化真率,同時將誤判率降至最低)。 接近繪圖對角線的曲線,由分類器產生,這些曲線傾向於進行接近隨機猜測的預測。
使用交叉驗證
如同回歸範例,我們可以執行交叉驗證,以重複定型、評分及評估數據的不同子集。 同樣地,我們也可以使用 交叉驗證模型 模組、未定型的羅吉斯回歸模型和數據集。 卷標數據行必須設定為交叉驗證模型模組屬性中的收入。 執行實驗並按一下交叉驗證模型模組的右側輸出埠之後,除了每個折疊的平均值和標準偏差之外,我們可以看到每個折疊的二元分類計量值。
圖 8。 交叉驗證二元分類模型。
圖 9。 二元分類器的交叉驗證結果。
評估多類別分類模型
在此實驗中,我們將使用熱門 鳶尾花數據集,其中包含鳶尾 花植物三種不同類型(類別)的實例。 每個實例都有四個特徵值(花瓣長度/寬度和花瓣長度/寬度)。 在先前的實驗中,我們使用相同的數據集來定型和測試模型。 在這裡,我們將使用 分割數據 模組來建立兩個數據子集、在第一個數據上定型,並在第二個上評分和評估。 鳶尾花數據集可在 UCI 機器學習 存放庫公開使用,而且可以使用匯入數據模組下載。
建立實驗
在 機器學習 Studio 中,將下列模組新增至您的工作區(傳統版):
連接埠,如圖 10 所示。
將訓練模型模組的標籤數據行索引設定為 5。 數據集沒有標題數據列,但我們知道類別標籤位於第五個數據行中。
點選單擊 [匯入資料] 模組,然後透過 HTTP 將 [資料源] 屬性設定為 [Web URL],並將 [URL] 設定為 http://archive.ics.uci.edu/ml/machine-learning-databases/iris/iris.data。
設定分割數據模組中要用於定型的實例分數(例如 0.7)。
圖 10。 評估多類別分類器
檢查評估結果
執行實驗,然後按兩下評估模型的輸出埠。 在此案例中,評估結果會以混淆矩陣的形式呈現。 矩陣會顯示這三個類別的實際與預測實例。
圖 11。 多元分類評估結果。
使用交叉驗證
如先前所述,您可以使用交叉驗證模型模組自動執行重複的定型、評分和評估。 您需要數據集、未定型的模型和 交叉驗證模型 模組(請參閱下圖)。 同樣地,您必須設定交叉驗證模型模組的標籤數據列(在此案例中為數據行索引 5)。 執行實驗並按一下交叉驗證模型的右輸出埠之後,您可以檢查每個折疊的計量值,以及平均值和標準偏差。 此處顯示的計量類似於二元分類案例中所討論的計量。 不過,在多類別分類中,計算真正的正數/負數和誤判/負數是依據每個類別進行計算,因為沒有整體正數或負類別。 例如,當計算 'Iris-setosa' 類別的有效位數或召回率時,假設這是正類別,而所有其他類別都是負數。
圖 12. 交叉驗證多類別分類模型。
圖 13. 多類別分類模型的交叉驗證結果。