LoginSignup
12
8

More than 5 years have passed since last update.

Amazon Machine Learningで多項分類やってみた

Posted at

Amazon Machin Learningとは

学習には"教師あり学習"(Supervised Learning), "教師なし学習"(Unsupervised Learning)の2種類ありますが、Amazon Machine Leariningでは”教師あり学習"が可能です。つまり、過去の膨大な教師データを元に、未来の予測が可能です。

Amazon Machin Learningでは以下の3種類の学習が可能です

  • 二項分類(Binary Classification)
    • 0, 1の予測を行う。例えば、このお客様は商品を買うか、買わないかなど
  • 多項分類(Multiclass Classification)
    • A,B,Cのどれにあたるかといった、複数の分類の予測を行う
  • 回帰分析(Regression)
    • 具体的な値を予測します。 明日の気温は何度かなど。

Amazon自体は機械学習を過去から行っていたと思われるが、そのノウハウが入っている。例えば、過学習を防ぐなどのチューニングがされている模様(正規化処理)。

入力データ

今回は、機械学習のサンプルで良く使用される有名なIris Dataを使用致します。

三種類のあやめの品種のそれぞれからの 150の花の、センチメートル単位の蕚(がく)片の長さと幅、花弁の長さと幅の計測結果を与えています。

Amazon Machine Learningのデフォルトでは単純に上から70%が教師データ、下の30%が検証データになるので、シャッフルしておきます。

今回はデータ量も少ないので、以下のようにExcelで並べ替えします

まずColumnで以下のようにRAND関数で乱数を追加します

スクリーンショット 2015-08-01 10.26.31.png

次に"Custom Sort"で乱数を元にソートします

スクリーンショット 2015-08-01 10.28.58.png

これで入力データはランダムになりましたので、このデータをCSVファイルにコピーでもして下さい。

最後に重要な点なのですが、文字コードをUTF-8、 改行コードをLFに変更して下さい。

入力データ(DataSource)の登録

まずAWSのMachin Learningから入力データを読めるようにS3にCSVをアップロードします。

その後、Machine Learningのサービスを起動します。初めての人は"Get Start"の後にCustom SetupをLunchします。先ほどアップロードしたS3ファイルを指定します。

スクリーンショット 2015-08-01 10.54.02.png

Machine LearningのサービスからS3のアクセス許可を求められるので許可します

スクリーンショット 2015-08-01 10.54.37.png

その後に"Verify"でデータの確認をします。最後の列が"Categorical"になっていることを確認して下さい。そして左のチェックボックスをチェックして下さい。このCategoricalなデータをターゲット指定したということで、Val1,2,3,4のパラメーターからVal5を推定するといったモデルを作成することになります。

スクリーンショット 2015-08-01 11.10.05.png

学習および学習結果の評価

先ほど登録した入力データ(DataSource)より学習を行います。Defaultでは上から70%を学習データ、下から30%を評価データになります。今回はこれで良いのでデフォルトの設定を用います。

スクリーンショット 2015-08-01 11.11.12.png

学習した結果はモデルとして作成がされます。モデルは言わば学習データより帰納的にアルゴリズムが実装されたモジュールのようなものになります。

その後、コンソールのインタクラクションに従うと学習が始まるのですが、150個なのですぐできるかと思ったら、意外に時間がかかりました。(といっても数分ですが)

学習が完了時には、DataSourceには学習用データと、評価データが作成されています。

スクリーンショット 2015-08-01 14.10.50.png

またモデルも作成されています

スクリーンショット 2015-08-01 14.11.11.png

評価結果をクリックしていくと詳細な結果が見れます

スクリーンショット 2015-08-01 14.11.23.png

スクリーンショット 2015-08-01 14.11.39.png

今回の評価では、93%の正答率という結果が出ています

スクリーンショット 2015-08-01 14.12.02.png

さいごに

以上、Amazon Machine Learningを使ってきましたが、とにかく非常に簡単に結果を得ることができます。次回は作成したモデルを使った簡単なWebアプリケーションの作成をしてみようと思います。

12
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
12
8