Azure ML - 在数据集的片段上训练模型

Azure ML - Train a model on segments of the data-set

我真的需要一些帮助!

我工作的公司由 52 家截然不同的企业组成,因此我无法在公司层面进行预测,而是需要逐个企业进行预测,然后汇总结果以提供全公司范围的预测。

我已经在 studio.azureml.net 中编写了一个 ML 模型 它适用于 0.947 的确定系数,但这适用于其中一家企业。 我现在需要为其他 51 个训练模型。

有没有办法在单个 ML 模型中执行此操作而不必创建 52 个非常相似的模型?

任何帮助将不胜感激!!!

亲切的问候 马丁

您可以使用集成,结合多个模型来改进预测。当所有模型的输出都在整个数据集上训练时,最直接的是堆叠。 我认为最适合您的问题的方法是装袋(bootstrap 聚合)。你需要把训练集分成不同的子集(每个子集对应某个业务),然后在每个子集上训练不同的模型,并结合每个分类器的结果。 另一种方法是提升,但很难在 Azure ML 中实现。 您可以在 Azure ML Gallery 中查看示例。

引自书本:

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 (Python) 和插入符 (R) 文档以了解更多详细信息。