Я работал с большим набором данных с формой (345602,12), выполняя всевозможные анализы с помощью scikitlearn. У меня не было проблем, пока я не запустил RandomForestRegressor:
from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestRegressor
X_train, X_test, y_train, y_test = train_test_split(X, y,
test_size=0.4,
random_state=1)
forest = RandomForestRegressor(n_estimators=100,
criterion='mse',
random_state=1,
n_jobs=-1)
forest.fit(X_train, y_train)
y_train_pred = forest.predict(X_train)
y_test_pred = forest.predict(X_test)
Эта часть работает, в результате чего:
print(y_train.shape, y_train_pred.shape)
(207361,1) (207361,)
print(y_test.shape, y_test_pred.shape)
(138241,1) (138241,)
Затем, когда я попытался просто вычесть их:
A=y_train_pred - y_train
B=y_test_pred - y_test
Это точка, в которой происходит сбой.
MemoryError: Невозможно выделить 320. ГиБ для массива с формой (207361, 207361) и типом данных float64
Я нахожу это очень странным, поскольку я без проблем использовал этот инструмент с меньшим набором данных.