グリッド検索を使用して線形回帰に入る前にデータの主成分数を選択しようとしています。私が欲しい主成分の数の辞書を作る方法が混乱しています。 param_gridパラメータにリストを辞書形式で入れるが、間違っていると思う。これまでは、infsまたはNaNを含む配列について警告を受けました。SklearnのPCA - ValueError:配列にinfまたはNaNを含めることはできません
私はPCAへの線形回帰をパイプラインからの指示に従ってています:http://scikit-learn.org/stable/auto_examples/plot_digits_pipe.html
とValueError:私は再現性の例に同じエラーを取得することができた
、私の本当の
のINFまたはNaNを含んではならない配列import pandas as pd
import numpy as np
from sklearn.decomposition import PCA
from sklearn.linear_model import LinearRegression
from sklearn.pipeline import Pipeline
from sklearn.model_selection import GridSearchCV
df2 = pd.DataFrame({ 'C' : pd.Series(1, index = list(range(8)),dtype = 'float32'),
'D' : np.array([3] * 8,dtype = 'int32'),
'E' : pd.Categorical(["test", "train", "test", "train",
"test", "train", "test", "train"])})
df3 = pd.get_dummies(df2)
lm = LinearRegression()
pipe = [('pca',PCA(whiten=True)),
('clf' ,lm)]
pipe = Pipeline(pipe)
param_grid = {
'pca__n_components': np.arange(2,4)}
X = df3.as_matrix()
CLF = GridSearchCV(pipe, param_grid = param_grid, verbose = 1, cv = 3)
y = np.random.normal(0,1,len(X)).reshape(-1,1)
CLF.fit(X,y)
ValueError: array must not contain infs or NaNs
EDIT:データセットが大きくなって、私はフィットfor文のyに入れて、それはまだ私に同じエラーを与えました。しかし、これは私のデータセットの再現可能な例ではありませんでした。
あなたは 'np.any(np.isnan(X_mat))を実行し'と私の戻り値を教えてくださいことはできますか? –
私のデータセットでは、「False」が返されます –