rgk*_*rgk 1 python machine-learning scikit-learn
我有一个具有20个数字功能和一个数字响应列的Pandas数据框。我想首先应用PCA将维数降低到10,然后运行线性回归来预测数值响应。我目前可以使用两个步骤
pipeline = Pipeline([('scaling', StandardScaler()),
('pca', PCA(n_components=20, whiten=True))])
newDF = pipeline.fit_transform(numericDF)
Y = df["Response"]
model = LinearRegression()
model.fit(newDF, Y)
Run Code Online (Sandbox Code Playgroud)
有没有办法在上述管道中组合线性回归?我问这个问题是因为
fit_transform 线性回归不支持。fit_predict 不能与PCA一起使用。如何在同一管道中同时运行PCA和线性回归?
管道步骤的顺序很重要。最后一步可能会实现predict(),而前面的所有步骤都必须有fit_transform()。同样在逻辑上,您首先要变换特征,然后应用预测性分类/回归模型
Y = df["Response"]
X=...
pipeline = Pipeline([('scaling', StandardScaler()),
('pca', PCA(n_components=20, whiten=True)),
('regr',LinearRegression())])
newDF = pipeline.fit_predict(numericDF)
Run Code Online (Sandbox Code Playgroud)