Python

Python初心者向け:sklearnでダミー変数の追加と二値化

スポンサーリンク

はじめに

前回に引き続き、scikit-learnのpreprocessingライブラリのメソッドについてみていきましょう。今回は、add_dummy_featrureとbinarizeについてみていきます。add_dummy_featureはその名の通り、ダミー項目を作成します。binarizeは、二値化することができるメソッドです。

サンプルデータ

# ライブラリの読み込み
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
import japanize_matplotlib
from sklearn import preprocessing

sns.set_style('whitegrid')
%matplotlib inline


# irisデータの読み込み
iris=sns.load_dataset('iris')
iris.head()

add_dummy_feature

ダミーの変数を追加することを考えましょう。次のようにすると、値がすべて1となるダミーの変数を追加することができます。

preprocessing.add_dummy_feature(iris[iris.columns[0:4]])

一度、内部的に値をfloat型に変換するため、float型に変換できないspeceisは除きました。このようにすると、先頭にダミーの配列を挿入することができました。いま、ダミー配列の値は、1となっていますが、これは任意の値にすることができます。valueという引数で値を指定してみましょう。

preprocessing.add_dummy_feature(iris[iris.columns[0:4]],value=0)

実は、valueの値は文字列を指定することもできます。但し、そのほかの列もすべて文字列に変換されてしまいます。

preprocessing.add_dummy_feature(iris[iris.columns[0:4]],value='X')

binarize

次に扱うのはbinarizeです。binarizeは、ある列に対して閾値を指定すると、その値より大きいか小さいかで2値に分類してくれるものです。

ここでは3を閾値にして、二値化してみましょう。

preprocessing.binarize(iris[iris.columns[0:4]],threshold=3)
スポンサーリンク

まとめ

いかがでしたか?どちらも他にもやり方があるので、必ずしもこのやり方を身に着ける必要はないかもしれませんが、いろんな方法を知っておくとよいですね。

▶ この他にもsklearnを用いた前処理を扱った記事があります。以下からどうぞ。

コメント

タイトルとURLをコピーしました