(一) 岭回归简介:
线性回归最主要问题是对异常值敏感。在真实世界的数据收集过程中,经过会遇到错误的度量结果。而线性回归使用的普通最小二乘法,其目标是使平方误差最小化。这时,由于异常值误差的绝对值很大,因此破坏整个模型。
如何解决呢?
我们引入正则化项的系数作为阈值来消除异常的影响。这个方法称为岭回归。
(具体原理待完善,读者可参考其他文献)
(二) 岭回归实现原理(代码参考《机器实战》):
fromnumpy import *
defloadDataSet(fileName):
numFeat =len(open(fileName).readline().split('\t')) - 1 #get number of fields
dataMat = []; labelMat = []
fr = open(fileName)
for line in fr.readlines():
lineArr =[]
curLine = line.strip().split('\t')
for i in range(numFeat):
lineArr.append(float(curLine[i]))
dataMat.append(lineArr)
labelMat.append(float(curLine[-1]))
return dataMat,labelMat
defridgeRegres(xMat,yMat,l