2. 多项式回归
当数据比直线更加复杂的时候,就需要使用多项式回归。
1. 生成数据
2. 训练模型
可以看到直线是无法拟合的,教程中使用了Sklearn的PolynomialFeatures进行了数据集转换,让训练集内每个特征的平方作为新特征
使用LinearRegression对数据进行拟合
3. 学习曲线
教程在这里通过三种不同阶方程对刚才的数据进行了拟合,对比了过拟合和欠拟合
不同学习曲线对比
这是一个简单线性回归的学习曲线
这是一个经过10阶处理后的学习曲线,和上面的对比会发现误差要比线性回归模型低的多
4. 线性模型的正则化
降低模型的过拟合的好方法是正则化这个模型(即限制它):模型有越少的自由度,就越难以拟合数据。例如,正则化一个多项式模型,一个简单的方法就是减少多项式的阶数。
对于一个线性模型,正则化的典型实现就是约束模型中参数的权重。教程讲了四种不同约束权重的方法:Ridge回归(岭回归),Lasso回归、Elastic Net(弹性网络)Early Stopping(早期停止法)。
岭回归调用sklearn.linear_model import Ridge
Lasso回归调用sklearn.linear_model import Lasso
弹性网络调用sklearn.linear_model import ElasticNet
早期停止法在SGDRegressor中设定warm_start=True
领取专属 10元无门槛券
私享最新 技术干货