Irisデータセット

概要

Irisデータセットはアヤメの種類と特徴量に関するデータセットで、3種類のアヤメの花弁と萼(がく)に関する特徴量について多数のデータを提供する。

ここではPythonのscikit-learnにあるirisデータの使い方をまとめる。

データの取得とデータ構造

Pythonで扱う場合、scikit-learndatasetsモジュールにあるload_iris()でデータを取得できる。データはBunchクラスのオブジェクトととのことだが、通常の扱い方は辞書と同じようだ。

データの構造は辞書型で、150個体のアヤメに関する特徴量の配列と各個体の種類、種類名などが格納されている。

データのキーは以下のようになっている。

データの内容

'data'~特徴量データセット

150個体のアヤメに関する、4つの特徴量をレコードとしたデータセット。各個体の4つの特徴量の配列を要素とした2次元配列。列のインデックス(0, 1, 2, 3)が四つの特徴量に対応している。

'target'~アヤメの種類に対応したコード

3種類のアヤメに対応した0~2のコードの配列。150個体のアヤメに対応した1次元配列。

'target_names'~アヤメの種類名

アヤメの3つの種類の種類名。stosaは「ヒオウギアヤメ」といって少し大人締めの色形だが、versicolorとvirginicaは素人にはその違いがよく分からない。

種類名とコードの関係は以下の通り。

setosa 0
versicolor 1
virginica 2

'feature_names'~特徴名

データの格納順はDESCRの後。アヤメの種類のクラス分けに使う特徴。

sepal(萼)とpetal(花弁)の長さと幅、計4つの特徴の名称が、単位cmを含む文字列で格納されている。

  • ‘sepal length (cm)’ 萼の長さ
  • ‘sepal width (cm)’ 萼の幅
  • ‘petal length (cm)’ 花弁の長さ
  • ‘petal width (cm)’ 花弁の幅

特徴名とコードの関係は以下の通り。

sepal length (cm) 0
sepal width (cm) 1
petal length (cm) 2
petal width (cm) 3

'filename'~ファイル名

これも格納順はDESCRの後で、CSVファイルの位置が示されている。1行目にはデータ数、特徴量数、特徴量名称が並んでおり、その後に150行のアヤメの個体に対する4列の特徴量と1列の種類データが格納されている。このファイルにはfeature_namesDESCRに当たるデータは格納されていない。

'DESCR'~データセットの説明

データセットの説明。print(iris_dataset['DESCR'])のようにprint文で整形表示される。

  • レコード数は150個(3つのクラスで50個ずつ)
  • 属性は、4つの数値属性とクラス(種類)
    →predictiveの意味とclassが単数形なのがわからない

データの利用

データの取得方法

irisデータセットから各データを取り出すのに、以下の2つの方法がある。

  • 辞書のキーを使って呼び出す(例:iris_dataset['DESCR']
  • キーの文字列をプロパティーに指定する(例:iris_dataset.DESCR

全レコードの特徴量データの取得

'data'から、150の個体に関する4つの特徴量が150行4列の2次元配列で得られる。4つの特徴量は’feature_names’の4つの特徴名に対応している。

特定の特徴量のデータのみ取得

特定の特徴量に関する全個体のデータを取り出すときにはX[:, n]の形で指定する。

特定のクラスのデータのみ抽出

特定のクラス(この場合は種類)のレコードのみを抽出する方法。ndarrayの条件による要素抽出を使う。

 

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です