控制过拟合

普通的最小二乘法,当过拟合发生时,没有办法阻止学习过程。

过拟合的根源在于X中有太多的列,解决的方法是去掉X中的一些列,这样就转化为去掉多少列以及哪几列应该去掉的问题。

调整普通最小二乘法瓶颈的方法:前向逐步回归和岭回归。

前向逐步回归就是要找出最佳的特征子集。如果把所有特征的1列-n列子集全部计算一次,会花费大量时间。所以从1列子集开始,找到效果最佳的那一列特征,接着寻找与其组合与效果最佳的第2列特征,而不用评估所有2列子集。以此类推。引入的特征个数称作复杂度参数。复杂度更高的模型会有更多的自由参数,相对于低复杂度的模型更容易对数据产生过拟合。模型越复杂,泛化能力越差。在同等情况下,倾向于选择不太复杂的模型。最佳经验是如果属性添加后带来的性能提升只达到小数点后第4位,那么保守起见,可以将这样的属性移除掉。

sklearn包中的岭回归模型:

from sklearn import linear_model

ridgemodel=linear_model.Ridge(alpha=alph)

你可能感兴趣的:(控制过拟合)