Python のワン ホット エンコーディング: 機械学習でのカテゴリ特徴量の処理
ワン ホット エンコーディングは、機械学習でカテゴリ変数を変換するために使用される手法ですバイナリベクトルに変換します。これは、多数の一意の値を持つカテゴリ変数を扱うときによく使用されます。
分類には 1 つのホット エンコーディングが必要ですか?
はい、1 つのホット エンコーディングです。通常、数値入力を期待する分類子を使用する場合に必要です。カテゴリ変数は本質的に数値ではないため、分類子はそれを直接解釈できません。ワン ホット エンコーディングは、カテゴリ変数を、それぞれの一意の値の有無を表すバイナリ ベクトルに変換します。
Python のステップバイステップ ワン ホット エンコーディング
アプローチ 1: Pandas pd.get_dummies を使用する
この方法は、一意の値の数が限られた小規模なデータセットに適しています。
import pandas as pd # Create a pandas Series with categorical data s = pd.Series(['a', 'b', 'c', 'a']) # One hot encode the Series one_hot = pd.get_dummies(s) print(one_hot)
アプローチ 2: Scikit を使用する-Learn
Scikit-learn の OneHotEncoder は、エンコード プロセスの柔軟性と制御を強化します。
from sklearn.preprocessing import OneHotEncoder # Create a numpy array with categorical data data = np.array([['a', 'b', 'c'], ['a', 'c', 'b']]) # Create an encoder enc = OneHotEncoder() # Fit the encoder to the data enc.fit(data) # Transform the data one_hot = enc.transform(data).toarray() print(one_hot)
エンコーディングのスタック問題の解決
ワン ホット エンコーディングがスタックするコードの 3 番目の部分は、次の理由による可能性があります:
これらの問題に対処するには、次のことができます:
以上が機械学習の分類にはワンホットエンコーディングが不可欠ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。