Skip to content

Commit 23f1d8e

Browse files
2 parents 89db1d0 + cbb646f commit 23f1d8e

16 files changed

Lines changed: 547 additions & 162 deletions

docs/11.使用Apriori算法进行关联分析.md

Lines changed: 370 additions & 39 deletions
Large diffs are not rendered by default.

docs/8.预测数值型数据:回归.md

Lines changed: 24 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,16 @@ HorsePower = 0.0015 * annualSalary - 0.99 * hoursListeningToPublicRadio
2323

2424
### 1、线性回归
2525

26+
我们应该怎样从一大堆数据里求出回归方程呢? 假定输入数据存放在矩阵 x 中,而回归系数存放在向量 w 中。那么对于给定的数据 X1,预测结果将会通过 Y = X1^T w 给出。现在的问题是,手里有一些 X 和对应的 y,怎样才能找到 w 呢?一个常用的方法就是找出使误差最小的 w 。这里的误差是指预测 y 值和真实 y 值之间的差值,使用该误差的简单累加将使得正差值和负差值相互抵消,所以我们采用平方误差。
27+
28+
平方误差可以写做:
29+
30+
![平方误差](../images/8.Regression/LinearR_18.png)
31+
32+
用矩阵表示还可以写做 ![平方误差_2](../images/8.Regression/LinearR_19.png) 。如果对 w 求导,得到 ![平方误差_3](../images/8.Regression/LinearR_20.png) ,令其等于零,解出 w 如下(具体求导过程为: http://blog.csdn.net/nomadlx53/article/details/50849941 ):
33+
34+
![回归系数的最佳估计计算公式](../images/8.Regression/LinearR_1.png)
35+
2636
#### 1.1、线性回归 须知概念
2737

2838
##### 1.1.1、矩阵求逆
@@ -43,7 +53,7 @@ HorsePower = 0.0015 * annualSalary - 0.99 * hoursListeningToPublicRadio
4353
#### 1.2、线性回归 工作原理
4454

4555
```
46-
读入数据,将数据特征想、特征标签y存储在矩阵x、y中
56+
读入数据,将数据特征x、特征标签y存储在矩阵x、y中
4757
验证 x^Tx 矩阵是否可逆
4858
使用最小二乘法求得 回归系数 w 的最佳估计
4959
```
@@ -168,7 +178,11 @@ def regression1():
168178

169179
线性回归的一个问题是有可能出现欠拟合现象,因为它求的是具有最小均方差的无偏估计。显而易见,如果模型欠拟合将不能取得最好的预测效果。所以有些方法允许在估计中引入一些偏差,从而降低预测的均方误差。
170180

171-
一个方法是局部加权线性回归(Locally Weighted Linear Regression,LWLR)。在这个算法中,我们给预测点附近的每个点赋予一定的权重,然后与 线性回归 类似,在这个子集上基于最小均方误差来进行普通的回归。与 kNN 一样,这种算法每次预测均需要事先选取出对应的数据子集。该算法解出回归系数 w 的形式如下:
181+
一个方法是局部加权线性回归(Locally Weighted Linear Regression,LWLR)。在这个算法中,我们给预测点附近的每个点赋予一定的权重,然后与 线性回归 类似,在这个子集上基于最小均方误差来进行普通的回归。我们需要最小化的目标函数大致为:
182+
183+
![局部加权线性回归回归系数公式](../images/8.Regression/LinearR_21.png)
184+
185+
与 kNN 一样,这种算法每次预测均需要事先选取出对应的数据子集。该算法解出回归系数 w 的形式如下:
172186

173187
![局部加权线性回归回归系数公式](../images/8.Regression/LinearR_4.png)
174188

@@ -187,7 +201,7 @@ LWLR 使用 “核”(与支持向量机中的核类似)来对附近的点
187201
#### 2.1、局部加权线性回归 工作原理
188202

189203
```
190-
读入数据,将数据特征想、特征标签y存储在矩阵x、y中
204+
读入数据,将数据特征x、特征标签y存储在矩阵x、y中
191205
利用高斯核构造一个权重矩阵 W,对预测点附近的点施加权重
192206
验证 X^TWX 矩阵是否可逆
193207
使用最小二乘法求得 回归系数 w 的最佳估计
@@ -390,15 +404,15 @@ def abaloneTest():
390404

391405
# 打印出 不同的核预测值 与 新数据集(测试数据集)上的真实值之间的误差大小
392406
newyHat01 = lwlrTest(abX[100:199], abX[0:99], abY[0:99], 0.1)
393-
print "new yHat01 error Size is :" , rssError(abY[0:99], yHat01.T)
407+
print "new yHat01 error Size is :" , rssError(abY[0:99], newyHat01.T)
394408
newyHat1 = lwlrTest(abX[100:199], abX[0:99], abY[0:99], 1)
395-
print "new yHat1 error Size is :" , rssError(abY[0:99], yHat1.T)
409+
print "new yHat1 error Size is :" , rssError(abY[0:99], newyHat1.T)
396410
newyHat10 = lwlrTest(abX[100:199], abX[0:99], abY[0:99], 10)
397-
print "new yHat10 error Size is :" , rssError(abY[0:99], yHat10.T)
411+
print "new yHat10 error Size is :" , rssError(abY[0:99], newyHat10.T)
398412

399413
# 使用简单的 线性回归 进行预测,与上面的计算进行比较
400414
standWs = standRegres(abX[0:99], abY[0:99])
401-
standyHat = mat(abx[100:199]) * standWs
415+
standyHat = mat(abX[100:199]) * standWs
402416
print "standRegress error Size is:", rssError(abY[100:199], standyHat.T.A)
403417
```
404418

@@ -426,9 +440,11 @@ def abaloneTest():
426440

427441
岭回归最先用来处理特征数多于样本数的情况,现在也用于在估计中加入偏差,从而得到更好的估计。这里通过引入 λ 来限制了所有 w 之和,通过引入该惩罚项,能够减少不重要的参数,这个技术在统计学中也叫作 `缩减(shrinkage)`
428442

443+
![岭回归](../images/8.Regression/LinearR_22.png)
444+
429445
缩减方法可以去掉不重要的参数,因此能更好地理解数据。此外,与简单的线性回归相比,缩减法能取得更好的预测效果。
430446

431-
这里通过预测误差最小化得到 λ: 数据获取之后,首先抽一部分数据用于测试,生育的作为训练集用于训练参数 w。训练完毕后在测试集上测试预测性能。通过选取不同的 λ 来重复上述测试过程,最终得到一个使预测误差最小的 λ 。
447+
这里通过预测误差最小化得到 λ: 数据获取之后,首先抽一部分数据用于测试,剩余的作为训练集用于训练参数 w。训练完毕后在测试集上测试预测性能。通过选取不同的 λ 来重复上述测试过程,最终得到一个使预测误差最小的 λ 。
432448

433449
##### 4.1.1、岭回归 原始代码
434450

docs/9.树回归.md

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,23 @@
33

44
![预测数值型数据回归首页](/images/9.TreeRegression/TreeRegression_headPage_xy.png "树回归首页")
55

6+
## 树回归 概述
7+
8+
`我们本章介绍 CART(Classification And Regression Trees, 分类回归树) 的树构建算法。该算法既可以用于分类还可以用于回归。`
9+
10+
## 树回归 场景
11+
12+
13+
14+
15+
16+
17+
18+
19+
20+
21+
22+
623
## CART 算法
724

825
> CART 算法简介
123 KB
Loading
167 KB
Loading
133 KB
Loading
145 KB
Loading

images/8.Regression/LinearR_18.png

2.38 KB
Loading

images/8.Regression/LinearR_19.png

1.21 KB
Loading

images/8.Regression/LinearR_20.png

1001 Bytes
Loading

0 commit comments

Comments
 (0)