盆暗の学習記録

データサイエンスを中心として,日々学んだことの備忘録としていく予定です。初心者であり独学なので内容には誤りが含まれる可能性が大いにあります。

scikit-learnメモ:サンプルデータセットの読み込み方

機械学習を使うための処理の書き方を勉強する上でお世話になるのがサンプルデータセットですが,

scikit-learnはRとは読み込み方が異なって面倒くさかったため,メモしておきます。

iris データセット

定番のirisデータを例にしてみます。

Rだとdata(iris)あるいは単にirisで済みますが,sklearnでは以下のように書きます。

from sklearn import datasets
import pandas as pd

iris = datasets.load_iris()
iris_df = pd.DataFrame(iris.data, columns = iris.feature_names)
iris_df['Species'] = iris.target_names[iris.target]

あるいは,こう書きます。(読みやすさを捨てて少ない行数で書く場合の例)

from sklearn import datasets
import pandas as pd

iris = datasets.load_iris()
iris_df = pd.concat([pd.DataFrame(iris.data, columns = iris.feature_names), pd.Series(iris.target_names[iris.target]).rename('Species')], axis=1)

これらのコードによって,Rのdata(iris)と同様に,扱いやすいデータフレームの形でデータを取得できます。

In [16]: iris_df.head()
Out[16]: 
   sepal length (cm)  sepal width (cm)  petal length (cm)  petal width (cm)  \
0                5.1               3.5                1.4               0.2   
1                4.9               3.0                1.4               0.2   
2                4.7               3.2                1.3               0.2   
3                4.6               3.1                1.5               0.2   
4                5.0               3.6                1.4               0.2   

  Species  
0  setosa  
1  setosa  
2  setosa  
3  setosa  
4  setosa  

ざっくりまとめるとこんなかんじ。

  • sklearn.datasets.load_**():データの読み込み
  • data.data:説明変数
  • data.feature_names:説明変数の名称
  • data.target:目的変数
  • data.target_names:目的変数のラベル(カテゴリカル変数のラベル)
  • print(data.DESCR):データセットの説明

data['target']のような書き方も可能

参考