scikit-learn-contrib/category_encoders

A library of sklearn compatible categorical variable encoders

何を解決するか

機械学習モデルは通常、数値入力を必要としますが、現実のデータセットにはカテゴリ変数(例:国や性別)が含まれることがあります。このライブラリは、これらのカテゴリラベルをモデルが効果的に処理できる数値形式に変換するための包括的なツールセットを提供します。

動作方法

幅広いエンコーディング手法を、scikit-learn風のトランスフォーマーとして実装しています。これらは主に以下の2つのカテゴリに分けられます:

  • 非教師ありエンコーダー:ターゲット変数を参照せずにカテゴリを数値に変換します(例: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配列の両方をサポート。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト