みんなのPython勉強会	#6	
Nov.	9,	2015	
阿久津 剛史	
1	
私のPython学習奮闘記#4	
 〜機械学習編〜

自己紹介	
•  阿久津 剛史	
	Twi7er	@akucchan_world	
•  某メーカー勤務	
– 元光通信エンジニア	
– 現マーケティング担当	
•  Python経験1年弱	
– 趣味と実益に生かそうと勉強中	
2
学習奮闘記バックログ	
3	
バックログ	 内容	
#1	
学習方針	
•  参考書	
•  インターネット	
•  コミュニティ(勉強会、仲間)	
#2	
データ解析	
•  Pythonによるデータ分析	
•  ExcelとPythonの比較	
•  オープンデータの解析	
#3	
トラブルシューティング	
•  初心者の悩み	
•  トラブル解決策	
•  モチベーションの維持	
バックログ資料はこちら	
h7p://startpython.connpass.com/presentaJon/
Contents	
1.  データサイエンスとの出会い	
2.  Python	x	機械学習	
3.  基本スキルの習得	
4.  Pythonによる実践	
5.  今後の課題	
6.  まとめ	
4
Contents	
1.  データサイエンスとの出会い	
2.  Python	x	機械学習	
3.  基本スキルの習得	
4.  Pythonによる実践	
5.  今後の課題	
6.  まとめ	
5
データサイエンスとの出会い	
Thomas	H.	Davenport	and	D.J.	PaJl,	
“Data	ScienJst:	The	Sexiest	Job	of	the	
21st	Century”,	HBR	(2010,	Oct.)	
	
•  「データサイエンティストは21世紀、
もっともセクシーな職業になる」	
	
•  ビッグデータとアナリティクスによる
新たなビジネスの可能性	
6
データサイエンスってなに?	
トーマス・H・ダベンポート、	
『データ・アナリティクス3.0	』	
	
•  ビッグデータのインパクト	
•  ビジネス事例(GE、UPSなど)	
	
•  関連技術	
•  Python	
•  機械学習	
•  自然言語処理	
7
データサイエンスの3要素	
h7p://www.revelyJx.com/?q=content/what-data-science-0	
数学	ハッキング	
実務能力	
8
Contents	
1.  データサイエンスとの出会い	
2.  Python	x	機械学習	
3.  基本スキルの習得	
4.  Pythonによる実践	
5.  今後の課題	
6.  まとめ	
9
まずはPython!	
10
Python学習歴	
11	
2014/7	 2014/10	 2015/1	 2015/4	 2015/7	
教科書	
『Pythonスタートブック』	
中断	
オンラインコース	
MIT	6.00.1x/2x	
勉強会	
Start	Python	Club	
2015/10	
☆	Start
Python学習曲線	
12	
2014/7	 2014/10	 2015/1	 2015/4	 2015/7	
スタート	
ブック	
中断	
オンライン	
コース	
Start	Python	Club	
2015/10	
レベル	
初級者:コードが読める	
中級者:実務に使える	
上級者:自由に書ける
つぎ、いってみよう〜!	
13
機械学習ってなに?	
14	
機械学習(きかいがくしゅう、英:	machine	learning)
とは、人工知能における研究課題の一つで、人間
が自然に行っている学習能力と同様の機能をコン
ピュータで実現しようとする技術・手法のことである。	
Wikipedia,	「機械学習」		
h7ps://ja.wikipedia.org/wiki/機械学習
機械学習の実用例	
15	
Google自動運転プロジェクト	 カード不正利用の自動検出	
PYMK	(People	You	May	Know)	 レコメンデーション
機械学習の理論は難解	
16	
•  テキストは豊富	
–  『パターン認識と機械学習』
(通称:PRML)	
–  講談社、『機械学習プロフェッ
ショナルシリーズ』	
•  理解は難解	
–  大学レベルの数学(線形代数、
解析、統計学)	
•  実務まで遠い	
–  初心者にはプログラミングも
課題
puriketu99さんのQiitaブログ	
17	
h7p://qiita.com/puriketu99/items/c519a95c0b16ea63c1ac	
重要だと思ったこと3つ	
  1.機械学習に明るい友人をもつこと	
  2.学習用データの縦と横のサイズダウンをすること	
  3.理論を勉強するよりもコードを書いた方が速いということ
