首选推荐系统

时间:2017-11-09 12:57:16

标签: hadoop mahout recommendation-engine optaplanner predictionio

我正在实施一个员工计划解决方案,员工可以在这里找到他们喜欢的工作时间,这个系统也可以推荐员工工作的最佳时间。

为了向员工提供工作时间的建议,我希望有一个推荐系统,可以根据以下内容向员工推荐一些工作班次:

  1. 组织的员工要求。它是基于工作人员要求的间隔(1小时),并且具有该间隔所需的最小/最大工作人员。 (例如:在1300-1400小时,我需要最少4名和最多6名工作人员)。
  2. 必须遵循建议班次的规则。 (例如:任何班次提供不应超过max_allowed_work_hours_in_week。如果员工已经完成了35个小时到星期四并且max_allowed_work_hours_in_week是40,那么我只建议轮班最多5个小时)
  3. 建议还需要尊重我的历史转变。 (例如:我喜欢星期五晚上工作,而我的历史也是如此。所以,星期五的一个好建议是(猜测:))前夕。
  4. 我没有做太多的功课,因为一切都会导致Hadoop生态系统和hadoop我对这一点有很多想法,因为幼儿(非神童)知道量子物理学。无论如何,这就是我想出的:

    1. 我可以使用apache spark或mahout OR standalone apache predictionIO。(我在Java世界中)
    2. 我知道像Optaplanner这样的约束求解器,我可以推动解决这个问题,但它不适合这项工作,我相信但可能是错的。
    3. 我的问题是,您建议我使用哪种系统来获得此类建议,而spark / predictionIO是这项工作的最佳工具吗?

1 个答案:

答案 0 :(得分:0)

  

我正在实施员工可以拥有的员工计划解决方案   他们首选的工作时间和这个系统也可以推荐最好的   工作人员应该工作的时间。

您的使用案例与optaplanner的员工排班示例非常相似。每个员工都有自己的优先工作时间,并写下了emloyee和医院之间的合同。

  

组织的员工要求。它是基于工作人员要求的间隔(1小时),并且具有该间隔所需的最小/最大工作人员。 (例如:在1300-1400小时,我需要最少4名和最多6名工作人员)。

该示例也有相同的要求,每个班次都需要最少的人员。

  

建议班次必须遵循的规则。 (例如:任何班次提供   不应超过max_allowed_work_hours_in_week。如果员工有   完成35个小时到星期四,max_allowed_work_hours_in_week是   40所以我只建议换班5小时)

这些规则都在员工合同中提供,例如员工每周必须工作至少35小时,或者必须每周工作3天。

  

建议还需要尊重我的历史性转变。 (例如:我喜欢   星期五晚上工作,我的历史也是如此。所以,好   星期五的推荐将是(猜测:))前夕的转变。

只要员工拥有历史数据,就可以将其添加为新的软约束。

  

我没有做太多的功课,因为一切都会导致Hadoop生态系统   关于hadoop我对此有如此多的想法   幼儿(非神童)知道量子物理学。无论如何,这就是我   拿出来:   我可以使用apache spark或mahout或独立的apache   predictionIO。(我在Java世界)我知道约束求解器   Optaplanner,我可以推动解决这个问题,但它不是   这项工作的正确工具,我相信但可能是错误的。

我认为您可以将Hadoop结合起来存储您的大数据并进行处理。然后,您可以将处理后的数据提供给o​​ptaplanner以获得优化结果。如果您想构建实时规划,可以使用apache spark快速处理新数据并将其提供给optaplanner以获得最新的优化结果。 所以我真的建议你去optaplanner尝试护士排班的例子。希望这有帮助,亲切的问候。