pandasデータフレームをsklearnにぶち込む作法
せっかくirisがデータフレームで使えるようになったのに!!
pandasからnp.arrayにする
sklearnの引数はnp.arrayとなっているので、pandasのデータフレームからは直接使えない。ということでデータフレームからnp.arrayにする必要がある。
- 指定の列からnp.arrayに変換
df = sns.load_dataset('iris') data = np.array(df.iloc[:, 0:4]) #4列目までをnp.arrayにする
- 文字列の列を数値に変換しながらnp.arrayにする
target = np.array([0 if i == 'setosa' else 1 if i == 'versicolor' else 2 for i in data.species.values])
これでsklearnの分類器に渡せる
clf.fit(data, target)
思ったよりも簡潔なコードだけど、データフレームから直接使いたいというのが正直なところ