sklearn的多项式特征和多项式回归

时间:2019-09-12 17:04:15

标签: python scikit-learn

我有两个问题:

  1. 多项式特征上companies = [('amazon',0),('boeing',1),('target',2),('tesla',3),('walmart',4)] def add_company(company_tuple): score_types = [('article','ArticleScore'), ('blog','BlogScore'), ('news','NewsScore')] # calculate scores for type in score_types: score = keywords.loc[(keywords['Company'] == company_tuple[0]) & (keywords['DocumentType'] == type[0]),'Polarity'].sum() keydata.loc[keydata.index[company_tuple[1]], type[1]] = score return for company in companies: add_company(company) 的输出是什么(数字是什么意思)?如果我错了,请纠正我,但据我所知,这种方法适合并将我们的变量转换为多项式模型(由我们选择程度)。
    例如:
fit_transform

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

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

from sklearn.preprocessing import PolynomialFeatures

poly=PolynomialFeatures(degree=2)

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

1 个答案:

答案 0 :(得分:0)

来自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和   具有可选参数fit_params的y,并返回转换后的   X的版本。

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

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