#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)