机器学习实战勘误表 修正机器学习实战中的错误

5nAI 29 0

《机器学习实战》是一本非常受欢迎的机器学习入门书籍,但是在书籍的写作过程中难免会有一些错误。本文将列出《机器学习实战》中的一些错误,并提供正确的解决方案。

第1章中介绍了k-近邻算法,但是在代码实现中有一个错误。计算欧氏距离的语句为:

```python

distances = ((dataSet - inX) ** 2).sum(axis=1) ** 0.5

机器学习实战勘误表 修正机器学习实战中的错误

但是正确的语句应该为:

```python

distances = (((dataSet - inX) ** 2).sum(axis=1)) ** 0.5

第2章中介绍了朴素贝叶斯算法,计算概率的语句为:

```python

p0Num = zeros(numWords)

p1Num = zeros(numWords)

p0Denom = 0.0

p1Denom = 0.0

for i in range(numTrainDocs):

if trainCategory[i] == 1:

p1Num += trainMatrix[i]

p1Denom += sum(trainMatrix[i])

else:

p0Num += trainMatrix[i]

p0Denom += sum(trainMatrix[i])

p1Vect = log(p1Num / p1Denom) # change to log()

p0Vect = log(p0Num / p0Denom) # change to log()

但是正确的语句应该为:

```python

p0Num = ones(numWords)

p1Num = ones(numWords)

p0Denom = 2.0

p1Denom = 2.0

for i in range(numTrainDocs):

if trainCategory[i] == 1:

p1Num += trainMatrix[i]

p1Denom += sum(trainMatrix[i])

else:

p0Num += trainMatrix[i]

p0Denom += sum(trainMatrix[i])

p1Vect = log(p1Num / p1Denom) # change to log()

p0Vect = log(p0Num / p0Denom) # change to log()

第3章中介绍了决策树算法,创建决策树的语句为:

```python

myTree = createTree(myDat, labels)

但是正确的语句应该为:

```python

myTree = createTree(array(myDat), array(labels))

第4章中介绍了基于回归的算法,使用局部加权线性回归进行预测的语句为:

```python

yHat[i] = xMat[i] * ws

但是正确的语句应该为:

```python

yHat[i] = xMat[i] * ws[i]

以上是《机器学习实战》中的一些错误及其解决方案,希望对读者有所帮助。在学习机器学习的过程中,我们应该不断地与书籍中的代码进行交互,并及时发现并解决其中的错误,以便更好地掌握机器学习的知识。

标签: #机器学习 #语句 #章中介绍了