データサイエンティスト養成読本機械学習入門編

サポートページ

ダウンロード

本書で使用するサンプルデータをダウンロードできます。

2015年9月4日更新

P45 図4
P46 図5
P46 図6
P47 click_data_sample.csv
P48 図7
P51 図9
P51 図10
P52 図11
P54 図14
P54 図15
P55 図16
P57 図18
P57 図19
P59 cv_data_sample.csv
P61 図22
P126 図6
P155 図1

お詫びと訂正(正誤表)

本書の以下の部分に誤りがありました。ここに訂正するとともに、ご迷惑をおかけしたことを深くお詫び申し上げます。

(2016年7月22日更新)

P.60 例32 予測モデルの構築のコード差し替え

> library(rpart)   # 決定木
> library(rattle)  # きれいな決定木の描画
> # クラスタ番号を因子型に変換
> target.data[,-c(1,ncol(target.data))] <- 
+   apply(target.data[,-c(1,ncol(target.data))], 2, as.factor)
> # 決定木の実行
> cvr.fit <- rpart(cvr~., data=target.data[,-1])

初版第2刷以降で以下の修正について訂正しております
目次

誤 戸嶋達哉
正 戸嶋龍哉

P.30 左段4行目の式

誤 l(w0, w1, w2, x1, x2, y ) = max(0, 1 - y(i) (x1(i), x2(i) ))
正 l(w0, w1, w2, x1, x2, y ) = max(0, 1 - y(i) f(x1(i), x2(i) ))

P.41 左段

誤 平均(μ1,μ2)と2行2列の共分散行列σとなります。
正 平均(μ1,μ2)と2行2列の共分散行列Σとなります。

P.47 例4 2行目

誤 ggplot(click.user.data, aes(x=no, y=click.num)) +
正 ggplot(click.user.data[1:5000,], aes(x=no, y=click.num)) +

P.114 右段下

誤 > sudo apt-get install -y libfreetype6-dev libblas-dev liblapack-dev
gfortran
正 > sudo apt-get install -y libfreetype6-dev libblas-dev liblapack-dev
gfortran tk-dev

P.118 例1の5行目

誤
b = np.array(np.arange(10))
正
b = np.arange(10)

P.129 右段下

誤
LinearRegressio()
正
LinearRegression()

P.130 左段中

誤
datasetモジュール
正
datasetsモジュール

P.133 リスト7下部のインデント、コメント位置のずれ

正
# 描画
markers = ["o", "v", "x"]
for i in range(3):
    xx = X[kmeans.labels_ == i]
    plt.scatter(xx[:, 0], xx[:, 1], c="k", marker=markers[i])
plt.show()

P.157 リスト1下部に不要なコードの入り込み

ax2.add_patch(rect)は不要です。

P.159 リスト2の1行目のコメント

誤
import sys
import numpy as np
from skimage import io
import matplotlib.pyplot as plt
import matplotlib.cm as cm
正
import numpy as np
from skimage import io
from skimage import transform
import matplotlib.pyplot as plt
import matplotlib.cm as cm

「# (省略)リスト1と同様にimport」に加えてfrom skimage import transformが必要です。

P182 リスト6
true_positive += 1 → true_negative += 1
false_negative += 1 → false_positive += 1

誤

else: # 教師データ中で異常とされる物 if may_anomaly: # Jubatusが正しく異常とみなした true_positive+= 1
else: # Jubatusが間違えて正常とみなした false_negative += 1 ====== 

正

else: #教師データ中で異常とされる物 if may_anomaly: # Jubatusが正しく異常とみなした true_negative += 1
else: # Jubatusが間違えて正常とみなした false_positive += 1