Keita_Nakamoriです。
今日はsklearnのアイリスデータを良く見てみようと思います。
インストール
>pip install sklearn
して
Requirement already satisfied: sklearn in c:\users\omoiy\anaconda3\lib\site-packages (0.0)
Requirement already satisfied: scikit-learn in c:\users\omoiy\anaconda3\lib\site-packages (from sklearn) (0.19.1)
と出るので、すでに入っていました。アナコンダですから。
インポートそしてインスタンス作成
アイリスデータが入っている、ロードアイリスをsklearn.datastetsからインポートします。
from sklearn.datasets import load_iris
関数としてロードアイリスのインスタンス、アイリスデータセットを作成します。
iris_dataset=load_iris #ロードアイリス関数
では、アイリスデータセットを見てみましょう。
iris_dataset()
わけのわからないデータの羅列が出てきますが、よく見るとディクショナリによく似た”Bunchクラス”という形式でデータが入っています。
ディクショナリと同様に、キーとバリューを指定できます。
iris_dataset().keys()
1 |
dict_keys(['data', 'target', 'target_names', 'DESCR', 'feature_names']) |
キーを指定してみます。長いので500文字で切りましょう。DESCRはディスクドライブの略です。
まずは、データの概要を見る
iris_dataset[“DESCR”][:500]
または、下のように書くと、見やすくなります。
print(iris_dataset()[“DESCR”][:500]+”\n…”)
データセットの特性
インスタンス数:150 (3クラスあり、それぞれ50個)
アトリビュートの数:
4つの予測用アトリビュート(数値)
- sepal長さ[cm] sepal 幅 [cm]
- petal長さ[cm] petal 幅 [cm]
クラス(分類)
- Iris-Setosa
- Iris- Versicolour
- Iris-Virginica
訓練用のインプット”データ”を確認する。
iris_dataset()[“data”]
.shape()で大きさを確認すると(150, 4)。4つの予測用アトリビュートをもった塊が150個ある。
1 2 3 4 5 6 7 8 9 10 |
array([[5.1, 3.5, 1.4, 0.2], [4.9, 3. , 1.4, 0.2], [4.7, 3.2, 1.3, 0.2], [4.6, 3.1, 1.5, 0.2], [5. , 3.6, 1.4, 0.2], [5.4, 3.9, 1.7, 0.4], [4.6, 3.4, 1.4, 0.3], [5. , 3.4, 1.5, 0.2], [4.4, 2.9, 1.4, 0.2], [4.9, 3.1, 1.5, 0.1],続く |
正解である”ターゲット”を確認する
iris_dataset()[“target”]
- 0=Iris-Setosa
- 1=Iris- Versicolour
- 2=Iris-Virginica
なのでしょう、きっと。
1 2 3 4 5 6 7 |
array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2]) |
ターゲットの名前
iris_dataset()[“target_names”]
ここで出てきました。分類名。前述で予想した通りの順番でした。
1 |
array(['setosa', 'versicolor', 'virginica'], dtype='<U10') |
特徴の名称を確認する
これも、DESCRでの記述順通りでした。
1 2 3 4 |
['sepal length (cm)', 'sepal width (cm)', 'petal length (cm)', 'petal width (cm)'] |
以上、ロードアイリスのデータでした。
次回は訓練させていきます。