Указать c Я хочу распараллелить перекрестную проверку xgboost
Пожалуйста, помогите мне спроектировать такое приложение Dask. Допустим, у меня есть кластер Dask. Я хочу сделать 10-кратную перекрестную проверку для xgboost.
Допустим, планировщику необходимо отслеживать текущее состояние задания. Он запускает 10 задач xgboost на 10 разных рабочих (для каждой из складок), скажем, 10000 итераций для каждой задачи максимум.
После завершения каждой итерации выполняется обратный вызов, который сообщает о текущем метри c, например, rmse. Таким образом, работник отправит это Планировщику и получит ответ, продолжить или завершить.
Основной планировщик периодически получает эти обновления асинхронно. Когда все работники сообщают о метри c на определенной итерации, планировщик агрегирует их (просто вычисляет среднее значение) и помещает его в текущий стек результатов. Он также проверяет, не был ли результат улучшен за последние, скажем, 50 итераций, планировщик велит всем работникам завершить (возможно, при следующем сообщении) и сообщить результат (который является объектом дерева).
После того, как он получает их все, он возвращает все деревья (и, возможно, метрики тоже).