分類器編では、
2.1、アヤメの品種推定
2.2、心臓病患者の判定
2.3、文章自動生成 By Google TPU (LSTM)
を扱っていきます。
分類器とは、特徴量からラベルを付与するアルゴリズムです。今回は、ガクの長さや太さといった特徴量をもとに品種をラベル付けしていきます。分類器は、教師あり学習の一部であり、訓練用データから学習を行い、テスト用データを分類することで精度を検証します。ここでは、
というアルゴリズムを使用しています。各アルゴリズムの仕組みは参考文献を見てください。
難易度:★★☆☆☆
アヤメという花のガクの大きさや茎の太さといった特徴量から、アヤメの品種を判定します。
① サンプルプログラムにアクセスします。
https://colab.research.google.com/drive/1dB8ZybTyUsx5eQ_Aczfkxt27o4dlOyKM
② 演習1.2と同様に、自分のGoogleドライブにコピーを保存します。
③ 上から順に実行していきます。
④ 下のように、各手法における結果が出力されます。
上の画像の「train score」は訓練用データにおける分類精度を表し、「test score」はテスト用データにおける分類精度を表します。分類の精度は高いにこしたことはありませんので、1に近い値が出るほど良い分類器といえるでしょう。
演習2.1では、アヤメの品種分類を行いました。演習2.2では、プログラムはほぼ変更せず、扱うデータを変更することで、心臓病かどうか判定します。特徴量は
となっています。
① サンプルコードにアクセスします。
https://colab.research.google.com/drive/13xV0nEFZqBwQua3ysBviSP40L623EuE6
②下の画像のように、「ドライブにコピーを保存」をクリックします。
③ 各セル(コードの書いてある枠のこと)の左側にある右三角(▶)を上から順にクリックしていきましょう。
演習2.2の心臓病患者の判定の場合、サンプルプログラムの状態で実行しても、82%程の精度しかでません。一般に、貢献度の少ない特徴量を加えるほど、分類精度は悪化します。df.drop("列名", axis=1) により特定の列を削除することができます。分類への貢献度が少なそうな列を削除することで、分類器の精度を上げることができるかもしれません。
心臓病データ:kaggle.com