排列功能重要性

本文描述如何在 Azure Machine Learning 設計工具中使用「排列特徵重要度」元件,以計算資料集的一組特徵重要度分數。 您可以使用這些分數,協助您判斷要在模型中使用的最佳特徵。

在此元件中,特徵值會隨機顯示,一次一個資料行。 然後會測量模型之前和之後的效能。 您可以選擇其中一個標準計量來測量效能。

元件傳回的分數代表定型的模型在排列之後的效能變更。 重要特徵通常比隨機顯示程序更敏感,因此會有更高的重要度分數。

本文會概述排列特徵、其理論基礎,以及其在機器學習中的應用:排列特徵重要度

如何使用排列特徵重要度

若要產生一組特徵分數,您必須有已定型的模型,以及測試資料集。

  1. 將排列特徵重要度元件新增至您的管線。 您可以在 [特徵選取] 類別中找到此元件。

  2. 將已定型的模型連線到左邊的輸入。 此模型必須是迴歸模型或分類模型。

  3. 將資料集連線到右邊的輸入。 最好是選擇與您用來為模型定型的資料集不同的資料集。 此資料集會用於根據已定型的模型進行評分。 在特徵值變更之後,也會用此資料集來評估模型。

  4. 針對 [隨機種子],請輸入要作為隨機種子的值。 如果您指定 0 (預設值),則會根據系統時鐘來產生數字。

    您可以選擇是否要輸入種子值,但如果您想要讓相同管線的執行具有重現性,則請提供一個值。

  5. 針對 [用於測量效能的計量],請選取要在排列完成後於計算模型時使用的單一計量。

    Azure Machine Learning 設計工具支援下列度量,視您正在評估分類或迴歸模型而定:

    • 分類

      正確性、精確度、召回率

    • 迴歸

      精確度、召回率、平均絕對誤差、均方根誤差、相對絕對誤差、相對平方誤差和決定係數

    如需這些評估度量以及如何計算的詳細說明,請參閱評估模型

  6. 提交管線。

  7. 元件會輸出特徵資料行清單以及與其相關聯的分數。 此清單會依分數的遞減順序排名。

技術說明

排列特徵重要度的運作方式是隨機變更每個特徵資料行的值,一次變更一個資料行。 然後,評估該模型。

元件提供的排名通常與您從以篩選為基礎的特徵選取所獲得的排名不同。 以篩選為基礎的特徵選取會在建立模型之前計算分數。

排名會有差異的原因在於,排列特徵重要度不會測量特徵與目標值之間的關聯。 相反地,其會從模型中擷取每項特徵對預測的影響程度。

後續步驟

請參閱 Azure Machine Learning 可用的元件集