資料洩露和資料處理不一致是兩個機器學習容易被忽視的錯誤 - jeande_d

banq發表於2021-06-26

機器學習專案的失敗可能由多種因素造成,但兩個常見的被忽視的錯誤做法是資料洩漏和資料處理不一致。這裡有3種方法可以避免它們:
  • 1. 做探索性資料分析時不要使用測試集。只使用訓練集。透過不接觸測試集,您可以避免資料洩漏。請記住,如果您將測試資料洩露給模型,它就不能很好地推廣到新資料。

要將上述內容付諸實踐,請先將資料拆分為訓練和測試。
  • 2. 最初評估模型時,不要在測試資料上評估。您的模型一開始很可能表現不佳,因此不要洩露測試資料,而是在訓練集上評估模型,直到它表現良好為止。
  • 3. 為避免資料處理不一致,在訓練集和測試集之間使用相同的資料處理函式。例如。如果你對訓練集中的數值特徵進行了歸一化,那麼你也應該對測試集中的相同特徵進行歸一化。

如果在對模型輸入資料進行規範化的同時對測試集進行標準化,則這是完全不匹配的,不會產生語法錯誤,但會產生較差的結果。其他型別的特徵也必須發生同樣的事情。
 

例子:
如果您使用一種熱編碼(hot encoding)技術來處理分類特徵,您也應該在相同特徵的測試集中使用它。避免不一致資料處理的可靠方法是使用可以在不同資料集之間重用的函式或使用管道。好訊息是,我們大部分日常 ML 工具都支援構建資料處理(和建模)管道。

相關文章