scikit-learnによる機械学習入門 ~機械学習ヲ体感セヨ~

By Kenji Kawanobe

Elevator Pitch

五感を使って私たちは、色々な情報を見分けたり、聞き分けたり嗅ぎ分けたりすることができます。数値情報しか扱えないコンピュータはどのように学習し情報を判別しているのでしょうか。本トークでは、Pythonのscikit-learnを用いて機械学習の仕組みや、実装の仕方について発表します。メインテーマはk最近傍法とよばれる学習アルゴリズムによるクラス分類と回帰分析です。また、機械学習の理解をより深めるために不可欠なmatplotlibによるグラフの作成やサンプルデータの加工方法についても解説していきます。

Description

機械学習ヲ体感セヨ

数値情報しか扱えないコンピュータはどのように学習をしているのでしょうか。
本トークでは、Pythonのscikit-learnを用いて機械学習の仕組みや、実装の仕方について発表します。  

メインテーマはk最近傍法とよばれる学習アルゴリズムによるクラス分類と回帰分析です。
また、機械学習の理解をより深めるために不可欠なmatplotlibによるグラフの作成や
サンプルデータの加工方法についても解説していきます。

以下、本トークのアジェンダです。

1. 人間学習 vs 機械学習

“人間の学習する仕組み”と”コンピュータが学習する仕組み”の違いについて簡単に説明します。
また、簡単な自己紹介をここでさせて頂きます。

2. pandasによるデータの取得・観察

pandasを使ってサンプルデータを取得してみましょう。
またpandas,Numpyによる簡単な前処理を行なっていきます。

3. Matplotlibによるグラフ作成

Matplotlibによる棒グラフ・散布図の作成方法、グラフから分かる特徴量の関係性について説明します。

4. KNeighborsClassifierによるクラス分類

scikit-learnのKNeighborsClassifierのモデル構築とクラス分類について説明します。

5. KNeighborsRegressorによる回帰分析

scikit-learnのKNeighborsRegressorのモデル構築と回帰分析について説明します。

※一部変更があるかもしれませんがご了承下さい。

主に触れる関連技術

  • scikit-learn
    学習モデルの構築、訓練/テストデータの分割に用いられる

  • Numpy
    標準のリスト型よりも、効率よく多次元配列を扱える

  • pandas
    データの取得・加工等、データ分析に用いられる

  • matplotlib
    2次元グラフの描画に便利 棒グラフや散布図などなど…

etc…

Notes

各セクションのPython関連の技術的な詳細内容です。 必要に応じてjupyter_notebookを用いてリアルタイムで実行デモを行う。

1. 人間学習 vs 機械学習

  • アイスブレイクも兼ねているため、ここではまだPython関連の説明は無し。

2. pandasによるデータの取得・観察

  • csv,excel,webページからのデータ取得方法
  • データの整形・抽出・並び替え
  • データの欠損値処理
  • DataFrame型について

3. Matplotlibによるグラフ作成

  • Matplotlibを使った棒グラフの作成と編集
  • Matplotlibを使った散布図の作成と編集

4. KNeighborsClassifierによるクラス分類

  • scikit-learnを使った訓練・テストデータの分割方法
  • KNeighborsClassifierモデルの構築
  • 決定境界の可視化

5. KNeighborsRegressorによる回帰分析

  • 回帰分析について
  • KNeighborsRegressorモデルの構築

※一部変更があるかもしれませんがご了承下さい。

ターゲットとしている聴講者

  • Pythonを使って機械学習を始めたい人
  • 機械学習はじめたけど挫折した人