セッションの説明

タイトル

Python 機械学習ことはじめ

内容

Pythonで機械学習を行う際の、データハンドリングを中心に デモ形式で説明します。

時間的に限りが ありますので、細かな説明を行うのではなく、順次実行していく 状況を見て、Pythonでは どのように実行しているのかを知ってもらうことを目的とします。

Webブラウザで実行できる、Jupyter Notebookを用います。実行した内容はGithubで公開しますので、詳細の動きは後から自分自身で 復習できます。

https://github.com/terapyon/scsk-oss-x-users-meeting-19

説明資料は以下にあります。

https://speakerdeck.com/terapyon/pythonji-jie-xue-xi-kotohazime

本日の流れ

  • データの入手(2箇所から、CSVファイル)
  • データの概要確認
  • データの結合
  • データの加工
  • 欠損値処理
  • グラフツールによる可視化
  • 関連度などを確認
  • データの保存
  • 機械学習をやってみる

使用するツール

詳細は、 requirements.txt を参照のこと

セットアップ方法

$ python3 -m venv env
$ source env/bin/activate
(env) $ pip install -r requirements.txt

資料の公開

このドキュメントを含めて、github上で公開しています。

https://github.com/terapyon/scsk-oss-x-users-meeting-19

ライセンスは、MIT Licenseです。詳細は、 LICENSE を参照のこと

使用しているデータはそれぞれの配布元のライセンスに従って下さい。

  • 気象データは CC BY 4.0 気象庁 (互換)
  • インフルエンザ報告データは CC BY 千葉市

このセッションで理解してほしいこと

データハンドリングは、「データの前処理」ともいわれてります。この前処理は、データ分析・機械学習において重要であり、もっとも時間がかかるタスクです。このセッションでは、データハンドリングの方法を中心に見ていきます。

  • Pythonで、どのようにデータハンドリングを行い、可視化し、機械学習に繋げていくのかの流れを理解して欲しいと思っています。
  • サンプルのデータセットではない物を使用することで、実際データハンドリングに近い状態の作業をを見て欲しいと思っています。
  • Jupyter Notebookでおさらいし、ドキュメントを確認して、自身で独自のデータに取り組めるようになって欲しいと思っています。
  • 2値分類の機械学習を通じ、機械学習の面白さ、難しさを知ってほしいと思っています。

自己紹介

  • 寺田 学  @terapyon
  • 一般社団法人PyCon JP 代表理事
  • (株)CMSコミュニケーションズ 代表
  • Pythonを使ったWeb技術を中心に業務でPythonを使っている
  • Python製CMSツールのPloneのコアコミッター
  • その他、OSS系のコミュニティに所属

書籍の紹介

プログラミング初学者

Python

データ系


In [1]:
from IPython.display import Image

In [2]:
Image(url="http://www.seshop.com/static/images/product/20258/L.jpg")


Out[2]:

事前準備の確認

必要になるライブラリのインポートを行い、インストールが完了しているか確認します。


In [3]:
!python -V


Python 3.6.1

In [4]:
import numpy as np  # NumPyの呼び出し

In [5]:
import pandas as pd  # pandasの呼び出し

In [6]:
import matplotlib.pyplot as plt # matplotlibの呼び出し

In [7]:
import sklearn  # scikit-learnの呼び出し