機械学習を使うための処理の書き方を勉強する上でお世話になるのがサンプルデータセットですが,
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']
のような書き方も可能