Upgrade to Pro — share decks privately, control downloads, hide ads and more …

データ分析・機械学習のためのPython入門勉強会

 データ分析・機械学習のためのPython入門勉強会

AI Business Challenge Day:第3回 機械学習実践勉強会 データ分析・機械学習のためのPython入門(2017.09.09)

ISHIGO Yusuke

October 16, 2017
Tweet

More Decks by ISHIGO Yusuke

Other Decks in Programming

Transcript

  1. ࣾ ձ ʹ ؾ ͮ ͖ Λ ༩ ͑ Δ

     ಓ ۩  Λ ։ ൃ ͠ · ͢
  2. 本日の流れ 1. Pythonについて 2. 開発環境の構築  ・pyenv、anacondaのインストール 3. ライブラリを使ってみる  ① 標準ライブラリでWebサイトからスクレイピング

     ② 「matplotlib」で取得したデータのグラフ表示する 4. 基本的な機械学習アルゴリズムを自作してみる  ① エクセルのデータを読み込んでグラフ表示する  ② 「協調フィルタリング」の実装 5. 「scikit-learn」で簡単に機械学習を実践してみる
  3. Pythonの特徴 Perlとの思想的な違い Perl There’s More Than One Way To Do

    It. やり方はひとつじゃない Python There should be one-and preferably only one- obvious way to do it 誰もが良いと考えるたったひとつの方法があるはずだ
  4. 本日の流れ 1. Pythonについて 2. 開発環境の構築  ・pyenv、anacondaのインストール 3. ライブラリを使ってみる  ① 標準ライブラリでWebサイトからスクレイピング

     ② 「matplotlib」で取得したデータのグラフ表示する 4. 基本的な機械学習アルゴリズムを自作してみる  ① エクセルのデータを読み込んでグラフ表示する  ② 「協調フィルタリング」の実装 5. 「scikit-learn」で簡単に機械学習を実践してみる
  5. 開発環境のインストール ①(pyenv) ・Homebrewを使っている場合 brew install pyenv exec $SHELL -l ・Homebrewを使っていないもしくはMacportsを使っている

    git clone https://github.com/yyuu/pyenv.git ~/.pyenv sudo vim ~/.bash_profile export PYENV_ROOT="${HOME}/.pyenv" if [ -d "${PYENV_ROOT}" ]; then export PATH=${PYENV_ROOT}/bin:${PYENV_ROOT}/shims:${PATH} eval "$(pyenv init -)" fi exec $SHELL -l 以下のコードを追加する
  6. 開発環境のインストール ①(anaconda) pyenv install anaconda3-4.0.0 anacondaがインストールされているか確認する pyenv versions anacondaを有効にする pyenv

    global anaconda3-4.0.0 condaでよく使うコマンド http://geisterhacker.com/index.php/2017/04/26/conda-command/ pipがcommand not foundになる場合の解決策: http://kurogomapurin.hatenablog.com/entry/2015/10/06/154259
  7. 言語の特徴 ① 1.文末のセミコロンは不要 print(“Hello, world!”) 2.変数に型は必要ない(動的型付け=ダックタイピング) hoge = “Hello, world!”

    hoge = 123 print(“Hello, world!”); ◯ × String hoge = “Hello, world!” int hoge = 123 × ◯ If it walks like a duck and quacks like a duck, it must be a duck. もしそれがアヒルのように鳴き、アヒルのように歩いたら、それはアヒルである
  8. 配列 ① fruits = [‘りんご’, ‘ぶどう’, ‘ばなな’] 変数に番号を付けてまとめたもの fruits 0

    1 2 りんご ぶどう ばなな print(fruits[1]) print(len(fruits)) 配列の番号を指定して要素を取り出す 配列の要素の数を取得する
  9. 配列 ② 変数に番号を付けてまとめたもの fruits 0 1 2 りんご ぶどう ばなな

    fruits.pop(0) fruits.append(‘れもん’) 配列の0番目の要素を削除する 配列の最後に要素を追加する
  10. 配列とfor文の連携 fruits = [‘りんご’, ‘ぶどう’, ‘ばなな’] for i in range(len(fruits)):

    print(fruits[i]) 配列の要素数分繰り返して、要素を取得する for i, e in enumerate(fruits): print(e)
  11. 本日の流れ 1. Pythonについて 2. 開発環境の構築  ・pyenv、anacondaのインストール 3. ライブラリを使ってみる  ① 標準ライブラリでWebサイトからスクレイピング

     ② 「matplotlib」で取得したデータのグラフ表示する 4. 基本的な機械学習アルゴリズムを自作してみる  ① エクセルのデータを読み込んでグラフ表示する  ② 「協調フィルタリング」の実装 5. 「scikit-learn」で簡単に機械学習を実践してみる
  12. ライブラリを使ってみる ① from urllib import request import bs4 url =

    ‘http://www.jma.go.jp/jp/week/328.html’ html = request.urlopen(url).read() soup = bs4.BeautifulSoup(html, ‘html.parser’) res = soup.find_all(attrs={‘class’: ‘maxtemp’}) for i, e in enumerate(res): print(e.text[0:2]) BeautifulSoup4 HTMLを操作するためのPythonパッケージ conda install beautifulsoup4
  13. ライブラリを使ってみる ② import numpy as np from matplotlib import pyplot

    pyplot.hist(np.random.randn(1000)) pyplot.show() MatPlotLib グラフを表示するパッケージ
  14. 本日の流れ 1. Pythonについて 2. 開発環境の構築  ・pyenv、anacondaのインストール 3. ライブラリを使ってみる  ① 標準ライブラリでWebサイトからスクレイピング

     ② 「matplotlib」で取得したデータのグラフ表示する 4. 基本的な機械学習アルゴリズムを自作してみる  ① エクセルのデータを読み込んでグラフ表示する  ② 「協調フィルタリング」の実装 5. 「scikit-learn」で簡単に機械学習を実践してみる
  15. 本日の流れ 1. Pythonについて 2. 開発環境の構築  ・pyenv、anacondaのインストール 3. ライブラリを使ってみる  ① 標準ライブラリでWebサイトからスクレイピング

     ② 「matplotlib」で取得したデータのグラフ表示する 4. 基本的な機械学習アルゴリズムを自作してみる  ① エクセルのデータを読み込んでグラフ表示する  ② 「協調フィルタリング」の実装 5. 「scikit-learn」で簡単に機械学習を実践してみる