線形回帰を適用する前に、主成分分析を使用してノイズを減らしたいと考えています。線形回帰でPCAを使用する
私は私のモデルを訓練することができ、このデータでは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)
を持っている:私は
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)
を適用した後に同じことをしようとした場合
model.fit(X,y)
しかし、このエラーが表示されます:
あるpca = PCA(n_components=8)
X_pca = pca.fit_transform(X)
model.fit(X_pca,y)
、あなたは同時にフィットPCA XへとX_pca命名(1000年、8)の配列に変換し:
ノイズリダクションにはPCAが必要ですか?ノイズは一般的に分散を増加させ、PCAベースの次元削減はノイズの少ないデータを落とす可能性があります。 –