ラベルエンコード【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

この記事が気に入ったらサポートをしてみませんか?