The paradigm shift

saboyutaka’s diary なんかかく(ブログn回目)

StartupCafe Kozaで行われたKoza Machine Learning Bootcampに参加してきました

KOZA Machine Learning Bootcamp http://kozaml.com/wp01/

沖縄県沖縄市にあるスタートアップカフェコザにて、機械学習の勉強会が2日間あるということで参加してきました。 沖縄でフリーランスの研究者という肩書でやってらっしゃる大塚さんに2日間機械学習を学ぶ会です。

感想としては、機械学習のプロセスをKaggleのdataを使って一通りやれたのでかなり満足感あります。

実際にやった内容

ツールとしては、scikit-learnpandasを使用しました。

www.kaggle.com

Kaggle入門としてはあまりにも有名なTitanicを使いました。

学習プロセス

  • データを取得してくる(今回はKaggleを使いました)
  • Pandasでデータの下ごしらえ(欠損値の穴埋め、文字を数値化する)
  • 複数の学習Modelを試してModelを選択する
  • 各モデルのベストなハイパーパラメーターを調査する
  • 複数モデルを組み合わせて予測する

Bootcamp前に思っていた機械学習をやる上での壁

  • 機械学習とはがそもそもわかってない
  • Pythonわからん
  • 英語が読めないと勉強できなさそう
  • 数式が全く読めない
  • どういうモデルがあってなんでそれを使うかがわからない

と5つくらいある気がしてて。機械学習どこからやればいいのかなにから手を付ければいいのかわからない方って結構いると思います。

今回Bootcampをやってわかったこと

Jupyter notebook便利

Jupyter notebookずるい。これがデフォルトで使えるPythonずるい。ブラウザさえあればPythonを動かせる環境が作れるのはすごい。 実行して、確認してというサイクルがめちゃくちゃ簡単なのは本当に重要。 大学の講義とかでPythonじゃなくてC, Javaとかやってるの意味がわからないレベルに便利。 PythonよくわからなくてもJupyter notebookでごにょごにょやってたらとりあえず動かせそうってぐらいには便利。

最初は数式わからなくても良い

scikit-learnに登録されているメジャーなモデルをとりあえず色々使ってみてデータを食わせてmodelを作って予測する。 ここまでにほとんど数式を理解せずに動かせました。数式はいつかは絶対に避けて通れない壁ではあるけど、チュートリアルレベルでは必ずしも理解していなくてもよい、というのがわかりました。

英語なくてもある程度出来る?

セミナーではずっと日本語で行われていたのと参考にしたページも日本語で書かれているものだったので英語をそんなに読まなくても動かすことは出来ました。 しかし、methodやClassの説明を読むにも英語を使うし、scikit-learnの本家のドキュメント読む必要があるので英語は結構読めないと今後はきついだろうなぁという印象。

いくつかのメジャーなモデルをとりあえず試す

やる前は機械学習をやるにおいてそれぞれのモデルの仕様や仕組みを理解しておくのは前提知識として絶対だと思ってました。しかし実際に動かしてみるレベルでいうとメジャーなモデルは用意されているし、scikit-learnで操作方法がすべて統一されているので同じmethodを叩くことで同じように結果が得られる事がわかりました。なのでざっくりの知識でもとりあえずデータを整形して食わせてあげることでそれなりに動くんだなぁというのがわかりました。

まとめ

なんとなく機械学習やらないとなーと思っていたので今回の講義はめちゃくちゃ有益なものでした。ざっくりとした全体像がなんとなくわかったした気がして良かったです。 データをごにょごにょして予測するというのは前からDBのデータでSQL走らせてみたり、Google Analyticsとかでやっていたのでそれを機械学習なんかで出来たら今後面白くなりそうな気がしてます。それと久しぶりに新しいものを短い期間にがーっと詰め込んで学んでコード書くという体験をしてやっぱりプログラミングとか学ぶのって楽しいなぁと思いました。

宣伝

沖縄ではこういうイベントがこれからもどんどんやっていく予定みたいなので沖縄遊びに来てください。

東京で消耗してたら、物価安い場所に移住して機械学習とか学んで新しい仕事見つけたりしてもいいんですよー。

実際に書いたコードはこちら

Titanic challenge at Koza Machine Learning Bootcam ...