2014年12月11日木曜日

機械学習で遊んでみる

今回の記事は、弊社バルテックのアドベントカレンダーにエントリーしています。
http://www.adventar.org/calendars/414


当Blogはデータベース関連ですが、今日はちょっと毛色の違う話をしてみようと思います。
先々月、代休を取ってマイクロソフトカンファレンスに遊びに行ったとき、機械学習についてセッションを聞きました。
クラウドベースのMicrosoft Azure Machine Learning(ML)が6月に発表され、今はプレビュー版が無料で試せます。
http://azure.microsoft.com/en-us/services/machine-learning/

機械学習について、簡単に説明します。
Wikipediaによると、「センサやデータベースなどからある程度の数のサンプルデータ集合を入力して解析を行い、そのデータから有用な規則、ルール、知識表現、判断基準などを抽出し、アルゴリズムを発展させる。」とあります。
以前、米大手スーパーマーケットチェーン・ウォールマートの分析で「おむつを買った人はビールを買う傾向がある」という分析結果が出たという話を聞いたことがある方は多いのではないでしょうか。
現在ではネットショッピングなどでこれを買った人はこんなものも買っていますという表示が出てくるのを見ることができると思います。
(これ、結構当たっていてつい一緒に購入してしまいそうになります)

しかしながら、こうしたアルゴリズムを構築することは難しいですが、それをクラウドサービスとして提供しようというのが、Microsoft Azure Machine Learning(ML)です。
というわけで、実際に試してみました。

まず、ログインするとビデオによる概要説明が始まります。
それを終えると、こんな画面が出てきます。













さて、データを投入しましょう。
今回は過去半年間の飲み記録(平日のみ)を入力し、いつ飲みに行く傾向があるか調べてみようと思います。
どうでもいいデータですね。。。












このCSVデータを入れていきます。入力ファイルはCSVファイルなどのほか、R言語のデータも入れることができるようです。
そして、データ解析が始まります。まずはインプットにさっきのデータをインプット。
次にデータをSplitします。今回は75%とします。なぜデータを分割するかと言いますと、75%のデータの頻出度などを分析し機械学習を実施し、残り25%の結果と合わせて精度を高めるという流れて進みます。
その後、分析対象の列選択(Project Columns)を行い、トレーニング=学習を実施(Train Model)し、残りのSplitした結果と比較していく流れになります。












結果が画面右。会社のラウンジでお酒を飲むのは金曜日という傾向が発見できました。
当人にしてみたら、ごくごく当然の傾向が導き出されました。












もっと多角的に検証できると思うので、徐々に勉強していきたいと思います。

0 件のコメント:

コメントを投稿