RandomizedSearchCV занимает слишком много времени в случайном лесу

#python #bigdata #random-forest #grid-search #hyperparameters

#python #bigdata #случайный лес #поиск по сетке #гиперпараметры

Вопрос:

Я пытаюсь выполнить классификацию для анализа оттока с большими данными. Метод RandomizedSearchCV работает не менее 6 часов, и мне нужно найти способ сократить его время.

 from sklearn.model_selection import RandomizedSearchCV

n_estimators = [int(x) for x in np.linspace(start = 200, stop = 2000, num = 10)]

max_features = ['auto', 'sqrt']

max_depth = [int(x) for x in np.linspace(100, 500, num = 11)]
max_depth.append(None)

random_grid = {
 'n_estimators': n_estimators,
 'max_features': max_features,
 'max_depth': max_depth
 }
rfc_random = RandomizedSearchCV(estimator = rfc, param_distributions = random_grid, n_iter = 100, cv = 3, verbose=2, random_state=42, n_jobs = -1)
rfc_random.fit(X_train, y_train)
print(rfc_random.best_params_)
 

Комментарии:

1. используйте более быстрый сервер в internet. ie. Google Colab

2. Это тоже не сработало в Google colab

3. если он не работает быстрее на более быстром компьютере, вам придется подождать 6 часов. И, возможно, вам следует сохранить модель после обучения, а затем загрузить ее, чтобы вам не пришлось снова ее обучать.

4. более короткий код для получения целых n_estimators = np.linspace(..., dtype=int) чисел в конечном итоге n_estimators = np.linspace(...).astype(int)