1

Я выполняю относительно большую работу, которая включает в себя выполнение рандомизированного поиска сетки на наборе данных, который (с небольшим n_iter_search) уже занимает много времени.Как я могу получить рандомизированный поиск сетки, чтобы быть более подробным? (кажется, остановлен, но не может диагностировать)

Я запускаю его на 64-ядерном компьютере, и в течение примерно 2 часов он поддерживал 2000 потоков, работающих над первым сгибом. Затем он прекратил полностью сообщать об этом. Был последний отчёт: [Parallel(n_jobs=-1)]: Done 4 out of 60 | elapsed: 84.7min remaining: 1185.8min

Я заметил на htop, что почти все ядра находятся на 0%, чего не было бы при тренировке случайных лесов. Никакой обратной связи или ошибок из программы, если бы не для htop, я бы предположил, что это еще тренировка. Это произошло раньше, так что это повторяющаяся проблема. Машина отлично реагирует, и процесс кажется живым.

У меня уже есть подробные = 10. Любые мысли о том, как я могу диагностировать, что происходит внутри RandomizedSearchCV?

поиска сетки я делаю:

гк = RandomForestClassifier (n_jobs = -1)

param_grid = { 'n_estimators': sp_randint (100, 5000), 'max_features' : [ 'авто', Отсутствует], 'min_samples_split': sp_randint (2, 6) }

n_iter_search = 20

CV_rfc = RandomizedSearchCV (оценка = гк, param_distributions = param_grid, n_iter = n_iter_search, многословным = 10, n_jobs = -1)

+3

Не совсем ответ на ваш вопрос, но вы, вероятно, не должны искать сетку n_estimators: больше всегда лучше. Поэтому, если 100 оценок являются приемлемым для вас значением, я предлагаю придерживаться его для процесса поиска. В противном случае сэмплированные параметры с более высокими n_estimators получат несправедливое преимущество. – ldirer

+0

Очень справедливо, я должен был использовать для этого кривые обучения. Можете (любопытно) решить проблему, если основной проблемой будет часть ядер, занимающих слишком много памяти. –

ответ

2

В качестве первого шага, добавив параметр verbose к RandomForestClassifier, а также может позволить вам увидеть если поиск действительно застрял. Он покажет ход установки деревьев (building tree 88 out of 100 ...).

Я действительно не знаю, почему ваш поиск застрял, но подумав об этом, удалив поиск по n_estimators, вы должны включить поиск по всему пространству параметров, указанных здесь, всего за 8 итераций.

 Смежные вопросы

  • Нет связанных вопросов^_^