これを試しましたが、データに対して機能させることができませんでした: Scikit Learnを使用して、時系列で線形回帰を実行しますpandasデータフレーム
私のデータは2つのDataFrameで構成されています。 DataFrame_1.shape = (40,5000)
およびDataFrame_2.shape = (40,74)
。ある種の線形回帰を実行しようとしていますが、_DataFrame_2
_にNaN
の欠落データ値が含まれています。 DataFrame_2.dropna(how="any")
すると、形状は_(2,74)
_に下がります。
sklearnにNaN
値を処理できる線形回帰アルゴリズムはありますか?
_load_boston
_ from _sklearn.datasets
_ where X,y = boston.data, boston.target = (506,13),(506,)
をモデルにしています。
これが私の簡略化されたコードです:
_X = DataFrame_1
for col in DataFrame_2.columns:
y = DataFrame_2[col]
model = LinearRegression()
model.fit(X,y)
#ValueError: Input contains NaN, infinity or a value too large for dtype('float64').
_
マトリックスの形状を一致させるために、上記の形式を実行しました
_DataFrame_2
_を投稿すると役立つ場合は、以下にコメントしてください。追加します。
y
のnull値を代入で入力できます。 scikit-learn
これは次のコードスニペットで行われます。
from sklearn.preprocessing import Imputer
imputer = Imputer()
y_imputed = imputer.fit_transform(y)
それ以外の場合は、74列のサブセットを予測子として使用してモデルを構築することをお勧めします。おそらく、一部の列に含まれるnull値が少なくなりますか?
変数がDataFrameの場合、fillna
を使用できます。ここで、欠落しているデータをその列の平均に置き換えました。
df.fillna(df.mean(), inplace=True)