Я пытаюсь решить задачу регрессии. Я узнал, что 3 модели работают хорошо для разных подмножеств данных: LassoLARS, SVR и Gradient Tree Boosting. Я заметил, что когда я делаю прогнозы с использованием всех этих трех моделей, а затем создаю таблицу "истинного вывода" и выходов своих трех моделей, я вижу, что каждый раз хотя бы одна из моделей действительно близка к истинному результату, хотя 2 других может быть относительно далеко.
Когда я вычисляю минимальную возможную ошибку (если я беру предсказание из "лучшего" предиктора для каждого тестового примера), я получаю ошибку, которая намного меньше ошибки любой модели. Поэтому я подумал о том, чтобы попытаться объединить прогнозы из этих трех разных моделей в какой-то ансамбль. Вопрос в том, как это сделать правильно? Все мои 3 модели построены и настроены с использованием scikit-learn, предоставляет ли он какой-то метод, который можно использовать для упаковки моделей в ансамбль? Проблема здесь в том, что я не хочу просто средние прогнозы из всех трех моделей, я хочу сделать это с помощью взвешивания, где взвешивание должно определяться на основе свойств конкретного примера.
Даже если scikit-learn не предоставляет такую функциональность, было бы неплохо, если бы кто-то знал, как свойство адресует эту задачу - выяснить вес каждой модели для каждого примера в данных. Я думаю, что это может быть сделано отдельным регрессором, построенным поверх всех этих трех моделей, которые будут пытаться выводить оптимальные веса для каждой из трех моделей, но я не уверен, что это лучший способ сделать это.