機械学習記7日目 ~ 機械学習用データ

〇ひとこと

 機械学習の勉強をはじめてから、今日で1週間が経過しました。早いものです。。。

「進捗が........やばい!」

 

機械学習用データ

 本格的な機械学習の実験を行うためには、それなりのデータが必要になります。

 ネット上には、機械学習用のサンプルデータがいくつも落ちていますが、まずはscikit-learnに付属しているデータを使うことにします。

 まず、iris(アイリス)という「アヤメ」(花)のデータセットを調べます。

 

▶irisデータセット

 irisデータセットは、統計分析や機械学習のサンプルとして有名で、機械学習の入門にはなくてはならないデータセットです。irisデータセットの読み込みは、専用のload_iris関数があるので、これを利用します。

f:id:hackU0001:20190226220758p:plain

 

scikit-learnのドキュメントによると、ここで取得したirisデータは、scikit-learnで定義されているBunchクラスのオブジェクトになっています。(図1)

scikit-learn.org

f:id:hackU0001:20190226230914p:plain

図1.load_irisの説明

 

 データはタプルで'data','target'などのキーで取得するようです。'DESCR'キーでirisデータセットの説明を表示してみます。(図2)

f:id:hackU0001:20190226231957p:plain

 

f:id:hackU0001:20190227124210p:plain

図2.irisデータセットの説明

 


 表示を見ると、アヤメのデータは「150個」、単位は「センチメートル」と書いてあります。「Iris-Setosa」(アイリス-セトサ)「Iris-Versicolour」(アイリス-バーシクル)「Iris-Virginica」(アイリス-バージニカ)の3種類のアヤメのSepal(がく片)とPetal(花弁)のlength(長さ)およびwidth(幅)を計測したデータになっています。

 では、'DESCR'以外のキーに、何があるか調べます。

f:id:hackU0001:20190226233224p:plain

 

 'DESCR'以外に'data'、'target'、'target_names'、'feature_names'というキーがあります。それぞれのデータを表示してみます。

 'data'キーは、アヤメの特徴データです。順番は、がく片の長さ、がく片の長さ、がく片の幅、花弁の長さ、花弁の幅です。

 f:id:hackU0001:20190226234702p:plain

 

 ものすごい数のデータが表示されます。

f:id:hackU0001:20190226234438p:plain

図3.ビック・データ

 

 'target'キーを表示すると、150個の数字が出てきました。0,1,2の3種類の数字が50個ずつあるので、アヤメの種類を示しているようです。

f:id:hackU0001:20190227000011p:plain

 

 それぞれの名前を'target'キーで確認します。0がsetosaのデータ、1がversicolorのデータ、2がverginiaのデータということです。

f:id:hackU0001:20190227030004p:plain

 

 最後の'feature_names'キーは何でしょうか。featureは「特徴」のことなので、各特徴データにつけられた名前のようです。

f:id:hackU0001:20190227030509p:plain

 

 PandasのDataFrameで表示してみます。

f:id:hackU0001:20190227030942p:plain

 irisのデータセットが、どのような構成かわかりました(図3)。

f:id:hackU0001:20190227031347p:plain

図4.irisのデータセット