SlideShare a Scribd company logo
1 of 26
Download to read offline
Machine Learning for Everyone Else
Python 機械学習プログラミング
データ分析演習編
Ver2.1 2017/06/11
中井悦司 (Twitter @enakai00)
2
Python 機械学習プログラミング
目次
■
ハンズオン環境の利用方法
■
分析データの取り込みと確認
■
分析データの可視化
■
scikit-learnによる機械学習処理
3
Python 機械学習プログラミング
ハンズオン環境の利用方法
4
Python 機械学習プログラミング
ハンズオン環境の利用方法
■
本講義のハンズオン環境は、クラウド上の仮想マシンで用意してあります。下
記のBlog記事の手順にしたがって、同じ環境を自分で用意することもできま
す。
- Jupyter演習環境の準備手順
- http://enakai00.hatenablog.com/entry/2016/11/18/134724
5
Python 機械学習プログラミング
ハンズオン環境の利用方法
■
指定のURLにアクセスするとパスワード入力画面が表示されるので、指定のロ
グインパスワードを入力します。
■
ログインすると「ノートブックファイル」の一覧画面が表示されますが、今は
まだノートブックファイルはありません。
6
Python 機械学習プログラミング
ハンズオン環境の利用方法
■
右上のプルダウンメニューから「New」→「Python 2」を選択すると新しい
ノートブックが開きます。
■
タイトル部分をクリックすると、新しいタイトルが設定できます。「<タイト
ル>.ipynb」が対応するファイル名になります。(タイトルには日本語は使え
ません。)
7
Python 機械学習プログラミング
ハンズオン環境の利用方法
■
ノートブック上では、セルにプログラムコードを入力して、「▶」ボタン、も
しくは [Ctrl] + [Enter] で実行すると結果が表示されます。
■
マークダウン形式のセルには説明文を記載することができます。
セルの形式を選択
マークダウン形式のセル
コード形式のセル
変数に値を設定
変数の値を表示
8
Python 機械学習プログラミング
ハンズオン環境の利用方法
■
ノートブック全体を最初から実行し直す場合は、メニューから「Kernel」→
「Restart & Clear Output」を選択して、これまでの実行内容をクリアしま
す。
9
Python 機械学習プログラミング
ハンズオン環境の利用方法
■
空のセルで次のコマンドを実行すると、演習用のノートブックがダウンロード
できます。
- ノートブックファイル一覧画面で下記のノートブックを開きます。
「jupyter_ml4se_commentary」⇒「Solutions」⇒「Titanic Example.ipynb」
!git clone https://github.com/enakai00/jupyter_ml4se_commentary
10
Python 機械学習プログラミング
分析データの取り込みと確認
11
Python 機械学習プログラミング
データの取り込み
■
Webで公開されているcsvデータをpandasのデータフレームに取り込みます。
- 取り込んだデータの説明は下記に記載されています。
●
http://biostat.mc.vanderbilt.edu/wiki/pub/Main/DataSets/titanic3info.txt
- 数値自体に意味のないデータが数値で表現されている場合、誤った(意味のない)統計量を計算
しないように、データ型を文字列型に変換しておきます。いまの場合、「pclass(社会的地
位)」は数値で表現されていますが、この値の「平均値」を取っても特に意味はありません。
In [1]: import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
from pandas import Series, DataFrame
In [2]: data = pd.read_csv('http://biostat.mc.vanderbilt.edu/wiki/pub/Main/DataSets/titanic3.csv')
data['pclass'] = data['pclass'].map(str) # pclassの型を文字列型に変換
VARIABLE DESCRIPTIONS:
pclass Passenger Class
(1 = 1st; 2 = 2nd; 3 = 3rd)
survived Survival
(0 = No; 1 = Yes)
name Name
sex Sex
age Age
sibsp Number of Siblings/Spouses Aboard
parch Number of Parents/Children Aboard
ticket Ticket Number
fare Passenger Fare
cabin Cabin
embarked Port of Embarkation
(C = Cherbourg; Q = Queenstown; S = Southampton)
boat Lifeboat
body Body Identification Number
home.dest Home/Destination
タイタニック号の乗船名簿の情報に、
沈没による死亡情報を加えたものです。
12
Python 機械学習プログラミング
データの全体感の把握
■
取り込んだデータの全体像を眺めて特徴を把握します。
- 今回使用するデータはそれほど大きくない(全部で1309件)ので、まずはスプレッドシートで
開いて、どのようなデータか眺めておきます。
- 項目によっては欠損値(データが埋まっていないセル)が多いなどのデータセットとしての特
徴、あるいは、「1歳未満の乳児が乗船している」などの社会的観点での特徴が見えてきます。
13
Python 機械学習プログラミング
データのサマリー情報の確認
■
項目ごとのデータ数や平均値など、標準的な統計量を確認しておきます。
- 項目によってデータ数(count)が異なるのは、欠損値が存在するためです。
- 欠損値の影響で、パーセンタイルがうまく計算できていない部分があります。これらの項目は、
次ページのように、欠損値を削除して計算します。
In [3]: data.columns
Out[3]: Index([u'pclass', u'survived', u'name', u'sex', u'age', u'sibsp', u'parch',
u'ticket', u'fare', u'cabin', u'embarked', u'boat', u'body',
u'home.dest'], dtype='object')
In [4]: data.describe()
Out[4]:
14
Python 機械学習プログラミング
データのサマリー情報の確認
■
dropna()メソッドで欠損値を含む行を削除した上で、統計情報を確認します。
- 平均値(mean)と中央値(50%)が乖離している場合、値の分布に歪み(skew)があると考え
られます。
In [5]: data[['age']].dropna().describe()
In [6]: data[['fare']].dropna().describe()
In [7]: data[['body']].dropna().describe()
平均値と中央値が
乖離した例
15
Python 機械学習プログラミング
分析データの可視化
16
Python 機械学習プログラミング
■
数値データはヒストグラムによって可視化します。
- 例として、年齢(age)と料金(fare)の分布をヒストグラムで確認します。
●
binsオプションには、区間の個数、もしくは、区間の区切りを並べたリストを与えます。
- 5歳未満の子供の分布、もしくは、200ポンド以上の高額料金の乗客などに分布の特徴が見られ
ます。
数値データの可視化
In [8]: data[['age']].dropna().plot(kind='hist', bins=np.linspace(0,100,20+1))
In [9]: data[['fare']].dropna().plot(kind='hist', bins=20) グラフ化する際は、dropna()で
欠損値を削除しておきます。
17
Python 機械学習プログラミング
数値データの相関の可視化
■
2つの数値データの関係性を見るときは、散布図で可視化します。
- 例として、年齢(age)と料金(fare)の関係を散布図で表示します。
In [10]: df = data[['age','fare']].dropna()
df.plot(kind='scatter', x='age', y='fare')
- 特に目立った関係はありませんが、200
ポンド以上の料金で乗船しているのは15
歳以上に限られるなどが確認できます。
18
Python 機械学習プログラミング
カテゴリーデータと数値データの相関の可視化
■
カテゴリーデータと数値データの関係性を見るときは、箱ひげ図で可視化します。
- 例として、社会的地位(pclass)と料金(fare)の関係を箱ひげ図で表示します。
In [11]: df = data[['fare','pclass']].dropna()
df.boxplot(column='fare', by='pclass')
- 社会的地位が高い人(pclass:1)は
高額料金で乗船していることがわか
ります。
外れ値
75パーセンタイル
50パーセンタイル
(中央値)
25パーセンタイル
19
Python 機械学習プログラミング
3つ以上のデータの相関の可視化
■
3つ以上のデータの関係を表示する場合は、データの種類に応じて適切な可視化方法を
選択する必要があります。
- たとえば、年齢(age)と料金(fare)の散布図を社会的地位(pclass)で色分けしてみます。
In [12]: df1 = data[data.pclass=='1'][['age','fare']].dropna()
df2 = data[data.pclass=='2'][['age','fare']].dropna()
df3 = data[data.pclass=='3'][['age','fare']].dropna()
plt.scatter(df1.age, df1.fare, facecolor='blue')
plt.scatter(df2.age, df2.fare, facecolor='green')
plt.scatter(df3.age, df3.fare, facecolor='red')
20
Python 機械学習プログラミング
カテゴリーデータの相関
■
カテゴリーデータの例として、性別(sex)と生存(survival)の相関を確認します。
- 2種類のカテゴリーデータの相関は、クロス集計表で確認します。
- この結果を見ると、性別によって生存率が大きく変わることが分かります。
- 同様の分析を社会的地位(pclass)と生存(survival)について行ってみてください。
- また、その他のデータについても自分なりの可視化を行って、特徴を発見してみてください。
In [13]: df = data[['sex','survived']].dropna()
pd.crosstab(df.sex, df.survived)
Out[13]:
In [14]: pd.crosstab(data.sex ,data.survived).plot(kind='bar')
In [15]: df.mean()
Out[15]:
Survived 0.381971 # 平均生存率
dtype: float64
In [16]: 339.0/(127+339)
Out[16]: 0.7274678111587983 # 女性の生存率
21
Python 機械学習プログラミング
scikit-learnによる機械学習処理
22
Python 機械学習プログラミング
ロジスティック回帰
■
「性別」「年齢」の2つの特徴を用いたロジスティック回帰で、生存確率を予測するモ
デルを構築します。
- この後の分析で使用するモジュールをインポートします。
- 欠損値を含む行を削除して、分析に使用する列のみを含むDataFrameを用意します。ここでは、
特徴変数 X_ とラベル y を個別にDataFrameとして作成しています。
- 性別はカテゴリーデータなので、One Hot Encodingに変換します。
In [20]: from PIL import Image
from sklearn.model_selection import train_test_split, cross_val_score
from sklearn.metrics import accuracy_score
from sklearn.linear_model import LogisticRegression
from sklearn.tree import DecisionTreeClassifier, export_graphviz
In [22]: X = pd.get_dummies(X_)
X.head()
In [21]: tmp = data[['age', 'sex', 'survived']].dropna()
X_ = tmp[['age', 'sex']]
y = tmp['survived']
X_.head()
23
Python 機械学習プログラミング
ロジスティック回帰
- データセットをトレーニングセットとテストセットに分割した後、トレーニングセットを用いて
学習処理を実行します。さらに、トレーニングセットとテストセットに対する正解率を計算しま
す。
- クロスバリデーションを実施して、結果を表示します。
In [23]: X_train, X_val, y_train, y_val = train_test_split(X, y, train_size=0.8, random_state=1)
clf = LogisticRegression()
clf.fit(X_train, y_train)
y_train_pred = clf.predict(X_train)
y_val_pred = clf.predict(X_val)
print 'Accuracy on Training Set: {:.3f}'.format(accuracy_score(y_train, y_train_pred))
print 'Accuracy on Validation Set: {:.3f}'.format(accuracy_score(y_val, y_val_pred))
Out[23]:
Accuracy on Training Set: 0.775
Accuracy on Validation Set: 0.795
In [24]: clf = LogisticRegression()
scores = cross_val_score(clf, X, y, cv=5)
print 'Scores:', scores
print 'Mean Score: {:f} ± {:.3}'.format(scores.mean(), scores.std())
Out[24]:
Scores: [ 0.84761905 0.83333333 0.78947368 0.74641148 0.67788462]
Mean Score: 0.778944 ± 0.0617
24
Python 機械学習プログラミング
決定木(Decision Tree)
■
決定木を用いて、先ほどと同じ分析を実施します。
- クロスバリデーションを実施して、結果を表示します。
- 決定木を画像化して表示します。
In [26]: clf = DecisionTreeClassifier(criterion='entropy', max_depth=2, min_samples_leaf=2)
scores = cross_val_score(clf, X, y, cv=5)
print 'Scores:', scores
print 'Mean Score: {:f} ± {:.3}'.format(scores.mean(), scores.std())
Out [26]:
Scores: [ 0.85714286 0.83809524 0.79425837 0.74641148 0.64423077]
Mean Score: 0.776028 ± 0.0762
In [27]: clf.fit(X, y)
export_graphviz(clf, out_file='tree.dot',
feature_names=X.columns,
class_names=['not survived', 'survived'],
impurity=False, filled=True)
!dot -Tpng tree.dot -o tree.png
Image.open("tree.png")
- 性別・年齢・社会的地位(pclass)を特徴量
として、同様の分析を行ってみてください
※ 特徴量を増やした場合は、決定木の階層をより深
 くするとよい場合があります。
