松尾研データサイエンティスト育成講座体験記
2020-02-12 人文情報学勉強会 村田祐菜
【概要】
2017年から東京大学松尾研究室が主催。対象は理系の学部三年生~四年生、大学院生を中心とし、専門書に入る前のデータサイエンス入門的な位置付け
・東京大学グローバル消費インテリジェンス寄付講座ホームページ
・コンテンツ公開ページ
―授業で使用している教材をダウンロード可能
・参考文献
『東京大学のデータサイエンティスト育成講座』塚本 邦尊 ほか著、中山 浩太郎、松尾豊 監修
―講義の教材を基とした書籍版
【授業について】
―ローカルにpythonの環境を構築する必要がない
―受講生全員が同じ環境で受講できる
―google colaboratoryと類似
・Slackで授業動画公開、TAへの質問や受講生同士の質問、議論が活発に行われている
・修了用件
毎週課題を提出+二回のデータ分析コンペへの参加
・受講生
―2019年度講義のSlackのチャンネル参加者は852人
―初心者~上級者まで幅広い印象
―python自体については初回の解説のみで進むので基本的な知識は別にフォローアップが必要
【どんなことを学べるのか】
1.pythonでデータを扱うための処理方法や可視化の技術を身につける
〈Week1~3〉
・python基礎、Numpy、Scipy、Pandas、Matplotlibの基礎
Numpy(ナンパイ):基本的な配列処理や数値計算をするライブラリ。高度で複雑な計算ができるほか、Pythonの通常の計算に比べて処理速度が速い。さまざまなところで使われており、データ分析で使うのに基本中の基本とも言えるライブラリ
Scipy(サイパイ):Numpyをさらに機能強化するライブラリ。統計や信号計算ができる
Pandas(パンダス): データフレーム形式でさまざまなデータを加工するためのライブラリ
Matplotlib(マットプロットリブ): データをグラフ化するためのライブラリ
・欠損値や異常値、時系列データの扱い方
〈Week4〉
・確率と統計の基礎
―記述統計と推論統計
―質的データと量的データ
・Skit-learnで線形回帰分析
2.機械学習の手法と評価
〈Week5~9〉(現在はWeek7)
・教師あり学習と教師なし学習、強化学習
教師あり学習:説明変数(インプット)から目的変数(アウトプット)を予測するモデルを求める
教師なし学習:目的変数がなく入力データそのものに注目した学習で、データに潜むパターンや示唆を見出そうとする
3.データ分析コンペ
・第一回
―タイタニック号の乗客に関するさまざまな情報から、その乗客が最終的に生存したかどうかを予測する(教師あり学習)
・第二回
―ワインの成分データからワインの評価を予測する(教師なし学習)
・第三回
―PUBG(Player Unknown's Battle Ground) (http://pubg.com/) データセットに含まれる対戦データから、プレイヤーの勝率を予測 【受講してみた感想】
●受講環境について
・iLect上で教材入手・受講・宿題の採点が全て完結しているため、環境構築に時間を割く必要がなく、内容に集中できる
―自分の研究でデータ分析を使用するとなると、pythonが実行できる環境を自分で構築する必要がある。
●研究手法として取り入れるには?
・どのようなデータに対するどのような課題において有用なのか?
―データ形式:CSV形式で公開されているとPandasのDataframeオブジェクトとして扱えるので前処理が簡単
―画像認識、作者推定、クラスタリングなど
―ある単語を使用しているか否かを説明変数として短歌をクラスタ分析して、結社区分と比較してみる?
●身につけられる知識について
・データの前処理
―欠損値、異常値の扱い方、データのスケーリングなどの手法
・CSV形式のデータを読み込み、処理、可視化することができるようになる
・機械学習の手法について一通り学ぶことが出来るが、実際のデータに用いる際にどの分析手法を用いるべきかについては深くは触れられない(解釈性と精度)
―分析手法の評価方法は?(最終的にあるデータに対して精度の高い予測値を出したことに対して評価される?)
・数式が出てくると厳しい
↔「厳密な数式に基づいた内容というよりも、データ分析の現場に必要なスキルを身に着ける」というスタンスなので、分析に用いられている理論をそこまで理解しなくても、とりあえずpythonのライブラリを使えば人文系の人でも予測ができてしまう。
●その他
・欠損値や異常値の扱いによって予測精度が大きく変わる
・(精度は別として)データの変数の相関関係を数値化できるのは面白い
・この講義を受けたからといってデータサイエンティストになれるというわけではなく、参考文献で発展的な内容を勉強していく必要がある