【发布时间】:2017-08-12 20:50:14
【问题描述】:
我想为我的数据集中的每个用户训练不同的模型。 Spark MlLib/Pipelines 中是否有内置支持?
如果没有,为每个用户训练多个单独模型的最简单/最简洁的方法是什么?
【问题讨论】:
标签: scala apache-spark apache-spark-mllib
我想为我的数据集中的每个用户训练不同的模型。 Spark MlLib/Pipelines 中是否有内置支持?
如果没有,为每个用户训练多个单独模型的最简单/最简洁的方法是什么?
【问题讨论】:
标签: scala apache-spark apache-spark-mllib
不幸的是Spark-ML 不提供分离概念“单一模型 - 单一用户”的能力。但是您可以根据需要制作自定义逻辑。我看到解决此任务的两种可能变体。
解决这种情况的第一个方案是遵循下一个算法(我以一切为例 - 你会有不同的步骤,但算法在逻辑上会相似):
Dataset 的训练模型取决于用户相关数据 - 让我们考虑下一种情况,您的数据集有两列 - 具体标准 X 和用户生产力 Y 和最新参数对于用户组是可变的 -例如,您必须使用 LinearRegression 训练您的模型,以便预测用户是否可以按时完成工作。第二种方法是训练您的模型,使其适用于每个用户,您必须选择算法选项,使其不依赖于用户组,换句话说,将训练模型的算法推广到所有用户组 -在这种情况下,你没有分离感
“单模型--> 单用户”。如果第二种变体对您的数据集的实现更复杂,请遵循第一种方法。
【讨论】: