DISTRICT 37

なにか

pandasデータフレームをsklearnにぶち込む作法

せっかくirisがデータフレームで使えるようになったのに!!

dragstar.hatenablog.com

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)

 

思ったよりも簡潔なコードだけど、データフレームから直接使いたいというのが正直なところ

コード