交叉驗證模型
本文說明如何在 Azure 機器學習 設計工具中使用交叉驗證模型元件。 交叉驗證 是機器學習中經常用來評估數據集的變化性,以及透過該數據定型之任何模型的可靠性的技術。
交叉驗證模型元件會接受標示數據集的輸入,以及未定型的分類或回歸模型。 它會將數據集分成一些子集(折疊)、在每個折疊上建置模型,然後針對每個折疊傳回一組正確性統計數據。 藉由比較所有折疊的精確度統計數據,您可以解譯數據集的品質。 然後,您可以瞭解模型是否容易受到數據的變化的影響。
交叉驗證模型也會傳回數據集的預測結果和機率,讓您可以評估預測的可靠性。
交叉驗證的運作方式
交叉驗證會隨機將定型數據分割成折疊。
如果您先前尚未分割數據集,演算法預設為10倍。 若要將數據集分割成不同的折疊數目,您可以使用 Partition 和 Sample 元件,並指出要使用的折疊數目。
元件會將折疊 1 的數據放在一邊,以用於驗證。 (這有時被稱為 鑒效組折疊。元件會使用其餘折疊來定型模型。
例如,如果您建立五個折疊,元件會在交叉驗證期間產生五個模型。 元件會使用五分之四的數據來定型每個模型。 它會在剩餘的五分之一上測試每個模型。
在測試每個折疊的模型期間,元件會評估多個精確度統計數據。 元件所使用的統計數據取決於您正在評估的模型類型。 不同的統計數據可用來評估分類模型與回歸模型。
當所有折疊的建置和評估程式完成時,交叉驗證模型會產生一組效能計量和所有數據的評分結果。 檢閱這些計量,以查看任何單一折疊是否有高或低精確度。
交叉驗證的優點
評估模型的不同和常見方式是使用 分割數據將數據分割成定型和測試集,然後在定型數據上驗證模型。 但交叉驗證提供一些優點:
交叉驗證會使用更多測試數據。
交叉驗證會使用較大的數據空間中的指定參數來測量模型的效能。 也就是說,交叉驗證會使用整個定型數據集來進行定型和評估,而不是部分。 相較之下,如果您使用隨機分割所產生的數據來驗證模型,通常只會評估 30% 或更少的可用數據模型。
不過,由於交叉驗證會透過較大的數據集多次定型和驗證模型,因此需要更密集的運算。 比在隨機分割上驗證需要更長的時間。
交叉驗證會同時評估數據集和模型。
交叉驗證不只是測量模型的精確度。 它也可讓您了解數據集的代表性,以及模型對數據變化的敏感性。
如何使用交叉驗證模型
如果您的數據集很大,交叉驗證可能需要很長的時間才能執行。 因此,您可以在建置和測試模型的初始階段使用交叉驗證模型。 在該階段中,您可以評估模型參數的優度(假設計算時間是可容忍的)。 接著,您可以使用已建立的參數搭配 定型模型和評估模型 元件,來定型和 評估模型 。
在此案例中,您會使用交叉驗證模型來定型和測試模型。
將交叉驗證模型元件新增至管線。 您可以在 Azure 機器學習 設計工具的模型評分與評估類別中找到它。
連接任何分類或回歸模型的輸出。
例如,如果您使用 兩個類別提升判定樹 進行分類,請使用您想要的參數來設定模型。 然後,將連接器從 分類器的未定型模型 埠拖曳至交叉驗證模型的相符埠。
提示
您不需要定型模型,因為交叉驗證模型會自動將模型定型為評估的一部分。
在 交叉驗證模型的數據集 埠上,連接任何標示的定型數據集。
在交叉驗證模型的右面板中,按兩下 [ 編輯] 資料行。 選取包含類別標籤或可預測值的單一數據行。
如果您想要在相同數據上連續執行重複交叉驗證的結果,請設定 Random 種子參數的值。
提交管線。
結果
完成所有反覆項目之後,交叉驗證模型會建立整個數據集的分數。 它也會建立效能計量,讓您可用來評估模型的品質。
評分結果
元件的第一個輸出會提供每個數據列的源數據,以及一些預測值和相關機率。
若要檢視結果,請在管線中,以滑鼠右鍵按兩下 [交叉驗證模型] 元件。 選取 [ 可視化評分結果]。
新資料行名稱 | 描述 |
---|---|
評分標籤 | 此數據行會在數據集結尾新增。 它包含每個數據列的預測值。 |
評分機率 | 此數據行會在數據集結尾新增。 它會指出評分標籤中值的估計機率。 |
折疊編號 | 表示交叉驗證期間,每個數據列指派給之折疊之以零起始的索引。 |
評估結果
第二份報告會依折迭分組。 請記住,在執行期間,交叉驗證模型會隨機將定型數據分割成 n 折疊(預設為 10)。 在數據集的每個反覆專案中,交叉驗證模型會使用一個折疊做為驗證數據集。 它會使用其餘 n-1 折疊來定型模型。 每個 n 模型都會針對所有其他折疊中的數據進行測試。
在此報表中,折疊會以遞增順序依索引值列出。 若要排序任何其他數據行,您可以將結果儲存為數據集。
若要檢視結果,請在管線中,以滑鼠右鍵按兩下 [交叉驗證模型] 元件。 選取 [ 依折迭將評估結果可視化]。
資料行名稱 | 描述 |
---|---|
折疊編號 | 每個折疊的標識碼。 如果您建立五個折疊,則會有五個數據子集,編號為 0 到 4。 |
折疊的範例數目 | 指派給每個折疊的數據列數目。 它們應該大致相等。 |
元件也包含每個折疊的下列計量,視您正在評估的模型類型而定:
分類模型:精確度、召回率、F 分數、AUC、精確度
回歸模型:平均絕對誤差、根平均平方誤差、相對絕對誤差、相對平方誤差和判斷係數
技術注意事項
在進行交叉驗證之前,最好先將數據集正規化。
交叉驗證模型比使用隨機分割數據集來驗證模型更耗費大量運算,而且需要更長的時間才能完成。 原因是交叉驗證模型會定型並多次驗證模型。
當您使用交叉驗證來測量模型的精確度時,不需要將數據集分割成定型和測試集。