12月から始まった東大のデータサイエンティスト講座、無事修了しました!
GCI Online Course 東大のデータサイエンティスト/未来のCMO育成講座のオンラインコースです
3ヶ月でデータサイエンティストを要請するという講座でなんと無料です。
●コースの概要
* 大量のデータを自由自在に解析・分析し、隠れた関係性を発見する。そんなスキルを身につけた「データサイエンティスト」に対する需要は、工学分野だけならず、医療・経済・経営・ライフサイエンスなど非常に多くの分野で高まる一方です。
* 本コースでは、あらゆる分野で武器になるデータの解析・分析スキルのコアとなる機械学習およびビッグデータを扱う技術、分析結果を効果的に可視化する技術の基盤を網羅的に身につけ、一人前のデータサイエンティストとして活躍する入り口に立つことを目指します。
* 受講費用は一切発生しません(通信費等は自己負担でお願いします)。
とにかく課題の量が多い。この3ヶ月は毎日が機械学習漬けでした。
前年度のテキストが販売されていたので、目を通してみましたが、あまりの難しさにこりゃ無理だと投げそうになりました。
東京大学のデータサイエンティスト育成講座 塚本 邦尊
https://www.amazon.co.jp/dp/B07PD237GQ/ref=cm_sw_r_tw_dp_U_x_j1bHEb66RA461
ですが、テキストがよく練られていたこと、Slackで随時質問できる事と、チームで参加した事と、サポート体制にずいぶん助けられ、なんとか修了までこぎつけました。
うえっとなったテキストが読めるようになる。これは自信になります。4月からまた受講者を募集しておりますので、これから機械学習をはじめようと思うみなさまにぜひおすすめしたいと思います。
受講テスト(12/7〜12)
受講前にスキルを確認のためのテストがありました。WhirlwindTourOfPythonのような基礎的なレベルですとのこと。リンク先がいきなり英語の解説で面食らいました。Pythonをかじっていたので何とかクリア。
問題は、行列の問題をPythonで解いて出すというもの。数学は中学校で挫折したので問題の意味がさっぱりわからず。数学が得意な人に教えていただきどうにかクリアしました。
第1回(12/18) データサイエンスとは、Python基礎、ライブラリ
IT化によりデータが大量にあるのにほとんど分析されていない。 これを分析すると、ビジネスにとんでもなく生かせる事ができる、、、という講義でした。翌日に動画で配信があり面白かったです。それからPython基礎です。
第2回(12/25) Pythonによる科学計算とデータ加工処理の基礎(Numpy,Pandas)
Pythonの表計算を学びました。全部コマンドのExcelみたいなものです。集計、統計、etcこの後めちゃくちゃ使いました。
コンペその1タイタニック号の生死予測。
KaggleのTitanic: Machine Learning from Disasterと同じです。
最初はまったく分からず、映画を見て予測を思いついても、どうやって実装したらいいか暗中模索でした。Kaggleやチーム、Slackで意見交換しながら粘りました。アイデアがスコアに結びつくと面白くなってきます。結果を次の予測に再利用するなんちゃってブースティングでランクインしました。コンペ後に上位のコードが公開されるのですが、ほんと頭のいい人がいるんだなーと感心するばかりです。
第3回(1/8) データサイエンスにおけるデータの可視化(Matplotlib)
グラフ、相関行列とヒートマップの作り方を学びました。なかなか思うように表現できないので、最初は美しいグラフを集めて、そのコードをコピペしながら慣れると良いようです。
第4回(1/15) 確率統計の基礎
合計、平均などの統計、散布図、ヒストグラムなどの図の書き方。確率・統計はさっぱり分からず。初心者問題を解くのがやっとでした。
コンペその2 ワインのクオリティ
ポルトガルのワインプロジェクトより、4898本のワインの成分とソムリエによる評価を読み込んで、成分からおいしさを予測するというものです。ワインは大好きなのです。何かというとお店のワインのラベルを読んではあれこれ考えるという楽しいコンペでした。
第5回(1/29) 機械学習の基礎(教師あり学習)
教師あり学習、教師なし学習、強化学習について。タイタニックやワインの予想で使っている手法をもう一度丁寧に解説。重回帰、ロジスティック回帰、ラッソ回帰、リッジ回帰、K-NN、 サポートベクターマシンあたりをチュートリアルに沿ってぽちぽちしていけば、なんとなく使えるようになった・・・気がします。
第6回(2/5) 機械学習の基礎(教師なし学習)
教師なし学習、目的変数がない学習モデルの構築を学びました。ざっくり分類、クラスタリング、主成分分析・・・。正直まだよく理解できていません。事前情報なしにデータをふるい分けできるのは便利なので覚えておく・・・というレベル。要復習ですね。
コンペその3 PUBGの勝者予想
KaggleのPUBG Finish Placement Prediction (Kernels Only)と同じです。
PUBGは100人の参加者が島に送られバトルロワイヤルするというゲームです。やってみましたが討ち死にしてばかり。まずはよく遊ぶ人にゲームをしている所を見せていただきました。アイテム、乗り物、武器の活用、刻々と狭まる安全圏にどう潜り込むかが勝負の決め手のようです。
しかしゲームの強さをどうコードにしたらよいかがさっぱり分かりません。
Kaggleにはどのように予測したかがNotebookとして沢山公開されています。目から鱗のアプローチがたくさんありました。
機械学習がものすごいスピードで発展するわけです。強そうなコードを組み合わせて提出するとそこそこいいスコアがとれました。
第7回(2/12) モデルの検証方法とチューニング方法
モデルのパラメータを調整、さまざまなモデルの特徴、複数のモデルを組み合わせての予測を学びました。
ちゃんとやろうとすると前例主義に陥ったり考えすぎで外したりするので、多少アソビを作っておくというイメージです。
それから、バギングというデータをいくつかに分割して学習させあう方法を実装すると、予測精度がぐっと良くなりました。
まだよく理解できていないので、深めたいところです。
第8回(3/4) データサイエンティスト中級者への道
第一線で活躍している方をお呼びして現場の話でした。マーケティング、物を売るには、どう思ってもらいたいかなど、データをビジネスの課題に生かす方法について学びました。CMの効果測定の話などすごく面白かったです。それから深層学習、Pythonを高速に実行するためのアルゴリズム、Pyspark、SparkSQL、その他数学的手法の紹介、エンジニアリングツールの紹介でした。
最終課題 Home Credit社への新規事業提案
東南アジアで展開するクレジット会社、Home Credit社のデータを分析して、新たなビジネスを提案しましょうというもの。
昨年おこなわれたKaggleのHome Credit Default Riskのデータを使って、別の切り口を機械学習を知らない経営陣にプレゼンするのです。これもまた見当もつかないところから、8回目の講義を参考に、こんな予測なら喜ばれるかなと考えてどうにか提出しました。
修了して
こうして振り返るとよく修了できたなーと我ながら感心してしまいます。講座のみなさまの手厚いサポートに感謝しきりです。
コロナでいろいろな予定がキャンセルになりましたので、ぼちぼち復習していこうと思います。
4月からまたGCI 2020 Summerが始まりますので、機械学習に興味のある方はぜひ。おすすめです!