如何在Python中执行PCA后生成预测

如何在Python中执行PCA后生成预测,python,pca,Python,Pca,如果我有一个培训集trainX,trainy,我知道您可以使用 pca = PCA(n_components=5) Xred = pca.fit(trainX).transform(trainX) 如果我想运行一个模型,比如线性回归,那么我是否需要在testX上运行PCA 像这样: clf = linear_model.LinearRegression() clf.fit(trainX, trainY) testXred = pca.fit(testX).transform(testX) pr

如果我有一个培训集
trainX
trainy
,我知道您可以使用

pca = PCA(n_components=5)
Xred = pca.fit(trainX).transform(trainX)
如果我想运行一个模型,比如线性回归,那么我是否需要在
testX
上运行PCA

像这样:

clf = linear_model.LinearRegression()
clf.fit(trainX, trainY)
testXred = pca.fit(testX).transform(testX)
predictions = clf.predict(testXred)
或者我只是在训练集上运行PCA,所以线性回归预测应该是这个

predictions = clf.predict(testX)
还是这个

testXred = pca.fit(trainX).transform(testX)
predictions = clf.predict(testXred)

如果您的意思是希望在进行线性回归之前使用PCA减少噪声,下面的示例可能会有所帮助:

如果您的意思是希望在进行线性回归之前使用PCA减少噪音,下面的示例可能会有所帮助:

仅显示在
X
上运行
pca.fit\u transform
。您是否还需要在
X\u测试上运行
pca.fit\u transform
?这只显示在
X
上运行
pca.fit\u transform
。您是否还需要在
X\u测试上运行
pca.fit\u transform