当前位置:  开发笔记 > 编程语言 > 正文

在线性回归上使用PCA

如何解决《在线性回归上使用PCA》经验,为你挑选了1个好方法。

我想在应用线性回归之前使用主成分分析来减少一些噪声.

我有1000个样本和200个功能

import numpy as np
from sklearn.linear_model import LinearRegression
from sklearn.decomposition import PCA

X = np.random.rand(1000,200)
y = np.random.rand(1000,1)

有了这些数据,我可以训练我的模型:

model.fit(X,y)

但如果我在申请PCA后尝试相同的话

pca = PCA(n_components=8)
pca.fit(X)
PCA(copy=True, iterated_power='auto', n_components=3, random_state=None,
  svd_solver='auto', tol=0.0, whiten=False)
principal_components =  pca.components_

model.fit(principal_components,y)

我收到此错误:

ValueError: Found input variables with inconsistent numbers of samples: [8, 1000]

jtitusj.. 7

试试这个:

pca = PCA(n_components=8)
X_pca = pca.fit_transform(X)

model.fit(X_pca,y)

也就是说,您同时将PCA与X匹配并将其转换为名为X_pca的(1000,8)数组.这就是你应该使用的而不是pca.components_



1> jtitusj..:

试试这个:

pca = PCA(n_components=8)
X_pca = pca.fit_transform(X)

model.fit(X_pca,y)

也就是说,您同时将PCA与X匹配并将其转换为名为X_pca的(1000,8)数组.这就是你应该使用的而不是pca.components_

推荐阅读
虎仔球妈_459
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有