25
Python 機械学習プログラミング
メモとしてお使いください
Machine Learning for Everyone Else
Thank You!

More Related Content

What's hot

マルコフ連鎖モンテカルロ法 (2/3はベイズ推定の話)
マルコフ連鎖モンテカルロ法 (2/3はベイズ推定の話)マルコフ連鎖モンテカルロ法 (2/3はベイズ推定の話)
マルコフ連鎖モンテカルロ法 (2/3はベイズ推定の話)Yoshitake Takebayashi
 
5分でわかるベイズ確率
5分でわかるベイズ確率5分でわかるベイズ確率
5分でわかるベイズ確率hoxo_m
 
効果のあるクリエイティブ広告の見つけ方(Contextual Bandit + TS or UCB)
効果のあるクリエイティブ広告の見つけ方(Contextual Bandit + TS or UCB)効果のあるクリエイティブ広告の見つけ方(Contextual Bandit + TS or UCB)
効果のあるクリエイティブ広告の見つけ方(Contextual Bandit + TS or UCB)Yusuke Kaneko
 
Stanコードの書き方 中級編
Stanコードの書き方 中級編Stanコードの書き方 中級編
Stanコードの書き方 中級編Hiroshi Shimizu
 
Rにおける大規模データ解析(第10回TokyoWebMining)
Rにおける大規模データ解析(第10回TokyoWebMining)Rにおける大規模データ解析(第10回TokyoWebMining)
Rにおける大規模データ解析(第10回TokyoWebMining)Shintaro Fukushima
 
