tottu22 エンジニアブログ

tottu22’s blog

エンジニアの日常をつづっていきます

Azure Machine Learning をやってみた感想


はじめに


Azure Machie Leaningの書籍を購入し、一通りチュートリアルをやるというのをここ二日間やっていました。

Azure Machine LearningはGUI上で学習モデルを構築していくもので、ノンコーディング機械学習のモデルを構築できるという優れもの。

画面はこんな感じ

 

f:id:tottu22:20171026175257p:plain

 

ざっくり言うと、

 データが入力されて出力されるまでのフローを左側に用意されているモデルやデータセットなどのパーツをドラックアンドドロップでキャンバスに持っていき、処理の流れを線でつなげていけば、はい完成!

みたいな感じでできてしまいます。

 

 

実際にこの書籍では、車体価格の予測を線形回帰で実装するというものが例題であり、さらっとできてしまいます。

※この書籍誤記がところどころにあったり、サービス自体のメニュー名が変わっていたりするのか、途中で一体どこのことをいってるんだ?と混乱するところがぼちぼちでてきます。それと8章まではすんなり進められるのですが、9章以降急に書きっぷりが、不親切になるので、わかりにくいです。それがなければ、お勧めの書籍なのです。私が買った当時はこれしかAzureMLについて、詳細に記載されたものがありませんでした。今は少しでているようです。

 

ただし、直感的にできそうな気もしましたが、やはりいきなり何も見ずに作ろうというのは不可能に近いと思います。

このツール独特なフローの作り方があるので、それをまずは理解しないとスラスラと手が動くことはないでしょう。

 

一度使い方を覚えてしまえば、欠損値を見つけ出して対処するような操作は、圧倒的にこのツールを使うのが早いという印象です。

またグラフ化なども勝手に可視化くれるので、Pythonでmatplotlibやseabornを使って頑張ってやらなくても、ボタンをポチっとおすだけで、見れてしまいます。

 

さらにこのツールの良いところは、作った学習済みモデルをそのままWebAPI化がツールからできてしまうことサンプルのAPI呼び出しのサンプルのコードも用意されているため、すぐに呼び出してテストすることができます。

C#,Python,Python3,Rで用意されています。

現時点では上記4種類ですが、もしかすると今後JavaScriptあたりが増えていくかもしれませんね。

サンプルのコードも今回作ったモデルに合わせて、JSON部分もカスタマイズされてできあがってます。つまり、コードは入力としてセットするデータと、APIキーを今回払い出されたもので置き換えるだけになってます。

 

超便利。使いたい言語の環境さえ整ってれば、一瞬で終わります。私はpython3を普段使っているので、サンプルコードをそのまま使って、必要な部分だけ直して実行しただけで、一発でJSONですぐに正しいレスポンスが帰ってきました。

 

ちなみにAPIだと、IBM watsonもよく使っているのですが、watsonの場合はwatson cloud developerという各種コグニティブサービス用のモジュールをpip installしてからそれを使ってアクセスする人が多いようです。

そのモジュールがだいぶ中身を隠蔽してるんで、あまり意識せずに使う感じですよね。

 

こういうSaaS型のデータ解析ツールをほかに使ったことがほとんどないので、比較ができないのが残念です。ぼちぼちデータ解析系にも力をいれて調査していこうとは思っています。

こういうツールをデータサイエンティストの方はバリバリ使いこなしているでしょうか。それともこんなのなくても、全部コードで書いてやるって感じなんでしょうか。

 

おわりに

まあ、便利なものはどんどん使いこなしていけばいい話だと思うので、難しい数学よりも概念はしっかり抑えて、使えるものは使って、スキルを身につけていければいいかなと思います。