共用方式為


使用推薦分割分割資料

重要

Machine Learning 工作室 (傳統) 的支援將於 2024 年 8 月 31 日結束。 建議您在該日期之前轉換成 Azure Machine Learning

自 2021 年 12 月 1 日起,您將無法建立新的 Machine Learning 工作室 (傳統) 資源。 在 2024 年 8 月 31 日之前,您可以繼續使用現有的 Machine Learning 工作室 (傳統) 資源。

ML 工作室 (傳統) 文件即將淘汰,未來將不再更新。

本文描述如何在機器學習 Studio (傳統) 的分割資料模組中使用推薦分割選項。 當您需要準備定型和測試資料集以搭配建議模型使用時,此選項非常有用。 這些模型不僅需要特定的格式,但在沒有特殊工具的情況下,可能很難以平衡的方式來分割評等、使用者和專案。

注意

適用于僅限機器學習 Studio (傳統)

Azure Machine Learning 設計工具中提供類似的拖放模組。

推薦分割選項可讓您更輕鬆地執行此程式,方法是要求您正在處理的建議模型類型:例如,是否建議專案、建議評等,或尋找相關的使用者? 然後,它會根據您指定的準則來分割資料集,例如如何處理冷使用者或冷專案。

當您分割資料集時,此模組會傳回兩個資料集,一個用於定型,另一個用於測試或模型評估。 如果輸入資料集包含每個執行個體的任何額外資料 (例如評等),則會保留在輸出中。

如需機器學習服務實驗之資料分割的一般資訊,請參閱。

分割資料模組中的其他選項支援不同的資料分割方式:

分割建議模型所使用的資料集

推薦分割選項是特別針對用來訓練建議系統的資料而提供。

使用這個選項之前,請確定您的資料是相容的格式。 推薦分隔器會在假設下運作,而資料集只包含 使用者-專案配對使用者-專案-評 等三合一。 如需詳細資訊,請參閱本文中的 輸入資料需求

  1. 將 [ 分割資料 ] 模組新增至您的實驗,並將它連接為您要分割的資料集輸入。

  2. 針對 [ 分割模式],選取 [ 推薦分割]。

  3. 設定下列選項來控制值的分割方式。 指定以介於0和1之間的數位表示的百分比。

    • 僅限定型的使用者分數:指定應只指派給訓練資料集的使用者比例。 這表示永遠不會使用資料列來測試模型。

    • 定型的測試使用者評等比例:指定您已收集的使用者評等部分可以用於定型。

    • 冷使用者的比例:冷使用者是系統先前未曾遇到過的使用者。 一般而言,由於系統沒有這些使用者的相關資訊,因此這些使用者在定型上有其價值,但預測可能會較不準確。

    • 冷專案的比例:冷專案是系統先前未曾遇到的專案。 由於系統沒有這些項目的相關資訊,因此這些項目在定型上有其價值,但預測可能會較不準確。

    • 略過的使用者分數:此選項可讓推薦忽略某些使用者,讓您在資料子集上訓練模型。 基於效能的考量,這可能很有用。 您可以指定應忽略的使用者百分比。

    • 忽略專案的比例:推薦分隔器可以忽略某些專案,並在資料子集上定型模型。 基於效能的考量,這可能很有用。 您可以指定要忽略的專案百分比。

  4. 移除偶爾產生的冷專案:此選項通常設定為零,以確保測試集中的所有實體都包含在定型集中。

    所謂「偶爾陌生」是指只被測試集所涵蓋,但未明確選為陌生的項目。 推薦資料的分割方式一節所說明之演算法中的步驟 (4) 和 (6) 可以產生這類項目。

  5. 推薦的隨機種子:如果您想要每次都以相同的方式分割資料,請指定種子值。 否則,預設會使用系統時鐘值作為種子,以隨機分割輸入資料。

  6. 執行實驗。

範例

如需如何劃分用於定型或測試建議模型的一組分級和功能的範例,建議您在Azure AI 資源庫Movie 建議中參閱此範例實驗所提供的逐步解說

技術說明

本節包含實作詳細資料、提示和常見問題集的解答。

輸入資料的需求

推薦分隔器會在假設下運作,而資料集只包含使用者-專案配對或使用者-專案-評等三合一。 因此, 分割資料 模組無法在具有三個以上資料行的資料集上運作,以避免與功能類型資料混淆。

如果您的資料集包含太多資料行,您可能會收到此錯誤:

錯誤0022:輸入資料集中選取的資料行數目不等於 x

因應措施是,您可以使用 資料集中的 [選取資料行 ] 來移除部分資料行。 您稍後可以使用 [ 加入資料行 ] 模組,稍後再加入資料行。

或者,如果您的資料集有多個您想要在模型中使用的功能,請使用不同的選項來分割資料集,並使用 定型模型 來定型模型,而不是 定型 Matchbox 推薦

如需有關支援的資料格式的詳細資訊,請參閱 定型 Matchbox 推薦

使用提示

  • 如果資料集未包含至少兩個數據列,就會引發錯誤。

  • 如果您指定的數字是百分比,或使用包含 "%" 字元的字串,則以百分比解讀此值。

    所有的百分比值必須在範圍 (0, 100) 內,不含 0 和 100。

  • 如果您指定的數字或百分比是小於 1 的浮點數,而且不使用百分比符號 (%),則以比例值解讀數字。

實作詳細資料

將資料分割成定型集和測試集供建議模型使用時,會使用下列演算法:

  1. 移除所要求的忽略項目比例和所有相關聯的觀察值。

  2. 將所要求的陌生項目比例和所有相關聯的觀察值,一起移至測試集。

  3. 在前兩個步驟之後所剩餘的忽略使用者中,移除所要求的比例和所有相關聯的觀察值。

  4. 在前兩個步驟之後所剩餘的陌生使用者中,將所要求的比例和所有相關聯的觀察值,一起移至測試集。

  5. 在前兩個步驟之後所剩餘的僅限定型使用者中,將所要求的比例和所有相關聯的觀察值,一起移至定型集。

  6. 對於上述所有步驟之後剩餘的每位使用者,從用於定型的測試使用者評等中,將所要求的比例移至定型集,而其餘部分移至測試集。

    每位使用者至少有一個觀察值一律移至定型集。

  7. 需要的話,可以從測試集移除偶而產生的陌生項目相關聯的執行個體。

    所謂「偶爾陌生」是指只被測試集所涵蓋,但未明確選為陌生的項目。 步驟 (4) 和 (6) 可能產生這類項目。

    當要求的陌生使用者和項目數目設為零時,即應使用此選項。 這可確保測試集中的所有實體皆包含在定型集中。

另請參閱

分割資料分割和分割