負の二項分布について
負の二項分布について負の二項分布について
負の二項分布についてHiroshi Shimizu
 
逐次モンテカルロ法の基礎
逐次モンテカルロ法の基礎逐次モンテカルロ法の基礎
逐次モンテカルロ法の基礎ShoutoYonekura
 
明治大学講演資料「機械学習と自動ハイパーパラメタ最適化」 佐野正太郎
明治大学講演資料「機械学習と自動ハイパーパラメタ最適化」  佐野正太郎明治大学講演資料「機械学習と自動ハイパーパラメタ最適化」  佐野正太郎
明治大学講演資料「機械学習と自動ハイパーパラメタ最適化」 佐野正太郎Preferred Networks
 
Python入門 : 4日間コース社内トレーニング
Python入門 : 4日間コース社内トレーニングPython入門 : 4日間コース社内トレーニング
Python入門 : 4日間コース社内トレーニングYuichi Ito
 
Rユーザのためのspark入門
Rユーザのためのspark入門Rユーザのためのspark入門
Rユーザのためのspark入門Shintaro Fukushima
 
ベータ分布の謎に迫る
ベータ分布の謎に迫るベータ分布の謎に迫る
ベータ分布の謎に迫るKen'ichi Matsui
 
強化学習の基礎と深層強化学習(東京大学 松尾研究室 深層強化学習サマースクール講義資料)
強化学習の基礎と深層強化学習(東京大学 松尾研究室 深層強化学習サマースクール講義資料)強化学習の基礎と深層強化学習(東京大学 松尾研究室 深層強化学習サマースクール講義資料)
強化学習の基礎と深層強化学習(東京大学 松尾研究室 深層強化学習サマースクール講義資料)Shota Imai
 
#みどりぼん 11章「空間構造のある階層ベイズモデル」後半
#みどりぼん 11章「空間構造のある階層ベイズモデル」後半#みどりぼん 11章「空間構造のある階層ベイズモデル」後半
#みどりぼん 11章「空間構造のある階層ベイズモデル」後半Katsushi Yamashita
 
大規模な組合せ最適化問題に対する発見的解法
大規模な組合せ最適化問題に対する発見的解法大規模な組合せ最適化問題に対する発見的解法
大規模な組合せ最適化問題に対する発見的解法Shunji Umetani
 
これならわかる最適化数学8章_動的計画法
これならわかる最適化数学8章_動的計画法これならわかる最適化数学8章_動的計画法
これならわかる最適化数学8章_動的計画法kenyanonaka
 
変分推論法(変分ベイズ法)(PRML第10章)
変分推論法(変分ベイズ法)(PRML第10章)変分推論法(変分ベイズ法)(PRML第10章)
変分推論法(変分ベイズ法)(PRML第10章)Takao Yamanaka
 
最新リリース:Optuna V3の全て - 2022/12/10 Optuna Meetup #2
最新リリース:Optuna V3の全て - 2022/12/10 Optuna Meetup #2最新リリース:Optuna V3の全て - 2022/12/10 Optuna Meetup #2
最新リリース:Optuna V3の全て - 2022/12/10 Optuna Meetup #2Preferred Networks
 
ハミルトニアンモンテカルロ法についての説明
ハミルトニアンモンテカルロ法についての説明ハミルトニアンモンテカルロ法についての説明
ハミルトニアンモンテカルロ法についての説明KCS Keio Computer Society
 
学位論文の書き方メモ (Tips for writing thesis)
学位論文の書き方メモ (Tips for writing thesis)学位論文の書き方メモ (Tips for writing thesis)
学位論文の書き方メモ (Tips for writing thesis)Nobuyuki Umetani
 

What's hot (20)

マルコフ連鎖モンテカルロ法 (2/3はベイズ推定の話)
マルコフ連鎖モンテカルロ法 (2/3はベイズ推定の話)マルコフ連鎖モンテカルロ法 (2/3はベイズ推定の話)
マルコフ連鎖モンテカルロ法 (2/3はベイズ推定の話)
 
5分でわかるベイズ確率
5分でわかるベイズ確率5分でわかるベイズ確率
5分でわかるベイズ確率
 
