ML 回归-非线性回归

step1:数据预处理

        调用sklearn包中的StandardScler进行数据归一化处理

        基于Z得分归一化,这在方法是基于数据的均值和标准差,将数据转化为具有均值为0和标准差为1的正态分布。公式如下:(注意点:标准为0时要注意一下)

        具体代码如下:

step2:调用sklearn包中的PolynomialFeatures进行多项式生成和交互特征。

        其中:

                degree:多项式的参数,即最高次幂。

                interaction_only:一个布尔值,如果设置为True,则只生成交互项,不生成次幂项。默认为False,即同时生成次幂项和交互项。

                include_bias:一个布尔值,用于指示是否在特征矩阵中包含偏置项(即常数项,通常为1)。默认情况下,include_bias=True,意味着生成的特征矩阵会包含一个常数项。在这个例子中,include_bias=False意味着不包含常数项。如果你的模型(如线性回归)已经包含了截距项,那么通常你会设置include_bias=False。 

        代码如下:

step3:调用sklearn_linear_model包中的LinaerRegression进行模型回归

        为什么是用LinearRegression对非线性回归进行建模,是因为前面已经使用PolynomialFeatures和fit_transform进行多项式生成和数据转换。

        代码如下:

总结:

1.  scaler会记录测试数据集的mean和std所以当有新的测试数据时,可以直接scaler.transfer(new_data)就可以完成数据转换

2.  因为是多项式回归拟合,poly_features会扩大特征的维数,因此对测试数据进行转换特征,因此后面也就是变成了只与参数有关的线性回归,因此后面也就直接建立的线性回归模型。

3.  一旦使用线性回归模型训练了数据,可以通过coef_属性来获得特征的系数(即参数值),截距值可以通过intercept_属性获得。        

4. 多项式回归从本质上讲也是线性回归

  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值