Мне действительно не помешала бы помощь!
Компания, в которой я работаю, состоит из 52 очень разных предприятий, поэтому я не могу прогнозировать на уровне компании, вместо этого мне нужно прогнозировать бизнес за бизнесом, а затем сводить результат, чтобы дать прогноз в масштабе всей компании.
Я написал модель машинного обучения в studio.azureml.net. Он отлично работает с коэффициентом детерминации 0,947, но это для одного из предприятий. Теперь мне нужно обучить модель для остальных 51.
Есть ли способ сделать это в одной модели ML вместо создания 52 очень похожих моделей?
Любая помощь приветствуется !!!
С уважением Мартин
Вы можете использовать ансамбли, комбинируя несколько моделей для улучшения прогнозов. Наиболее прямым является суммирование, когда выходные данные всех моделей обучаются на всем наборе данных. Метод, который, я думаю, лучше всего соответствует вашей проблеме, - это бэггинг (агрегация начальной загрузки). Вам нужно разделить обучающий набор на разные подмножества (каждое из которых соответствует определенному бизнесу), затем обучить разные модели на каждом подмножестве и объединить результаты каждого классификатора. Другой способ — повышение, но его сложно реализовать в Azure ML. Вы можете увидеть пример в Коллекция машинного обучения Azure.
Цитата из книги:
Stacking and bagging can be easily implemented in Azure Machine Learning, but other ensemble methods are more difficult. Also, it turns out to be very tedious to implement in Azure Machine Learning an ensemble of, say, more than five models. The experiment is filled with modules and is quite difficult to maintain. Sometimes it is worthwhile to use any ensemble method available in R or Python. Adding more models to an ensemble written in a script can be as trivial as changing a number in the code, instead of copying and pasting modules into the experiment.
Вы также можете ознакомиться с документацией по sklearn (Питон) и знаку вставки (R) для получения дополнительной информации.