効果のあるクリエイティブ広告の見つけ方(Contextual Bandit + TS or UCB)
効果のあるクリエイティブ広告の見つけ方(Contextual Bandit + TS or UCB)効果のあるクリエイティブ広告の見つけ方(Contextual Bandit + TS or UCB)
効果のあるクリエイティブ広告の見つけ方(Contextual Bandit + TS or UCB)
 
Stanコードの書き方 中級編
Stanコードの書き方 中級編Stanコードの書き方 中級編
Stanコードの書き方 中級編
 
Rにおける大規模データ解析(第10回TokyoWebMining)
Rにおける大規模データ解析(第10回TokyoWebMining)Rにおける大規模データ解析(第10回TokyoWebMining)
Rにおける大規模データ解析(第10回TokyoWebMining)
 
負の二項分布について
負の二項分布について負の二項分布について
負の二項分布について
 
逐次モンテカルロ法の基礎
逐次モンテカルロ法の基礎逐次モンテカルロ法の基礎
逐次モンテカルロ法の基礎
 
明治大学講演資料「機械学習と自動ハイパーパラメタ最適化」 佐野正太郎
明治大学講演資料「機械学習と自動ハイパーパラメタ最適化」  佐野正太郎明治大学講演資料「機械学習と自動ハイパーパラメタ最適化」  佐野正太郎
明治大学講演資料「機械学習と自動ハイパーパラメタ最適化」 佐野正太郎
 
Python入門 : 4日間コース社内トレーニング
Python入門 : 4日間コース社内トレーニングPython入門 : 4日間コース社内トレーニング
Python入門 : 4日間コース社内トレーニング
 
Rユーザのためのspark入門
Rユーザのためのspark入門Rユーザのためのspark入門
Rユーザのためのspark入門
 
ベータ分布の謎に迫る
ベータ分布の謎に迫るベータ分布の謎に迫る
ベータ分布の謎に迫る
 
強化学習の基礎と深層強化学習(東京大学 松尾研究室 深層強化学習サマースクール講義資料)
強化学習の基礎と深層強化学習(東京大学 松尾研究室 深層強化学習サマースクール講義資料)強化学習の基礎と深層強化学習(東京大学 松尾研究室 深層強化学習サマースクール講義資料)
強化学習の基礎と深層強化学習(東京大学 松尾研究室 深層強化学習サマースクール講義資料)
 
#みどりぼん 11章「空間構造のある階層ベイズモデル」後半
#みどりぼん 11章「空間構造のある階層ベイズモデル」後半#みどりぼん 11章「空間構造のある階層ベイズモデル」後半
#みどりぼん 11章「空間構造のある階層ベイズモデル」後半
 
大規模な組合せ最適化問題に対する発見的解法
大規模な組合せ最適化問題に対する発見的解法大規模な組合せ最適化問題に対する発見的解法
大規模な組合せ最適化問題に対する発見的解法
 
これならわかる最適化数学8章_動的計画法
これならわかる最適化数学8章_動的計画法これならわかる最適化数学8章_動的計画法
これならわかる最適化数学8章_動的計画法
 
Stan超初心者入門
Stan超初心者入門Stan超初心者入門
Stan超初心者入門
 
変分推論法(変分ベイズ法)(PRML第10章)
変分推論法(変分ベイズ法)(PRML第10章)変分推論法(変分ベイズ法)(PRML第10章)
変分推論法(変分ベイズ法)(PRML第10章)
 
最新リリース:Optuna V3の全て - 2022/12/10 Optuna Meetup #2
最新リリース:Optuna V3の全て - 2022/12/10 Optuna Meetup #2最新リリース:Optuna V3の全て - 2022/12/10 Optuna Meetup #2
最新リリース:Optuna V3の全て - 2022/12/10 Optuna Meetup #2
 
ハミルトニアンモンテカルロ法についての説明
ハミルトニアンモンテカルロ法についての説明ハミルトニアンモンテカルロ法についての説明
ハミルトニアンモンテカルロ法についての説明
 
学位論文の書き方メモ (Tips for writing thesis)
学位論文の書き方メモ (Tips for writing thesis)学位論文の書き方メモ (Tips for writing thesis)
学位論文の書き方メモ (Tips for writing thesis)
 

Viewers also liked

Python 機械学習プログラミング データ分析ライブラリー解説編
Python 機械学習プログラミング データ分析ライブラリー解説編Python 機械学習プログラミング データ分析ライブラリー解説編
Python 機械学習プログラミング データ分析ライブラリー解説編Etsuji Nakai
 
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識PythonとRによるデータ分析環境の構築と機械学習によるデータ認識
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識Katsuhiro Morishita
 
TensorFlowによるニューラルネットワーク入門
TensorFlowによるニューラルネットワーク入門TensorFlowによるニューラルネットワーク入門
TensorFlowによるニューラルネットワーク入門Etsuji Nakai
 
Scikit learnで学ぶ機械学習入門
Scikit learnで学ぶ機械学習入門Scikit learnで学ぶ機械学習入門
Scikit learnで学ぶ機械学習入門Takami Sato
 
Machine Learning Basics for Web Application Developers
Machine Learning Basics for Web Application DevelopersMachine Learning Basics for Web Application Developers
Machine Learning Basics for Web Application DevelopersEtsuji Nakai
 
RとPythonによるデータ解析入門
RとPythonによるデータ解析入門RとPythonによるデータ解析入門
RとPythonによるデータ解析入門Atsushi Hayakawa
 
「Python言語」はじめの一歩 / First step of Python
「Python言語」はじめの一歩 / First step of Python「Python言語」はじめの一歩 / First step of Python
「Python言語」はじめの一歩 / First step of PythonTakanori Suzuki
 
野球Hack!~Pythonを用いたデータ分析と可視化 #pyconjp
野球Hack!~Pythonを用いたデータ分析と可視化 #pyconjp野球Hack!~Pythonを用いたデータ分析と可視化 #pyconjp
野球Hack!~Pythonを用いたデータ分析と可視化 #pyconjpShinichi Nakagawa
 
