关于pipeline中用named_steps得到的系数和截距的问题
来源:8-2 scikit-learn中的多项式回归与Pipeline
慕粉4186965
2019-07-09
对于这个帖子中所说的解决方案,对于named_steps得到的系数,差距有点大
用
poly_reg.named_steps['lin_reg'].coef_
得到的系数为
array([0. , 1.6418146 , 1.70106747])
写回答
3回答
-
重新回答一下。
是的。标准化改变了数据,所以,原先数据线性关系所遵守的系数丧失了。得到的系数是不一样的。但由于标准化本身是线性变换,所以,数据之间还会满足线性关系,遵守一个新的线性系数,就是你看到的这个不一样的线性系数。
怎么验证这个结果还是合理的呢?可以看R^2的值,即sklearn中回归算法的score值,得到的结果,和标准化的结果是一样的。
以下是我的实验:
继续加油!:)
022019-07-10 -
慕粉4186965
提问者
2019-07-10
不做标准化,能得到相似的系数
00 -
liuyubobobo
2019-07-10
在管道里,首先对数据进行了多项式特征,所以这个lin_reg是针对多项式特征做的回归。而不再是原始数据。所以,已经不遵守你的原始数据设置的参数了。
应该用以下过程拆分管道,来模拟管道里的事情。因为管道里有三个元素,所以一共有三步:
继续加油!:)
032019-07-10
相似问题