【问题标题】:Polynomial Features and polynomial regression in sklearnsklearn 中的多项式特征和多项式回归
【发布时间】:2020-01-14 14:44:03
【问题描述】:

我有两个问题:

  1. fit_transform 在多项式特征上的输出是什么(数字是什么意思)?如果我错了,请纠正我,但据我了解,这种方法适合并将我们的变量转换为多项式模型(我们选择的度数)。
    例如:
from sklearn.preprocessing import PolynomialFeatures

poly=PolynomialFeatures(degree=2)

poly.fit_transform(df[[firstColumn,secondColumn]],df[targetColumn])

因此,结果是一个二维多项式,其中 df[firstColumn] 和 df[secondColumn] 作为变量。

2) 在多项式回归中,为什么我们需要使用fit_tranform?其背后的逻辑是什么?
例如,

Xpoly=poly.fit_transform(X)

lin=LinearRegression()

lin.fit(Xpoly,y)

【问题讨论】:

    标签: python scikit-learn


    【解决方案1】:

    来自sklearn documentation

    sklearn.preprocessing.PolynomialFeatures
    生成新特征 由特征的所有多项式组合组成的矩阵 度数小于或等于指定度数。例如,如果一个 输入样本是二维的,形式为 [a, b],度数为 2 多项式特征为[1, a, b, a^2, ab, b^2]。

    所以,这和你想的完全一样。

    fit_transform(self, X, y=None, **fit_params)
    使转换器适合 X 和 y 带有可选参数 fit_params 并返回转换后的 X 版本。

    在 sklearn 中,fit() 只是计算参数并将它们保存为内部对象状态。之后,您可以调用其transform() 方法将转换应用于一组特定的示例。

    fit_transform() 加入了这两个步骤,用于在训练集 x 上进行参数的初始拟合,但它也返回一个转换后的 x'。在内部,它只是先调用fit(),然后再调用transform() 处理相同的数据。

    【讨论】:

      猜你喜欢
      • 2019-01-13
      • 1970-01-01
      • 2015-11-21
      • 1970-01-01
      • 2019-07-05
      • 2015-07-04
      • 2023-04-03
      • 1970-01-01
      • 2020-01-10
      相关资源
      最近更新 更多