Spannerに関する技術メモ
Spannerに関する技術メモSpannerに関する技術メモ
Spannerに関する技術メモEtsuji Nakai
 
OpenStackをさらに”使う”技術 - OpenStack&Docker活用テクニック
OpenStackをさらに”使う”技術 - OpenStack&Docker活用テクニックOpenStackをさらに”使う”技術 - OpenStack&Docker活用テクニック
OpenStackをさらに”使う”技術 - OpenStack&Docker活用テクニックEtsuji Nakai
 
Your first TensorFlow programming with Jupyter
Your first TensorFlow programming with JupyterYour first TensorFlow programming with Jupyter
Your first TensorFlow programming with JupyterEtsuji Nakai
 
A Brief History of My English Learning
A Brief History of My English LearningA Brief History of My English Learning
A Brief History of My English LearningEtsuji Nakai
 
「TensorFlow Tutorialの数学的背景」 クイックツアー(パート1)
「TensorFlow Tutorialの数学的背景」 クイックツアー(パート1)「TensorFlow Tutorialの数学的背景」 クイックツアー(パート1)
「TensorFlow Tutorialの数学的背景」 クイックツアー(パート1)Etsuji Nakai
 
ソフトウェアエンジニアのための「機械学習理論」入門・ハンズオン演習ガイド
 ソフトウェアエンジニアのための「機械学習理論」入門・ハンズオン演習ガイド ソフトウェアエンジニアのための「機械学習理論」入門・ハンズオン演習ガイド
ソフトウェアエンジニアのための「機械学習理論」入門・ハンズオン演習ガイドEtsuji Nakai
 
Using Kubernetes on Google Container Engine
Using Kubernetes on Google Container EngineUsing Kubernetes on Google Container Engine
Using Kubernetes on Google Container EngineEtsuji Nakai
 
Python東海Vol.5 IPythonをマスターしよう
Python東海Vol.5 IPythonをマスターしようPython東海Vol.5 IPythonをマスターしよう
Python東海Vol.5 IPythonをマスターしようHiroshi Funai
 
TensorFlowプログラミングと分類アルゴリズムの基礎
TensorFlowプログラミングと分類アルゴリズムの基礎TensorFlowプログラミングと分類アルゴリズムの基礎
TensorFlowプログラミングと分類アルゴリズムの基礎Etsuji Nakai
 
PythonによるWebスクレイピング入門
PythonによるWebスクレイピング入門PythonによるWebスクレイピング入門
PythonによるWebスクレイピング入門Hironori Sekine
 
機械学習概論 講義テキスト
機械学習概論 講義テキスト機械学習概論 講義テキスト
機械学習概論 講義テキストEtsuji Nakai
 

Viewers also liked (20)

Python 機械学習プログラミング データ分析ライブラリー解説編
Python 機械学習プログラミング データ分析ライブラリー解説編Python 機械学習プログラミング データ分析ライブラリー解説編
Python 機械学習プログラミング データ分析ライブラリー解説編
 
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識PythonとRによるデータ分析環境の構築と機械学習によるデータ認識
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識
 
TensorFlowによるニューラルネットワーク入門
TensorFlowによるニューラルネットワーク入門TensorFlowによるニューラルネットワーク入門
TensorFlowによるニューラルネットワーク入門
 
Scikit learnで学ぶ機械学習入門
Scikit learnで学ぶ機械学習入門Scikit learnで学ぶ機械学習入門
Scikit learnで学ぶ機械学習入門
 
Machine Learning Basics for Web Application Developers
Machine Learning Basics for Web Application DevelopersMachine Learning Basics for Web Application Developers
Machine Learning Basics for Web Application Developers
 
RとPythonによるデータ解析入門
RとPythonによるデータ解析入門RとPythonによるデータ解析入門
RとPythonによるデータ解析入門
 
Pythonで簡単ネットワーク分析
Pythonで簡単ネットワーク分析Pythonで簡単ネットワーク分析
Pythonで簡単ネットワーク分析
 
「Python言語」はじめの一歩 / First step of Python
「Python言語」はじめの一歩 / First step of Python「Python言語」はじめの一歩 / First step of Python
「Python言語」はじめの一歩 / First step of Python
 
野球Hack!~Pythonを用いたデータ分析と可視化 #pyconjp
野球Hack!~Pythonを用いたデータ分析と可視化 #pyconjp野球Hack!~Pythonを用いたデータ分析と可視化 #pyconjp
野球Hack!~Pythonを用いたデータ分析と可視化 #pyconjp
 
Spannerに関する技術メモ
Spannerに関する技術メモSpannerに関する技術メモ
Spannerに関する技術メモ
 
OpenStackをさらに”使う”技術 - OpenStack&Docker活用テクニック
OpenStackをさらに”使う”技術 - OpenStack&Docker活用テクニックOpenStackをさらに”使う”技術 - OpenStack&Docker活用テクニック
OpenStackをさらに”使う”技術 - OpenStack&Docker活用テクニック
 
Your first TensorFlow programming with Jupyter
Your first TensorFlow programming with JupyterYour first TensorFlow programming with Jupyter
Your first TensorFlow programming with Jupyter
 
A Brief History of My English Learning
A Brief History of My English LearningA Brief History of My English Learning
A Brief History of My English Learning
 
「TensorFlow Tutorialの数学的背景」 クイックツアー(パート1)
「TensorFlow Tutorialの数学的背景」 クイックツアー(パート1)「TensorFlow Tutorialの数学的背景」 クイックツアー(パート1)
「TensorFlow Tutorialの数学的背景」 クイックツアー(パート1)
 
ソフトウェアエンジニアのための「機械学習理論」入門・ハンズオン演習ガイド
 ソフトウェアエンジニアのための「機械学習理論」入門・ハンズオン演習ガイド ソフトウェアエンジニアのための「機械学習理論」入門・ハンズオン演習ガイド
ソフトウェアエンジニアのための「機械学習理論」入門・ハンズオン演習ガイド
 
Using Kubernetes on Google Container Engine
Using Kubernetes on Google Container EngineUsing Kubernetes on Google Container Engine
Using Kubernetes on Google Container Engine
 
