變數重要性
變數重要性 (也稱為特徵重要性) 是一種分數,用來表示特徵對模型的「重要性」。舉例來說,如果某個模型有兩個輸入特徵「f1」和「f2」,變數重要性為 {f1=5.8, f2=2.5},則特徵「f1」對模型而言比特徵「f2」更重要。與其他機器學習模型一樣,變數重要性是瞭解決策樹運作方式的簡單方法。
您可以將模型無關的變數重要性 (例如變換變數重要性) 套用至決策樹。
決策樹也有特定變數的重要性,例如:
- 使用指定變數的拆分分數總和。
- 含有指定變數的節點數量。
- 在所有樹狀圖路徑中,首次出現特徵的平均深度。
變數的重要性可能因下列因素而異:
此外,變數重要性會提供下列不同類型的資訊:
舉例來說,包含特定特徵的條件數量可指出決策樹查看這個特定特徵的程度,進而指出變數的重要性。畢竟,如果不重要,學習演算法就不會在多個條件下使用某個功能。不過,如果同一個特徵出現在多個條件中,也可能表示模型嘗試但未能將特徵模式推廣。舉例來說,如果某個特徵只是示例 ID,且沒有可概括的資訊,就可能發生這種情況。
另一方面,如果排序變數的重要性值偏高,表示移除特徵會對模型造成不利影響,這表示變數的重要性。不過,如果模型健全,移除任何一項特徵可能不會影響模型。
由於不同的變數重要性會提供模型的不同面向,因此同時查看多個變數重要性會提供有用的資訊。舉例來說,如果某項特徵根據所有變數重要性皆為重要,則該特徵很可能是重要特徵。舉另一個例子來說,如果某個特徵的「節點數量」變數重要性偏高,而「排列組合」變數重要性偏低,則該特徵可能難以推廣,並可能會影響模型品質。
在 YDF 中,您可以呼叫
model.describe()
並查看「變數重要性」分頁,瞭解模型的變數重要性。詳情請參閱
模型理解教學課程。
除非另有註明,否則本頁面中的內容是採用創用 CC 姓名標示 4.0 授權,程式碼範例則為阿帕契 2.0 授權。詳情請參閱《Google Developers 網站政策》。Java 是 Oracle 和/或其關聯企業的註冊商標。
上次更新時間:2025-02-25 (世界標準時間)。
[null,null,["上次更新時間:2025-02-25 (世界標準時間)。"],[[["Variable importance, also known as feature importance, is a score indicating how crucial a feature is to a model's predictions."],["Decision trees have specific variable importances like the sum of split scores, number of nodes using a variable, and average depth of a feature's first occurrence."],["Different variable importance metrics provide insights into the model, dataset, and training process, such as feature usage patterns and generalization abilities."],["Examining multiple variable importances together offers a comprehensive understanding of feature relevance and potential model weaknesses."],["YDF allows users to access variable importance through the `model.describe()` function and its \"variable importance\" tab for model understanding."]]],[]]