线性回归中的非线性变换

非线性变换

在线性回归模型中,会发现有些变量与预测变量不是线性关系,所以需要非线性变换,把非线性关系转换为线性关系。

一、单变量做变换

载入boston房价数据
from sklearn.datasets import load_boston
from random import shuffle
boston = load_boston()
#seed(0) # Creates a replicable shuffling
#new_index = range(boston.data.shape[0])
#shuffle(new_index) # shuffling the index
#X, y = boston.data[new_index], boston.target[new_index]
X, y = boston.data, boston.target
print (X.shape, y.shape, boston.feature_names)


#散点图判断变量与目标之间的关系
import pandas as pd
df = pd.DataFrame(X,columns=boston.feature_names)
df['target'] = y
scatter = df.plot(kind='scatter', x='LSTAT', y='target', c='r')

从图中可以看出,LSTA可尝试log变换

import numpy as np
from sklearn.feature_selection.univariate_selection import f_regression
a=df['LSTAT'].values
y=boston.target
a=a.reshape(-1,1)

#注意:f_regression中的X参数和Y参数都必须是narray格式,且X必须是矩阵模式。
'''print(type(a))
print(type(y))
print(np.shape(a))
pr

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值