Python東海Vol.5 IPythonをマスターしよう
Python東海Vol.5 IPythonをマスターしようPython東海Vol.5 IPythonをマスターしよう
Python東海Vol.5 IPythonをマスターしよう
 
TensorFlowプログラミングと分類アルゴリズムの基礎
TensorFlowプログラミングと分類アルゴリズムの基礎TensorFlowプログラミングと分類アルゴリズムの基礎
TensorFlowプログラミングと分類アルゴリズムの基礎
 
PythonによるWebスクレイピング入門
PythonによるWebスクレイピング入門PythonによるWebスクレイピング入門
PythonによるWebスクレイピング入門
 
機械学習概論 講義テキスト
機械学習概論 講義テキスト機械学習概論 講義テキスト
機械学習概論 講義テキスト
 

Similar to Python 機械学習プログラミング データ分析演習編

【更新版】20190628玉川大学脳トレ社会科学oTree演習編
【更新版】20190628玉川大学脳トレ社会科学oTree演習編【更新版】20190628玉川大学脳トレ社会科学oTree演習編
【更新版】20190628玉川大学脳トレ社会科学oTree演習編Akira Goto
 
Web applicationpenetrationtest その2
Web applicationpenetrationtest その2Web applicationpenetrationtest その2
Web applicationpenetrationtest その2Tetsuya Hasegawa
 
はじめての人のためのDeep Learning
はじめての人のためのDeep Learningはじめての人のためのDeep Learning
はじめての人のためのDeep LearningTadaichiro Nakano
 
Python による 「スクレイピング & 自然言語処理」入門
Python による 「スクレイピング & 自然言語処理」入門Python による 「スクレイピング & 自然言語処理」入門
Python による 「スクレイピング & 自然言語処理」入門Tatsuya Tojima
 
Pythonによる並列プログラミング -GPGPUも-
Pythonによる並列プログラミング   -GPGPUも- Pythonによる並列プログラミング   -GPGPUも-
Pythonによる並列プログラミング -GPGPUも- Yusaku Watanabe
 
2016年2月4日 空間OSのためのビッグデータ技術基盤
2016年2月4日 空間OSのためのビッグデータ技術基盤2016年2月4日 空間OSのためのビッグデータ技術基盤
2016年2月4日 空間OSのためのビッグデータ技術基盤aitc_jp
 
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版Katsuhiro Morishita
 
協調フィルタリング with Mahout
協調フィルタリング with Mahout協調フィルタリング with Mahout
協調フィルタリング with MahoutKatsuhiro Takata
 
「Python言語」はじめの一歩 / First step of Python / 2016 Jan 12
「Python言語」はじめの一歩 / First step of Python / 2016 Jan 12「Python言語」はじめの一歩 / First step of Python / 2016 Jan 12
「Python言語」はじめの一歩 / First step of Python / 2016 Jan 12Takanori Suzuki
 
Elasticsearchと機械学習を実際に連携させる
Elasticsearchと機械学習を実際に連携させるElasticsearchと機械学習を実際に連携させる
Elasticsearchと機械学習を実際に連携させるnobu_k
 
OSS奨励賞受賞プレゼン 活動紹介
OSS奨励賞受賞プレゼン 活動紹介OSS奨励賞受賞プレゼン 活動紹介
OSS奨励賞受賞プレゼン 活動紹介Hiromu Yakura
 
Pythonによる機械学習入門〜基礎からDeep Learningまで〜
Pythonによる機械学習入門〜基礎からDeep Learningまで〜Pythonによる機械学習入門〜基礎からDeep Learningまで〜
Pythonによる機械学習入門〜基礎からDeep Learningまで〜Yasutomo Kawanishi
 
Scikit-learnを使って 画像分類を行う
Scikit-learnを使って 画像分類を行うScikit-learnを使って 画像分類を行う
Scikit-learnを使って 画像分類を行うArata Honda
 
Statically detecting vulnerability under memory pressure using exhaustive search
Statically detecting vulnerability under memory pressure usingexhaustive searchStatically detecting vulnerability under memory pressure usingexhaustive search
Statically detecting vulnerability under memory pressure using exhaustive searchRuo Ando
 
BotとWikiを使った試験的な並列プログラミング
BotとWikiを使った試験的な並列プログラミングBotとWikiを使った試験的な並列プログラミング
BotとWikiを使った試験的な並列プログラミングTakashi Yamanoue
 
Deep Learningハンズオン勉強会「Caffeで画像分類を試してみようの会」
Deep Learningハンズオン勉強会「Caffeで画像分類を試してみようの会」Deep Learningハンズオン勉強会「Caffeで画像分類を試してみようの会」
Deep Learningハンズオン勉強会「Caffeで画像分類を試してみようの会」Yasuyuki Sugai
 
Kubeflowで何ができて何ができないのか #DEvFest18
Kubeflowで何ができて何ができないのか #DEvFest18Kubeflowで何ができて何ができないのか #DEvFest18
Kubeflowで何ができて何ができないのか #DEvFest18Shunya Ueta
 
Pythonによる機械学習入門 ~Deep Learningに挑戦~
Pythonによる機械学習入門 ~Deep Learningに挑戦~Pythonによる機械学習入門 ~Deep Learningに挑戦~
Pythonによる機械学習入門 ~Deep Learningに挑戦~Yasutomo Kawanishi
 
0730 bp study#35発表資料
0730 bp study#35発表資料0730 bp study#35発表資料
0730 bp study#35発表資料Yasuhiro Horiuchi
 

Similar to Python 機械学習プログラミング データ分析演習編 (20)

【更新版】20190628玉川大学脳トレ社会科学oTree演習編
【更新版】20190628玉川大学脳トレ社会科学oTree演習編【更新版】20190628玉川大学脳トレ社会科学oTree演習編
【更新版】20190628玉川大学脳トレ社会科学oTree演習編
 
Introduction of Python
Introduction of PythonIntroduction of Python
Introduction of Python
 
