ラベルエンコード【LabelEncoder】
〇ラベルエンコードすることでカテゴリデータの要素を数値に置き換えることが出来る。
〇本来であれば、カテゴリ要素と数値をマッピングする必要がある。
(男性なら0、女性なら1など)
→カテゴリ数値が膨大な時にマッピングを1から作成すると大変な作業になる。
〇関数を利用することでプログラム作成の省力化を図る。
In [1]: import pandas as pd
df = pd.DataFrame({
'野菜名': ['キャベツ', 'レタス', 'ネギ', 'ネギ', 'ネギ', 'キャベツ'],
'値段(円)': ['100', '140', '120', '200', '80', '50'],
})
df
Out[1]: 野菜名 値段(円)
0 キャベツ 100
1 レタス 140
2 ネギ 120
3 ネギ 200
4 ネギ 80
5 キャベツ 50
・のテストデータには野菜名と値段のカラムが存在し、野菜名のカラムはカテゴリ変数となっています。
・scikit-learnの中のpreprocessing.LabelEncoder()を用います。
・.transform()としてデータを指定するとラベルエンコードを行なったデータが返ってきます。
In [2]: from sklearn.preprocessing import LabelEncoder
# インスタンスの生成
le = LabelEncoder()
# データの適用
le = le.fit(df['野菜名'])
# ラベルを整数に変換
df['野菜名'] = le.transform(df['野菜名'])
df
Out[2]: 野菜名 値段(円)
0 0 100
1 2 140
2 1 120
3 1 200
4 1 80
5 0 50
この記事が気に入ったらサポートをしてみませんか?