Я пытаюсь сделать случайный лесной регрессор. Для оптимизации я использовал рандомизированный поиск по сетке. У меня относительно большой набор данных с 600k строк. Поскольку была некоторая проблема с памятью, мне пришлось предсказать 12 различных категорий по отдельности. Поэтому я разделил фрейм данных на 12 различных фреймов данных, каждый из которых содержит 50 тыс. Строк, чтобы сделать его проще и быстрее. Однако, когда я пытаюсь выполнить рандомизированный поиск по сетке, потребовалось более 800 минут, чтобы получить вывод только для первого кадра данных. Есть ли что-то еще, что я могу сделать? Это мой мой код:
rf = RandomForestRegressor()
# Random search of parameters, using 3 fold cross validation,
# search across 100 different combinations, and use all available cores
rf_random = RandomizedSearchCV(estimator = rf, param_distributions = random_grid, n_iter = 100, cv = 3, verbose=2, random_state=42)
# Fit the random search model
rf_random.fit(train_features, train_labels)
rf_random.best_params_
best_random = rf_random.best_estimator_
print(' ')
print('Model Performance for: ' + i)
#Accuracy
evaluate(best_random, test_features, test_labels)