Web applicationpenetrationtest その2
Web applicationpenetrationtest その2Web applicationpenetrationtest その2
Web applicationpenetrationtest その2
 
はじめての人のためのDeep Learning
はじめての人のためのDeep Learningはじめての人のためのDeep Learning
はじめての人のためのDeep Learning
 
Python による 「スクレイピング & 自然言語処理」入門
Python による 「スクレイピング & 自然言語処理」入門Python による 「スクレイピング & 自然言語処理」入門
Python による 「スクレイピング & 自然言語処理」入門
 
Pythonによる並列プログラミング -GPGPUも-
Pythonによる並列プログラミング   -GPGPUも- Pythonによる並列プログラミング   -GPGPUも-
Pythonによる並列プログラミング -GPGPUも-
 
2016年2月4日 空間OSのためのビッグデータ技術基盤
2016年2月4日 空間OSのためのビッグデータ技術基盤2016年2月4日 空間OSのためのビッグデータ技術基盤
2016年2月4日 空間OSのためのビッグデータ技術基盤
 
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版
 
協調フィルタリング with Mahout
協調フィルタリング with Mahout協調フィルタリング with Mahout
協調フィルタリング with Mahout
 
「Python言語」はじめの一歩 / First step of Python / 2016 Jan 12
「Python言語」はじめの一歩 / First step of Python / 2016 Jan 12「Python言語」はじめの一歩 / First step of Python / 2016 Jan 12
「Python言語」はじめの一歩 / First step of Python / 2016 Jan 12
 
Elasticsearchと機械学習を実際に連携させる
Elasticsearchと機械学習を実際に連携させるElasticsearchと機械学習を実際に連携させる
Elasticsearchと機械学習を実際に連携させる
 
OSS奨励賞受賞プレゼン 活動紹介
OSS奨励賞受賞プレゼン 活動紹介OSS奨励賞受賞プレゼン 活動紹介
OSS奨励賞受賞プレゼン 活動紹介
 
Pythonによる機械学習入門〜基礎からDeep Learningまで〜
Pythonによる機械学習入門〜基礎からDeep Learningまで〜Pythonによる機械学習入門〜基礎からDeep Learningまで〜
Pythonによる機械学習入門〜基礎からDeep Learningまで〜
 
Scikit-learnを使って 画像分類を行う
Scikit-learnを使って 画像分類を行うScikit-learnを使って 画像分類を行う
Scikit-learnを使って 画像分類を行う
 
Statically detecting vulnerability under memory pressure using exhaustive search
Statically detecting vulnerability under memory pressure usingexhaustive searchStatically detecting vulnerability under memory pressure usingexhaustive search
Statically detecting vulnerability under memory pressure using exhaustive search
 
BotとWikiを使った試験的な並列プログラミング
BotとWikiを使った試験的な並列プログラミングBotとWikiを使った試験的な並列プログラミング
BotとWikiを使った試験的な並列プログラミング
 
Deep Learningハンズオン勉強会「Caffeで画像分類を試してみようの会」
Deep Learningハンズオン勉強会「Caffeで画像分類を試してみようの会」Deep Learningハンズオン勉強会「Caffeで画像分類を試してみようの会」
Deep Learningハンズオン勉強会「Caffeで画像分類を試してみようの会」
 
Kubeflowで何ができて何ができないのか #DEvFest18
Kubeflowで何ができて何ができないのか #DEvFest18Kubeflowで何ができて何ができないのか #DEvFest18
Kubeflowで何ができて何ができないのか #DEvFest18
 
Pythonによる機械学習入門 ~Deep Learningに挑戦~
Pythonによる機械学習入門 ~Deep Learningに挑戦~Pythonによる機械学習入門 ~Deep Learningに挑戦~
Pythonによる機械学習入門 ~Deep Learningに挑戦~
 
0730 bp study#35発表資料
0730 bp study#35発表資料0730 bp study#35発表資料
0730 bp study#35発表資料
 

More from Etsuji Nakai

「ITエンジニアリングの本質」を考える
「ITエンジニアリングの本質」を考える「ITエンジニアリングの本質」を考える
「ITエンジニアリングの本質」を考えるEtsuji Nakai
 
Googleのインフラ技術に見る基盤標準化とDevOpsの真実
Googleのインフラ技術に見る基盤標準化とDevOpsの真実Googleのインフラ技術に見る基盤標準化とDevOpsの真実
Googleのインフラ技術に見る基盤標準化とDevOpsの真実Etsuji Nakai
 
Introducton to Convolutional Nerural Network with TensorFlow
Introducton to Convolutional Nerural Network with TensorFlowIntroducton to Convolutional Nerural Network with TensorFlow
Introducton to Convolutional Nerural Network with TensorFlowEtsuji Nakai
 
Googleにおける機械学習の活用とクラウドサービス
Googleにおける機械学習の活用とクラウドサービスGoogleにおける機械学習の活用とクラウドサービス
Googleにおける機械学習の活用とクラウドサービスEtsuji Nakai
 
Googleのインフラ技術から考える理想のDevOps
Googleのインフラ技術から考える理想のDevOpsGoogleのインフラ技術から考える理想のDevOps
Googleのインフラ技術から考える理想のDevOpsEtsuji Nakai
 
Lecture note on PRML 8.2
Lecture note on PRML 8.2Lecture note on PRML 8.2
Lecture note on PRML 8.2Etsuji Nakai
 
Deep Q-Network for beginners
Deep Q-Network for beginnersDeep Q-Network for beginners
Deep Q-Network for beginnersEtsuji Nakai
 
TensorFlowで学ぶDQN
TensorFlowで学ぶDQNTensorFlowで学ぶDQN
TensorFlowで学ぶDQNEtsuji Nakai
 
DevOpsにおける組織に固有の事情を どのように整理するべきか
DevOpsにおける組織に固有の事情を どのように整理するべきかDevOpsにおける組織に固有の事情を どのように整理するべきか
DevOpsにおける組織に固有の事情を どのように整理するべきかEtsuji Nakai
 
