機械学習、強化学習の調査録

機械学習関連のことをまとめていきます。強化学習関連が多いかもしれません

【scikit-learn、データセット】irisデータセット

今回はscikit-learnが提供しているirisデータセット
ついて調べた内容をお話します。

データセットの概要

irisデータセットとは、
あやめの花に関するデータセットになります。
3種類のあやめのデータがそれぞれ50個づつ格納されています。
各あやめは、がく片の長さ(sepal length)、がく片の幅(sepal width)、
花びらの長さ(patal length)、花びらの幅(petal width)が保存されています。

データの内容

まず、以下のコードでデータを読み込みます。

import sklearn
from sklearn.datasets import load_iris

data = load_iris()  # データの読み込み

説明変数(X)

説明変数は、各花の

  • がく片の長さ(sepal length)
  • がく片の幅(sepal width)、
  • 花びらの長さ(patal length)
  • 花びらの幅(petal width)

の4つの属性により表現されています。

print(data.feature_names)
# => ['sepal length (cm)',
# 'sepal width (cm)',
# 'petal length (cm)',
# 'petal width (cm)']

x_trainの最初の要素を見てみます。

print(data.data[0])
# => array([5.1, 3.5, 1.4, 0.2])

0番目の花が4つの属性によって表現されていますね。

目的変数(Y)

次に目的変数を見てみます。
3種類の花が目的変数となります。

3つの花の名前は、以下のコードで確認出来ます。

print(data.target_names)
# => array(['setosa', 'versicolor', 'virginica'], dtype='<U10')

上記の配列にあるように、花は、

  • setosa
  • versicolor
  • virginica

の三種類となります。
目的変数は花の名前が保存されているのではなく、
インデックスで保存されています。
つまり、0なら'setosa'、1なら'versicolor'、2なら 'virginica'

先程の文章(data.data[0])の目的変数(data.target[0])は

print(data.target[0])
# => 0

参考文献

https://keras.io/ja/datasets/#imdb