2015年7月8日水曜日

2時間で機械学習を試してみた

データアナリティクス・グループの宮本です。


ここ最近、機械学習の学習をしているのですが、色々なアルゴリズムがあったり特殊なソフトをインストールしなければならなかったりと、そこそこハードルが高い印象です。

もっとお手軽に機械学習を試せないかなということで、最も簡単な学習サービスと謳われているAmazon Machine Learning(以下、AML)を試してみました。

AMLの記事を探していたところ下記の記事を見つけました。

Amazon Machine Learningを理解するために3つの方法で天気予測をしてみた(二項分類編)
http://recipe.kc-cloud.jp/archives/7694

気象庁が提供している過去の気象データを機械学習で分析して、天気の予測をするという内容で、手順も詳細に書いてあるし明日の天気も気になるので、こちらの記事を参考にAMLを試してみました。

詳細な手順は上記記事に書いてあるので省きますが、記事の通りに進めていくと、だいたい2時間くらいで天気予測の結果を出せました。

私は2013/7/5 ~ 2015/7/3までの気象データ(平均気温や降水量など729件)を機械学習にかけて分析してみました。

参考記事では75%の正解率でしたが、私が試してみた結果では72%の正解率でした。


データを増やしたら結果が変わるかなと思い、2011/7/5 ~ 2013/7/4までのデータを追加して再度実行してみましたが、正解率は74%と微妙な上昇しかしませんでした。

ここからは参考記事になかったのですが、AMLが各日に対してどのような予想をしていたかは「ML model report」の「Summary」ページ上にある「Generate batch predictions」をクリックしてS3上のファイルに出力できます。

出力された結果を開いてみると、下記画像のようにtrueLabel(実績値)、bestAnswer(予測値)、scoreがありました。



実際に機械学習に使った気象データと上記のAMLが各日に対して予測した結果をマージして見てみると、結構予測が外れている感じが・・・・
まぁ1400件程度のデータで74%の正解率なので、200件以上外れている日が出てくるしそんなものなのかもしれません。



上記図がマージしたデータで、赤枠がAMLの予想値で、その左隣りの列が翌日に雨が振ったかどうかの実績になります。

もう少しサンプルデータの件数や属性データを増やすことで正解率は上がりそうですが、それはまたの機会に試してみたいと思います。

今回はAMLを試してみましたが、データさえ準備できれば確かにかなりお手軽に機械学習を試すことができました。ということで今回機械学習に使用したデータを下記URLに置いておきますので、興味がある方はぜひお試し下さい。

サンプルデータ


上記データは気象庁「過去の気象データ・ダウンロード」を加工して作成しました。



0 件のコメント:

コメントを投稿