Edited at

機械学習の理論Python編 #1 Unit 1: 環境構築、データ探索の流れ [MOOC/edX]


はじめに

何回かに分けて、大規模オープンオンライン講座MOOCの講座で学んだことをまとめていきます。

この記事では、edXの「Principles of Machine Learning: Python Edition(機械学習の理論 Python編)」をまとめます。

次回の記事


シラバス

この講座では、機械学習の使い方、モデルの構築、評価、改善の仕方を学びます。理論と実践的な事例どちらも含みます。

Unit 0: はじめに

Unit 1: 機械学習へのイントロダクション

Unit 2: データ探索

Unit 3: データの整理と準備

Unit 4: 教師あり学習への導入

Unit 5: モデルパフォーマンスの向上

Unit 6: 機械学習のアルゴリズム

Unit 7: 教師なし学習

Unit 8: 最終テスト


演習のための環境構築

Jupyter notebookが使えるAzure Notebooksを使って講座で提供されているプログラムファイルをクローンし、演習をしていきます。ブラウザへのログインだけで環境構築する必要がほぼないのが嬉しいです。


  1. (なければ)Microsoftアカウントをここから作る

  2. Azure Notebooksの無料アカウントをここから作る

  3. MicrosoftアカウントでAzure Notebooksにサインインする

  4. Librariesをクリックして新規ライブラリを作る
    Screen Shot 2018-10-17 at 13.27.16.png

  5. From Githubを選択してGithubのリポジトリにMicrosoftLearning/Principles-of-Machine-Learning-Pythonを入力する

  6. ライブラリに好きな名前とIDを付けて、importをクリック
    Screen Shot 2018-10-17 at 13.29.50.png

  7. RunでJupyter notebookが起動する
    Screen Shot 2018-10-17 at 13.32.28.png


Unit 1. 機械学習へのイントロダクション


1. データ探索の流れ

異なる時代で複数の同じようなプロセスが提唱されている1。その中でも「CRISP-DM」(下図)はくり返しの中にビジネス的視点が入っているので一番良さげ。今回はこれを採用する。

Screen Shot 2018-10-16 at 23.36.06.png

STEP 1. 問題の理解

問題と目的は、「NYのマンホールは火事とかの事故が多いので、点検の優先度を決めたい」とする。具体的には、以下の2つのタスクを設定。

(1) 事故の予測の精度を評価する

(2) 点検コストと利益のトレードオフを評価分析する

STEP 2. データの理解

例) 工事のおじさんが書いた事故レポート(テキストデータ)、マンホールの点検記録、地下電線の記録、など...。

STEP 3: データの準備(選択と整理)

データ探索の99%を占める。例えば、工事のおじさんが書いたレポートを以下のようにベクトルに落とし込む。


  • 重大、やや重大、事故未満

  • 発生年月日

  • マンホールの種類

  • ...

→ こういうデータを全て表に統合し、IDをつける

STEP 4: モデリング

例えば


  • YES/NO(1/0)で答えたいとき → クラス分類(Classification)

  • 数値を予測したいとき → 回帰(Regression)

  • 似てるグループで分けたいとき → クラスタリング(Clustering)

  • 顧客のレーティング値で物をおすすめしたいとき → レコメンデーション(recommender system)

  • などたくさん...

→モデルを適用する方針を構築する

モデルをどのように問題解決の方針に適用するか?(モデルの構築は予測、方針の構築は処方的な感じ(分かったような分からないような))。

STEP 5: 評価

実際に起こったデータと照らし合わせてモデルの精度を評価する(ブラインドテスト)。

STEP 6: デプロイ

デプロイするための実証だけで、プロジェクトの95%が停止するので注意。


2. とりあえず試してみる(K近傍法)

次回


今後の予定

随時記事のリンク追加予定


その他(いつか)まとめる予定の他の講座の記事一覧





  1. 正確には①2012年の「CCC(Computing Community Consortium)ビッグデータパイプライン」、②1996年の「KDD(Knowledge Discovery in Databases)プロセス」、③2000年の「CRoss Industry Standard Process for Data Mining」という3つのビッグデータ解析手法。