Pythonでカテゴリ変数を数値型に変換する方法
Pythonでは、one-hotエンコーディングによってカテゴリ変数を数値に変換できます。
カテゴリカル変数をバイナリベクトルに変換する方法がワンホットエンコーディングです。カテゴリがn個ある変数であれば、n個のバイナリ変数に変換します。各変数はカテゴリを表し、データポイントがそのカテゴリに属する場合に対応するバイナリ変数は1、そうでない場合は0になります。
可以使用scikit-learn库中的OneHotEncoder来进行独热编码,示例如下:
from sklearn.preprocessing import OneHotEncoder
# 定义类别变量
categories = ['A', 'B', 'C', 'A', 'B', 'C']
# 创建OneHotEncoder对象
encoder = OneHotEncoder(sparse=False)
# 将类别变量进行独热编码
encoded_categories = encoder.fit_transform(np.array(categories).reshape(-1, 1))
print(encoded_categories)
GoogleからAIアシスタントの最新ニュースに関する更新が届きます。
array([[1., 0., 0.],
[0., 1., 0.],
[0., 0., 1.],
[1., 0., 0.],
[0., 1., 0.],
[0., 0., 1.]])
1行で1つのデータポイントのone-hot表現を表し、1がある位置はそのデータポイントが属するクラスを表す。