跳到主要內容 跳至補充內容

讓資料集準備好進行訓練

您訓練資料集回答機器學習問題。訓練資料集包括每個特徵的欄以及包含目標的欄。機器學習演算法會從這些資料列學習一般模式,以產生可預測目標的模型。

若要讓資料集機器學習準備就緒,您需要理解資料並收集必要的資料點。您也可能需要轉換某些資料並移除與您的使用情況不相關的資料。

應收集哪些資料?

精確定義機器學習問題,並確切決定處理該問題需要彙總哪些內容:

  • 若您想要預測哪些客戶將會流失,則在您需要彙總的資料集中,每列代表一個客戶,每個特徵欄代表一個描述該客戶的特徵,而目標欄則是該客戶是否在特定期間流失。

  • 若您想要預測指定月份和地區會有多少銷售額,則在您需要彙總的資料集中,每列代表指定地區的指定月份,每個特徵欄代表一個描述該地區該月份業務的特徵,而目標欄則是該地區在該月份的銷售收入。

嘗試找出哪些事項會影響目標,並看看是否可以蒐集該資料。請記住,預測性演算法只能識別可找到的模式。也許您需要收集或建立其他特徵以擷取其他資訊?

您也必須判定需要先累積多少資料,才能準確預測。需要多少時間,才能讓事件變得有代表性?考慮下列範例:

  • 客戶需要保持會員身分 60 天 (若他們將會在 90 天內離開),您才可以預測。

  • 不會知道幾個月的保險理賠費用,所以您可以排除少於六個月的理賠。

辨別時間變化和非時間變化資料。如有時間變化資料,資料是否加上時間戳記,以便適時彙總?

資料是否可在預測時使用?

確認您在訓練資料集納入的所有特徵也可用於未來預測。常見的錯誤是根據可用於歷史資料、但無法用於未來預測的特徵訓練模型。對新的資料進行預測時,機器學習演算法必須有過去可用於訓練資料集之所有特徵的值。

越多資料越好?

樣本大小

較大量的資料傾向產生更可靠的模型。無論是新的或歷史觀察,任何其他相關資料點都有幫助。

特徵數量

無論與目標結果的相關性如何,都會讓人想要在模型中納入所有可能變數。越簡單通常越好。通常在模型中使用較少的特徵數量會更好。

若有更多特徵,可能掩蓋您想要發現之真實深層關係的風險可能會更高。預測性模型可以使用所有特徵,以針對用來訓練模型的資料設想出一系列執行良好的複雜規則。但預測目標實際上可能只會受到一個或兩個特徵影響。對於訓練使用內容以外的資料,模型可能不擅於一般化,這會在套用至新資料時造成不良的預測效能。

過適

過適代表模型過度複雜,因此在預測新資料方面並不可靠。若有太多特徵與可用的資料點數量相關,就容易發生過適。例如,您在資料集中可能只有 50 列的資料和 100 個特徵欄。

訓練資料是否相關?

機器學習演算法會在您饋送的資料中找到模式,並使用這些模式對未來的資料進行預測。對新資料進行預測時,您會假設這類似於訓練資料。因此,重要的是,訓練資料集在統計上應與將進行預測的資料相似。

若市場或業務相較於訓練資料集描述的內容,有了大幅變化,您可能就使用了過時的資料集,導致不準確的預測。您可能需要建立新的訓練資料集,並僅使用變更發生後搜集的資料。

請考慮關於 理解機器學習 中銷售預測的範例。假設我們已將資料饋送到演算法,這代表電視、電台和報紙廣告花費,以及歷史商務季度的銷售收入。不過,資料是在 1980 年代收集。現在,我們不再於電台廣告產品,而且幾乎僅在網路上廣告產品。經過訓練的演算法在預測目前商務季度的銷售額時,會執行得很差,因為訓練資料無法代表目前的商務情況。

探索資料

使用您的商務知識理解並驗證資料。若資料與您的假設不一致,是否表示資料有問題或要捨棄您的假設?

移除不可靠的特徵

考慮從具有以下情況的資料集排除欄:

  • 高度集中在某個值 (低基數)。例如,某欄有值「紅色」、「綠色」、「藍色」,其中 90% 的值是「紅色」。

  • 唯一值很多 (高基數)。

  • 大部分的值都是 Null。

處理相關聯的特徵

移除冗餘特徵,例如提供相同或非常類似資訊的高度相關聯特徵。考慮從擷取資料中相同行為的群組中選取單一特徵。嘗試判定是否有某個特徵驅動另一個特徵。

取代 Null 值

探索資料以瞭解關鍵資料點中是否有遺失的值,例如目標或關鍵特徵。若要使用疏鬆欄中的值,您可以使用「其他」或「未知」取代 Null 值。或者您可能需要重新評估資料收集。

目標範圍

查看資料分佈。若目標資料的分佈相對於樣本大小太分散,可能很難在資料中找到任何模式。

什麼是資料值的範圍?預測範圍外的資料值時有一些挑戰。在 外插法和內插法 中閱讀更多。

分佈是否有異常?資料中的扭曲、尾數和多峰形狀可能需要其他資料轉換或進一步的特徵設計。嘗試將少量類別組成群組,並捨入或移除數字特徵中的尾數。

排除異常值

考慮移除特徵欄中具有異常值的觀察內容。異常值會妨礙演算法辨別出資料中一般模式的能力。查看在目標欄中分佈較密集的更小資料子集可能會更好。

資料分組

您可以將資料分割為不同的資料集以改善結果,並用來訓練獨立模型。以一個或多個特徵為基礎進行資料分組。

資料滲漏

資料滲漏代表用來訓練機器學習演算法的資料包括您嘗試預測的資訊。

瞭解更多資訊

此頁面是否對您有幫助?

若您發現此頁面或其內容有任何問題——錯字、遺漏步驟或技術錯誤——請告知我們可以如何改善!