2017-08-11 30 views

回答

1

不幸的是Spark-ML没有提供分离“单一模型 - 单个用户”概念的能力。但是,您可以根据需要制作自定义逻辑。我看到解决这个任务的两种可能的变体。 解决这种情况的第一个场景是继到下一个算法(我把一切 - 例如,你将有不同的步骤,但算法在逻辑上类似):

  • 您必须获得训练数据为特定的用户 - (例如读取HDFS数据csv文件,S3等)依赖于用户相关数据Dataset
  • 火车模型 - 让我们考虑未来情况的数据集有两列 - 具体标准X和用户的工作效率Y和最新参数对于用户组是可变的 - 您必须使用LinearRegression来训练您的模型,以便预测用户是否可以在该时间内完成工作或者c蚂蚁。
  • 接下来,您节省电话训练模型数据到磁盘取决于 用户的ID,组或等

第二种方法是训练你的模型,所以它适用于所有用户,则必须为算法选择选项,因此它不依赖于用户组,也就是说,将训练模型的算法推广到所有用户组 - 在这种情况下,您没有分离感
“single-model-- >单个用户“。如果第二个变体对数据集上的实现更复杂,请遵循第一种方法。

+0

选项1:为所有用户并行模型培训的最佳方式是什么?选项2:您可以扩展“训练您的模型,以便适用于每个用户”? – Gevorg

+0

@Gevorg Option1 - 如果您的意思只是培训过程的并行化,您可以使用ForkJoinPool或Akka编写自定义逻辑,如果您的意思是单个模型的并行培训过程,我会建议您参阅Keras和Spark Ml的集成 - https ://github.com/maxpumperla/elephas#spark-ml-example选项2 - 建议您可以为所有用户制作一般模型 - 这是唯一的假设,因为我不知道数据集的外观 –

相关问题