首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

机器学习100天-Day1502训练模型-多项式回归

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

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190108A1HU7M00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券