Вы можете сделать это с помощью моделей Ensemble.
Модели ансамбля сочетают в себе решения различных моделей для повышения общей производительности.Для задач регрессии я бы предложил следующие ансамблевые модели / методы:
Усреднение
Это довольно простой метод ансамбля, в котором вам нужно взять среднее из прогнозов из всехваших моделей и использовать его, чтобы сделать окончательный прогноз.
Взвешенное усреднение
Это похоже на простое усреднение, но все модели теперь имеют разные веса, определяя важность / вклад каждой из моделей вокончательный прогноз.
Мета-оценщик сумок
Это метод ансамблирования, который может использоваться как в классификации (BaggingClassifier
), так и в регрессии ()BaggingRegressor
).Метаоценщик суммирования предпринимает следующие шаги для достижения окончательного прогноза:
- Произвольное создание подмножеств из исходного набора данных
- Базовая оценка установлена на каждом из подмножествсоздан на шаге 1.
- Прогнозы объединяются для получения окончательной прогнозируемой метки
Ниже приведен очень простой пример, использующий BaggingRegressor
из sklearn
:
from sklearn.ensemble import BaggingRegressor
ensemble_model = BaggingRegressor(tree.DecisionTreeRegressor(random_state=1))
ensemble_model.fit(X_train, Y_train)
ensemble_model.score(X_test,Y_test)