scikit-learn-contrib/category_encoders

A library of sklearn compatible categorical variable encoders

解決的問題

機器學習模型通常需要數值輸入,但現實世界資料集經常包含分類變數(例如國家或性別)。此套件提供一整套工具,將這些分類標籤轉換為模型能有效處理的數值格式。

如何運作

它以 scikit-learn 風格的轉換器形式實現多種編碼技術。這些轉換器主要分為兩大類:

  • 非監督編碼器:在不查看目標變數的情況下將類別轉換為數字(例如,One-Hot、Binary、Hashing 和 Ordinal 編碼)。
  • 監督編碼器:利用目標變數來指導編碼過程,對某些模型而言更具效能(例如,Target Encoding、CatBoost 和 LeaveOneOut 編碼)。

此套件可直接與 pandas DataFrames 和 numpy 陣列整合,並設計為可嵌入 scikit-learn 流程中使用。

適用對象

需要對分類資料進行預處理以訓練模型的資料科學家與機器學習工程師,特別是在處理高基數特徵時,簡單的 one-hot 編碼可能效率低下。

主要特色

  • scikit-learn 兼容性:作為標準轉換器運作,可輕鬆嵌入現有 ML 流程。
  • 豐富的工具庫:提供大量監督與非監督編碼方法。
  • 防止過度擬合:包含 NestedCVWrapper 和特定的 fit_transform 邏輯,用於監督編碼器以減少資料洩漏。
  • 彈性輸入:支援 pandas DataFrames 與 numpy 陣列。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案