評估特徵重要性

重要

從 2023 年 9 月 20 日起,您將無法建立新的個人化工具資源。 個人化工具服務將于 2026 年 10 月 1 日淘汰。

您可以藉由對歷程記錄資料進行 特徵評估 ,評估每項功能對個人化工具機器學習模型的重要性。 功能評估對下列專案很有用:

  • 瞭解哪些功能對模型而言最重要或最不重要。
  • 透過從模型中目前重要的特徵衍生靈感,集思廣益于學習的額外特徵。
  • 識別應該考慮進一步分析或移除的潛在不重要或非實用功能。
  • 針對設計功能並將其傳送至個人化工具時可能發生的常見問題和錯誤進行疑難排解。 例如,使用 GUID、時間戳記或其他通常 疏鬆 的功能可能會有問題。 深入瞭解 如何改善功能

什麼是功能評估?

功能評估是透過定型和執行您目前模型設定的複本,在指定的時間週期內收集的記錄資料。 功能會一次忽略一個,以測量模型效能的差異,且不含每項功能。 由於功能評估是在歷程記錄資料上執行,因此不保證未來資料會觀察到這些模式。 不過,如果您的記錄資料已擷取到資料有足夠的變異性或非固定屬性,這些深入解析仍可能與未來的資料相關。 您目前的模型效能不會受到執行功能評估的影響。

特徵重要性 分數是評估期間特徵對獎勵的相對影響量值。 特徵重要性分數是介於 0(最不重要)和 100 之間的數位,並顯示在特徵評估中。 由於評估會在特定時間週期內執行,因此功能重要性可能會隨著其他資料傳送至個人化工具,以及隨著使用者、案例和資料隨著時間變更而變更。

建立功能評估

若要取得特徵重要性分數,您必須在記錄資料期間建立特徵評估,以產生包含特徵重要性分數的報告。 此報表可在Azure 入口網站中檢視。 若要建立功能評估:

  1. 移至 Azure 入口網站 網站
  2. 選取您的個人化工具資源
  3. 從側邊流覽窗格中選取 [ 監視] 區段
  4. 選取 [功能] 索引 標籤
  5. 選取 [建立報表] 並顯示新的畫面
  6. 選擇報表的名稱
  7. 選擇 評估期間的開始 結束 時間
  8. 選取 [建立報表]

Screenshot that shows how to create a Feature Evaluation in your Personalizer resource by clicking on

Screenshot that shows in the creation window and how to fill in the fields for your report including the name, start date, and end date.

接下來,您的報表名稱應該會出現在下列報表資料表中。 建立功能評估是長時間執行的程式,完成時間取決於評估期間傳送給個人化工具的資料量。 產生報表時, [狀態 ] 資料行會指出評估的「執行中」,並會在完成後更新為「成功」。 定期回來查看您的評估是否已完成。

您可以在個人化工具資源具有記錄資料的各種時段內執行多個功能評估。 請確定 您的資料保留期間 已設定足夠長,讓您能夠對較舊的資料執行評估。

解譯特徵重要性分數

具有高重要性分數的功能

相較于其他特徵,具有較高重要性分數的功能在評估期間對模型更具影響力。 重要功能可為設計要包含在模型中的其他功能提供靈感。 例如,如果您看到內容功能 「IsWeekend」 或 「IsWeekday」 對雜貨店購物具有很高的重要性,則可能是假日或長週末可能也是重要因素,因此您可能想要考慮新增可擷取此資訊的功能。

重要性分數低的功能

具有低重要性分數的功能是進一步分析的好候選項目。 並非所有低評分功能都一定 不好 或不實用,因為低分可能會因為一或多個原因而發生。 下列清單可協助您開始分析功能可能有低分數的原因:

  • 在評估期間,資料中很少觀察到此功能。

    • 如果此功能的出現次數與其他特徵相比很低,這可能表示功能不常出現,讓模型判斷其是否有價值。
  • 特徵值沒有很多多樣性或變化。

    • 如果此功能的唯一值數目低於預期,這可能表示功能在評估期間沒有太大差異,而且不會提供顯著的深入解析。
  • 特徵值太嘈雜(隨機),或太相異,並提供很少的值。

    • 檢查特徵評估中的唯一值 數目。 如果此功能的唯一值數目高於您預期,或與其他特徵相比較高,這可能表示功能在評估期間太吵雜。
  • 具有資料或格式問題。

    • 檢查以確定功能已格式化,並以您預期的方式傳送至個人化工具。
  • 如果功能分數很低,且上述原因不適用,此功能對於模型學習和效能而言可能並不重要。

    • 請考慮移除功能,因為它無法協助模型最大化平均獎勵。

移除重要性分數低的功能,可藉由減少學習所需的資料量來加速模型定型。 它也可能會改善模型的效能。 不過,這並不保證,而且可能需要進一步的分析。 深入瞭解設計內容和動作功能。

改善功能的常見問題和步驟

  • 傳送具有高基數的功能。 具有高基數的功能是具有許多相異值且不太可能在許多事件上重複的功能。 例如,個人專屬的個人資訊(例如名稱、電話號碼、信用卡號碼、IP 位址)不應與個人化工具搭配使用。

  • 傳送使用者識別碼 與大量使用者,與個人化工具學習相關的資訊不太可能最大化平均獎勵分數。 傳送使用者識別碼(即使不是個人資訊),可能會將更多雜訊新增至模型,不建議使用。

  • 功能太疏鬆。 值相異且很少發生多次. 向下到第二個的精確時間戳記可能非常稀疏。 例如,將時間分組為「早晨」、「中午」或「下午」,即可使它更密集(因此有效)。

位置資訊通常也受益于建立更廣泛的分類。 例如,緯度座標,例如 Lat:47.67402° N、Long:122.12154° W 太精確,並強制模型將緯度和經度學習為相異維度。 當您嘗試根據位置資訊個人化時,有助於將較大磁區中的位置資訊分組。 若要這麼做,最簡單的方式是選擇適合 lat-long 數位的四捨五入精確度,並將緯度和經度結合成「區域」,使其成為一個字串。 例如,代表 Lat: 47.67402° N,Long: 122.12154° W 的區域大約是 「location」:「34.3, 12.1」。

  • 使用推斷資訊 展開功能集:您也可以考慮可從您已經擁有之資訊衍生的未探索屬性,以取得更多功能。 例如,在虛構的電影清單個人化中,週末與工作日是否可能會產生與使用者不同的行為? 時間可以擴充為具有「週末」或「工作日」屬性。 與文化有關的國定/區域假日是否會讓人們關注某些電影類型? 例如,在相關的位置,「萬聖節」屬性很有用。 雨天是否可能對許多人選擇電影產生重大影響? 有了時間和地點,氣象服務可以提供該資訊,而且您可以將它新增為額外的功能。

下一步

使用個人化工具進行離線評估 來分析原則效能。