私の学習戦略	
•  方針	
– 理論の基礎レベルはつかもう	
– コード実習を重視	
18	
理論基礎	
•  参考書	
•  オンライン学習	
コード実習	
•  参考書	
•  Scikit-learn公式サイト
Contents	
1.  データサイエンスとの出会い	
2.  Python	x	機械学習	
3.  基本スキルの習得	
4.  Pythonによる実践	
5.  今後の課題	
6.  まとめ	
19
『実践機械学習システム』	
著者:	
Willi	Richert,	Luis	Pedro	Coelho	
•  scikit-learnを中心とした
Pythonによる機械学習	
•  多くのコード例	
•  原本はVer.2でPython	3.xに
対応。サンプルコードも大幅
改訂。	
•  ただしタイポなど多いので要
注意	
20
Scikit-learnホームページ	
21	
h7p://scikit-learn.org
DAT203x:	
Data	Science	and	Machine	Learning	EssenJals	
22	h7ps://www.edx.org/course/data-science-machine-learning-essenJals-microsok-dat203x	
•  Microsokが提供するオンラインコース	
•  Azure	MLを使いながら機械学習の基礎を学習	
•  PythonとRの好きな方を選択
Intro	to	Machine	Learning	
23	
•  Stanford	Univ.の自動運転車の研究者が講師	
•  約10週間のコース	
•  プログラミング(Python)、統計に関する基本的
な知識が履修要件	
h7ps://www.udacity.com/course/intro-to-machine-learning--ud120
Stanford	University:		
Machine	Learning	
24	
•  Stanford	Univ.の研究者、百度(Baidu)のチーフ
サイエンティストが講師	
•  11週間のコース	
•  機械学習の全般的なスキルを学習する	
h7ps://www.coursera.org/learn/machine-learning/
Contents	
1.  データサイエンスとの出会い	
2.  Python	x	機械学習	
3.  基本スキルの習得	
4.  Pythonによる実践	
5.  今後の課題	
6.  まとめ	
25
UCI	Machine	Learning	Repository	
26	h7ps://archive.ics.uci.edu/ml/index.html	
•  UC	Irvineが収集、管理している機械学習レポジトリ	
•  335件のデータセット	
•  分類、回帰、クラスタリングなど各種の機械学習に
適用可
Iris	Flower	Data	Set	
•  3種のアヤメ(Iris)の特徴量
を収集したデータセット	
•  Ronald	Fisherが1936年の論
文で紹介	
•  線形判別分析(LDA)を適用	
•  UCI	ML	Repositoryに収録	
•  150件のデータ	
•  機械学習の入門用データ
セットとして利用されている	
27	h7ps://en.wikipedia.org/wiki/Iris_flower_data_set	
Iris	setosa	 Iris	versicolor	
Iris	virginica
Irisデータセット	
28	
sepal	
length	
がく片	
長さ	
sepal	
width	
がく片	
幅	
petal	
length	
花弁	
長さ	
petal	
width	
花弁	
幅	
class	
品種	
5.1	 3.5	 1.4	 0.2	 Iris-setosa	
4.9	 3	 1.4	 0.2	 Iris-setosa	
4.7	 3.2	 1.3	 0.2	 Iris-setosa	
4.6	 3.1	 1.5	 0.2	 Iris-setosa	
5	 3.6	 1.4	 0.2	 Iris-setosa	
…	 …	 …	 …	 …	h7p://sebasJanraschka.com/
ArJcles/2014_python_lda.html	
特徴量	
(Features)	
ラベル
(Label)
sca7er-matrix	
29
主成分分析(PCA)	
30
その他のデータセット	
31	
Method	 Contents	
load_boston()	 Boston市内の不動産価格のデータセット。
部屋の広さ、周辺の犯罪率などの特徴量が
ある。回帰分析に用いる。	
load_diabetes()	 糖尿病患者のデータセット。年齢、入院履歴
などの特徴量がある。回帰分析に用いる。	
load_digits()	 0〜9の手書き文字の画像データ。8x8の画
像データ1797個で構成。分類に用いる。	
load_linnerud()	 重回帰用のデータセット。20個の3次元特徴
量と3次元の回帰対象のセット。
Contents	
1.  データサイエンスとの出会い	
2.  Python	x	機械学習	
3.  基本スキルの習得	
4.  Pythonによる実践	
5.  今後の課題	
6.  まとめ	
32
今後の課題	
•  機械学習の学習の継続	
– 機械学習の項目は理解しはじめた	
– まだまだ基本的な事項があやしい	
•  実際のビジネス課題への適用	
– マーケティング分析	
– IoTビジネス、etc	
33
データサイエンティストの需要	
34	
h7p://www.mckinsey.com/insights/business_technology/
big_data_the_next_fronJer_for_innovaJon	
•  2018年までにアメリカ国内
だけで高度な分析スキルを
有する専門家が     
14〜19万人不足	
•  ビッグデータの分析ノウハ
ウを有するマネージャや 
アナリストが150万人不足
データサイエンティストの3要素	
35	
ビジネス	
①万能型	
②ハッキング型	
③数学型	
④ビジネス型
まとめ	
•  Python	x	機械学習	
– 初心者はPythonコードの基本を覚えよう	
– 機械学習はコード実践重視が良さそう	
•  今後の課題	
– 基本事項の習得	
– ビジネス課題への適用	
36

S06 t1 python学習奮闘記#4