多项式回归--潦草小狗

前言

多项式回归是升维手段---也是一种特征预处理的手段。

多项式回归的目的

解决欠拟合问题,也是为了提高模型准确率,因为当维度不够,对预测结果考虑因素少,就不能准确计算出模型。常见手段:将已知维度进行相乘构建新的维度。

多项式回归的通俗解释

多项式回归是升维的一种,机器学习的一种算法,不过和归一化一样一般算作数据预处理的手段。他的目的是将已有的维度相乘,包括自己和自己相乘,来组成二阶的甚至更高阶的维度。

为甚么叫线性回归?主要是因为在线性回归算法中用她比较多,因为线性回归是线性的模型,来你和X和y之间的线性变化关系,当数据呈现一种非线性关系的时候,即y不是随着X线性变化的时候。我们有两种选择一是选择使用非线性的算法(回归树,神经网络等)去拟合非线性的数据。二是铁了心使用线性算法,但是需要吧数据变成线性关系才能更好的让算法发挥功能。不要小看线性算法,毕竟线性算法有运算速度快是一大优势。

总结来说, 多项式回归就是为了扩展线性回归算法来适应更加广泛的数据集。

多项式回归公式

例如,标准回归模型如下所示:

如果我们想用抛物面来拟合数据而不是平面,我们可以用二阶多项式组合特征,这样模型看起来就像这样:

此时,我们令:

有了这个数据的重新标记,我们的问题就可以写出来了:

多项式回归代码示例

from sklearn.preprocessing import PolynomialFeatures
from sklearn.linear_model import LinearRegression
from sklearn.pipeline import Pipeline
import numpy as np
model = Pipeline([('poly', PolynomialFeatures(degree=3)),
                   ('linear', LinearRegression(fit_intercept=False))])
# fit to an order-3 polynomial data
x = np.arange(5)
y = 3 - 2 * x + x ** 2 - x ** 3
model = model.fit(x[:, np.newaxis], y)
print(model.named_steps['linear'].coef_)

多项式回归结果分析

从结果中可以看到我们对于多项式y = 3 - 2 * x + x ** 2 - x ** 3中每一项的系数的拟合结果都很不错。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值