インタークラウドを実現する技術 〜 デファクトスタンダードからの視点 〜
インタークラウドを実現する技術 〜 デファクトスタンダードからの視点 〜インタークラウドを実現する技術 〜 デファクトスタンダードからの視点 〜
インタークラウドを実現する技術 〜 デファクトスタンダードからの視点 〜Etsuji Nakai
 
Exploring the Philosophy behind Docker/Kubernetes/OpenShift
Exploring the Philosophy behind Docker/Kubernetes/OpenShiftExploring the Philosophy behind Docker/Kubernetes/OpenShift
Exploring the Philosophy behind Docker/Kubernetes/OpenShiftEtsuji Nakai
 
Docker活用パターンの整理 ― どう組み合わせるのが正解?!
Docker活用パターンの整理 ― どう組み合わせるのが正解?!Docker活用パターンの整理 ― どう組み合わせるのが正解?!
Docker活用パターンの整理 ― どう組み合わせるのが正解?!Etsuji Nakai
 
Open Shift v3 主要機能と内部構造のご紹介
Open Shift v3 主要機能と内部構造のご紹介Open Shift v3 主要機能と内部構造のご紹介
Open Shift v3 主要機能と内部構造のご紹介Etsuji Nakai
 
Docker with RHEL7 技術勉強会
Docker with RHEL7 技術勉強会Docker with RHEL7 技術勉強会
Docker with RHEL7 技術勉強会Etsuji Nakai
 
分散ストレージソフトウェアCeph・アーキテクチャー概要
分散ストレージソフトウェアCeph・アーキテクチャー概要分散ストレージソフトウェアCeph・アーキテクチャー概要
分散ストレージソフトウェアCeph・アーキテクチャー概要Etsuji Nakai
 
OpenStackとDockerの未来像
OpenStackとDockerの未来像OpenStackとDockerの未来像
OpenStackとDockerの未来像Etsuji Nakai
 
OpenShift v3 Technical Introduction
OpenShift v3 Technical IntroductionOpenShift v3 Technical Introduction
OpenShift v3 Technical IntroductionEtsuji Nakai
 

More from Etsuji Nakai (20)

PRML11.2-11.3
PRML11.2-11.3PRML11.2-11.3
PRML11.2-11.3
 
「ITエンジニアリングの本質」を考える
「ITエンジニアリングの本質」を考える「ITエンジニアリングの本質」を考える
「ITエンジニアリングの本質」を考える
 
Googleのインフラ技術に見る基盤標準化とDevOpsの真実
Googleのインフラ技術に見る基盤標準化とDevOpsの真実Googleのインフラ技術に見る基盤標準化とDevOpsの真実
Googleのインフラ技術に見る基盤標準化とDevOpsの真実
 
Introducton to Convolutional Nerural Network with TensorFlow
Introducton to Convolutional Nerural Network with TensorFlowIntroducton to Convolutional Nerural Network with TensorFlow
Introducton to Convolutional Nerural Network with TensorFlow
 
Googleにおける機械学習の活用とクラウドサービス
Googleにおける機械学習の活用とクラウドサービスGoogleにおける機械学習の活用とクラウドサービス
Googleにおける機械学習の活用とクラウドサービス
 
Googleのインフラ技術から考える理想のDevOps
Googleのインフラ技術から考える理想のDevOpsGoogleのインフラ技術から考える理想のDevOps
Googleのインフラ技術から考える理想のDevOps
 
Lecture note on PRML 8.2
Lecture note on PRML 8.2Lecture note on PRML 8.2
Lecture note on PRML 8.2
 
Deep Q-Network for beginners
Deep Q-Network for beginnersDeep Q-Network for beginners
Deep Q-Network for beginners
 
Life with jupyter
Life with jupyterLife with jupyter
Life with jupyter
 
TensorFlowで学ぶDQN
TensorFlowで学ぶDQNTensorFlowで学ぶDQN
TensorFlowで学ぶDQN
 
DevOpsにおける組織に固有の事情を どのように整理するべきか
DevOpsにおける組織に固有の事情を どのように整理するべきかDevOpsにおける組織に固有の事情を どのように整理するべきか
DevOpsにおける組織に固有の事情を どのように整理するべきか
 
PRML7.2
PRML7.2PRML7.2
PRML7.2
 
インタークラウドを実現する技術 〜 デファクトスタンダードからの視点 〜
インタークラウドを実現する技術 〜 デファクトスタンダードからの視点 〜インタークラウドを実現する技術 〜 デファクトスタンダードからの視点 〜
インタークラウドを実現する技術 〜 デファクトスタンダードからの視点 〜
 
Exploring the Philosophy behind Docker/Kubernetes/OpenShift
Exploring the Philosophy behind Docker/Kubernetes/OpenShiftExploring the Philosophy behind Docker/Kubernetes/OpenShift
Exploring the Philosophy behind Docker/Kubernetes/OpenShift
 
Docker活用パターンの整理 ― どう組み合わせるのが正解?!
Docker活用パターンの整理 ― どう組み合わせるのが正解?!Docker活用パターンの整理 ― どう組み合わせるのが正解?!
Docker活用パターンの整理 ― どう組み合わせるのが正解?!
 
Open Shift v3 主要機能と内部構造のご紹介
Open Shift v3 主要機能と内部構造のご紹介Open Shift v3 主要機能と内部構造のご紹介
Open Shift v3 主要機能と内部構造のご紹介
 
Docker with RHEL7 技術勉強会
Docker with RHEL7 技術勉強会Docker with RHEL7 技術勉強会
Docker with RHEL7 技術勉強会
 
分散ストレージソフトウェアCeph・アーキテクチャー概要
分散ストレージソフトウェアCeph・アーキテクチャー概要分散ストレージソフトウェアCeph・アーキテクチャー概要
分散ストレージソフトウェアCeph・アーキテクチャー概要
 
OpenStackとDockerの未来像
OpenStackとDockerの未来像OpenStackとDockerの未来像
OpenStackとDockerの未来像
 
OpenShift v3 Technical Introduction
OpenShift v3 Technical IntroductionOpenShift v3 Technical Introduction
OpenShift v3 Technical Introduction
 

Python 機械学習プログラミング データ分析演習編