关于sklearn中PolynomialFeatures类
来源:8-2 scikit-learn中的多项式回归与Pipeline
你鸡
2018-08-07
这里升维后加的一列1 是线性回归中X和X_b之间差的那一列1吗,可是加这一列1的操作不是已经封装在类里了吗,这样不就重复了
写回答
1回答
-
赞问题!
答案是:是,也不是。
首先,说不是,是因为他们语意不同。
在线性回归中,由于需要考虑常数项的系数,所以我们加了一列1,让X变成了X_b,这样,我们才能考虑常数项系数;
但是,在这里,这一列1是创建多项式特征的过程中添加的,是数据预处理的结果。它的本质是:我们需要所有degree<=d的特征,其中,也包括d=0的特征。当d=0时x^0=1。这是一列新的特征,只不过,这列特征和x的大小没有关系,恒等于1。
说他是,是因为,这样的一个特征矩阵,在实际运算的时候,这一列1确实可以直接当做X_b来使用。在运算结果上是没差的。
好消息是,对于这样的X,即使我们再扩充一列1,形成的X_b里有两列1,最终的运算结果也是一样的。在我们计算损失函数中,这两列数据将共同承担常数项的任务,不影响最终让损失函数最低时,其他特征的系数值:)
132018-09-01
相似问题