共用方式為


交叉驗證模型

本文說明如何在 Azure 機器學習 設計工具中使用交叉驗證模型元件。 交叉驗證 是機器學習中經常用來評估數據集的變化性,以及透過該數據定型之任何模型的可靠性的技術。

交叉驗證模型元件會接受標示數據集的輸入,以及未定型的分類或回歸模型。 它會將數據集分成一些子集(折疊)、在每個折疊上建置模型,然後針對每個折疊傳回一組正確性統計數據。 藉由比較所有折疊的精確度統計數據,您可以解譯數據集的品質。 然後,您可以瞭解模型是否容易受到數據的變化的影響。

交叉驗證模型也會傳回數據集的預測結果和機率,讓您可以評估預測的可靠性。

交叉驗證的運作方式

  1. 交叉驗證會隨機將定型數據分割成折疊。

    如果您先前尚未分割數據集,演算法預設為10倍。 若要將數據集分割成不同的折疊數目,您可以使用 Partition 和 Sample 元件,並指出要使用的折疊數目。

  2. 元件會將折疊 1 的數據放在一邊,以用於驗證。 (這有時被稱為 鑒效組折疊。元件會使用其餘折疊來定型模型。

    例如,如果您建立五個折疊,元件會在交叉驗證期間產生五個模型。 元件會使用五分之四的數據來定型每個模型。 它會在剩餘的五分之一上測試每個模型。

  3. 在測試每個折疊的模型期間,元件會評估多個精確度統計數據。 元件所使用的統計數據取決於您正在評估的模型類型。 不同的統計數據可用來評估分類模型與回歸模型。

  4. 當所有折疊的建置和評估程式完成時,交叉驗證模型會產生一組效能計量和所有數據的評分結果。 檢閱這些計量,以查看任何單一折疊是否有高或低精確度。

交叉驗證的優點

評估模型的不同和常見方式是使用 分割數據將數據分割成定型和測試集,然後在定型數據上驗證模型。 但交叉驗證提供一些優點:

  • 交叉驗證會使用更多測試數據。

    交叉驗證會使用較大的數據空間中的指定參數來測量模型的效能。 也就是說,交叉驗證會使用整個定型數據集來進行定型和評估,而不是部分。 相較之下,如果您使用隨機分割所產生的數據來驗證模型,通常只會評估 30% 或更少的可用數據模型。

    不過,由於交叉驗證會透過較大的數據集多次定型和驗證模型,因此需要更密集的運算。 比在隨機分割上驗證需要更長的時間。

  • 交叉驗證會同時評估數據集和模型。

    交叉驗證不只是測量模型的精確度。 它也可讓您了解數據集的代表性,以及模型對數據變化的敏感性。

如何使用交叉驗證模型

如果您的數據集很大,交叉驗證可能需要很長的時間才能執行。 因此,您可以在建置和測試模型的初始階段使用交叉驗證模型。 在該階段中,您可以評估模型參數的優度(假設計算時間是可容忍的)。 接著,您可以使用已建立的參數搭配 定型模型和評估模型 元件,來定型和 評估模型

在此案例中,您會使用交叉驗證模型來定型和測試模型。

  1. 將交叉驗證模型元件新增至管線。 您可以在 Azure 機器學習 設計工具的模型評分與評估類別中找到它。

  2. 連接任何分類或回歸模型的輸出。

    例如,如果您使用 兩個類別提升判定樹 進行分類,請使用您想要的參數來設定模型。 然後,將連接器從 分類器的未定型模型 埠拖曳至交叉驗證模型的相符埠。

    提示

    您不需要定型模型,因為交叉驗證模型會自動將模型定型為評估的一部分。

  3. 交叉驗證模型的數據集 埠上,連接任何標示的定型數據集。

  4. 在交叉驗證模型的右面板中,按兩下 [ 編輯] 資料行。 選取包含類別標籤或可預測值的單一數據行。

  5. 如果您想要在相同數據上連續執行重複交叉驗證的結果,請設定 Random 種子參數的值

  6. 提交管線。

  7. 如需報告的描述,請參閱結果一節。

結果

完成所有反覆項目之後,交叉驗證模型會建立整個數據集的分數。 它也會建立效能計量,讓您可用來評估模型的品質。

評分結果

元件的第一個輸出會提供每個數據列的源數據,以及一些預測值和相關機率。

若要檢視結果,請在管線中,以滑鼠右鍵按兩下 [交叉驗證模型] 元件。 選取 [ 可視化評分結果]。

新資料行名稱 描述
評分標籤 此數據行會在數據集結尾新增。 它包含每個數據列的預測值。
評分機率 此數據行會在數據集結尾新增。 它會指出評分標籤值的估計機率。
折疊編號 表示交叉驗證期間,每個數據列指派給之折疊之以零起始的索引。

評估結果

第二份報告會依折迭分組。 請記住,在執行期間,交叉驗證模型會隨機將定型數據分割成 n 折疊(預設為 10)。 在數據集的每個反覆專案中,交叉驗證模型會使用一個折疊做為驗證數據集。 它會使用其餘 n-1 折疊來定型模型。 每個 n 模型都會針對所有其他折疊中的數據進行測試。

在此報表中,折疊會以遞增順序依索引值列出。 若要排序任何其他數據行,您可以將結果儲存為數據集。

若要檢視結果,請在管線中,以滑鼠右鍵按兩下 [交叉驗證模型] 元件。 選取 [ 依折迭將評估結果可視化]。

資料行名稱 描述
折疊編號 每個折疊的標識碼。 如果您建立五個折疊,則會有五個數據子集,編號為 0 到 4。
折疊的範例數目 指派給每個折疊的數據列數目。 它們應該大致相等。

元件也包含每個折疊的下列計量,視您正在評估的模型類型而定:

  • 分類模型:精確度、召回率、F 分數、AUC、精確度

  • 回歸模型:平均絕對誤差、根平均平方誤差、相對絕對誤差、相對平方誤差和判斷係數

技術注意事項

  • 在進行交叉驗證之前,最好先將數據集正規化。

  • 交叉驗證模型比使用隨機分割數據集來驗證模型更耗費大量運算,而且需要更長的時間才能完成。 原因是交叉驗證模型會定型並多次驗證模型。

  • 當您使用交叉驗證來測量模型的精確度時,不需要將數據集分割成定型和測試集。

下一步

請參閱 Azure 機器學習 可用的元件集。