多项式拟合lm_sklearn之多项式回归

本文介绍了如何使用sklearn库中的多项式特征扩展器和线性回归器进行一元多项式回归。通过创建数据管线,将一元多项式问题转化为多元线性回归,然后训练模型并评估其性能,最终展示多项式回归线的图像。模型的R2得分为0.786,表明模型对数据有一定的拟合能力。
摘要由CSDN通过智能技术生成

'''多项式回归:若希望回归模型更好的拟合训练样本数据,可以使用多项式回归器。

一元多项式回归:

数学模型:y = w0 + w1 * x^1 + w2 * x^2 + .... + wn * x^n

将高次项看做对一次项特征的扩展得到:

y = w0 + w1 * x1 + w2 * x2 + .... + wn * xn

那么一元多项式回归即可以看做为多元线性回归,可以使用LinearRegression模型对样本数据进行模型训练。

所以一元多项式回归的实现需要两个步骤:

1. 将一元多项式回归问题转换为多元线性回归问题(只需给出多项式最高次数即可)。

2. 将1步骤得到多项式的结果中 w1,w2,w3,...,wn当做样本特征,交给线性回归器训练多元线性模型。

选择合适的最高次数其模型R2评分会高于一元线性回归模型评分,如果次数过高,会出现过拟合现象,评分会低于一元线性回归评分

使用sklearn提供的"数据管线"实现两个步骤的顺序执行:

import sklearn.pipeline as pl

import sklearn.preprocessing as sp

import sklearn.linear_model as lm

model = pl.make_pipeline(

# 10: 多项式的最高次数

sp.PolynomialFeatures(10), # 多项式特征扩展器

lm.LinearRegression()) # 线性回归器

过拟合和欠拟合:</

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值