scikit-learn-contrib/category_encoders
A library of sklearn compatible categorical variable encoders
解決する問題
機械学習モデルは通常、数値入力を必要としますが、現実のデータセットにはカテゴリ変数(国名や性別など)が含まれることが多いです。このライブラリは、モデルが処理できる数値形式にカテゴリラベルを変換するための包括的なツールを提供し、単純なワンホットエンコーディングのより高度な代替手段を提供します。
動作方法
このライブラリは、scikit-learn風の変換器としてさまざまなエンコーディング手法を実装しています。これらは主に以下の2つのカテゴリに分けられます:
- 非教師付きエンコーダー:特徴量自体に基づいてカテゴリを数値に変換します(例:Binary、Hashing、One-Hot、Ordinalエンコーディング)。
- 教師付きエンコーダー:ターゲット変数を用いてエンコーディングプロセスを情報化するため、高基数特徴量に対してより効果的です(例:Target Encoding、CatBoost、LeaveOneOutエンコーディング)。
このライブラリはpandas DataFramesやnumpy配列と直接統合され、scikit-learnパイプライン内で使用することを想定しています。
対象ユーザー
モデルの学習に使用するためのカテゴリデータの前処理が必要なデータサイエンティストや機械学習エンジニア。特に、標準的なワンホットエンコーディングでは列数が多すぎてしまう高基数特徴量を扱う場合に適しています。
特徴
- scikit-learn互換:標準的な変換器として動作するため、既存のMLパイプラインに簡単に組み込むことができます。
- 豊富なライブラリ:教師付きおよび非教師付きエンコーディング手法の幅広いサポートを提供します。
- 過学習防止:教師付きエンコーダーのデータ漏洩を抑えるために、
NestedCVWrapperと特定のfit_transformロジックを含んでいます。 - 柔軟な入力:numpy配列とpandas DataFramesの両方をサポートしています。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト