前提・実現したいこと
データの前処理での次元拡大によるMemoryError対処法について
入力における特徴量を減らす以外での解決策を探しています。
大変未熟者ですがご教授願います。
発生している問題・エラーメッセージ
numpy.core._exceptions.MemoryError: Unable to allocate array with shape (31934, 356727) and data type object
該当のソース
Python 3.7.3
Pandasでデータを読み込んだ後、
dataset.shape->(445909, 79)
とし、このデータ内のカテゴリカル変数のみをOneHotEncordingでDummy変数化を行いました。
その後、元データと連結し
After_dummy_dataset.shape->(445909, 31935)
dataをtrain,testに分割
dataset_train, dataset_test, attack_train, attack_test = train_test_split(dataset, attack, train_size = 0.6, test_size = 0.4, shuffle = True)
test,trainそれぞれに対し、正規化
from sklearn import preprocessing
mm = preprocessing.MinMaxScaler()
dataset_train = mm.fit_transform(dataset_train)
dataset_test = mm.fit_transform(dataset_test)
当たり前ですが、次元数が多すぎることから、実装でMemoryErrorを起こします。
入力における特徴量を減らす以外での解決策を探しています。
###補足
データセット内の欠損値はないです。

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。