使用需求分类的机器学习方法
Machine Learning Method to Classify using Demand
我有以下场景:
我的输入是一组points。每个点(Long_Lat 坐标)对应一个区域的一个分区的质心,并且有一个 需求 的学校。像 50 children 需要附近的学校。
在使用聚类方法(like k-means or DBscan)将这些点按邻近度聚合后,我想将需求点分配给学校,以这样的方式聚类需求(所有点需求的总和群)满意。
换句话说,我想在该集群上创建学校并将 children( 点)分配给这些学校。
学校有固定容量限制。
即:我需要 3 所学校(容量为 40),以满足群集 C4 的 100 children 需求(P1、P2、P3)。
主要objective当然是要知道这些学校的位置。但我可以使用逻辑检索它。
我应该用什么方法来填满一个集群的容量?
这是正确的做法吗?
对于分布良好的数据,我希望最有效的方法是从 k-means 集群开始。如果每个生成的集群都符合学校的能力,那么您就有了解决方案。
但是,您的 "worry" 案例是至少一所学校超负荷。例如,您在宽阔的河流北侧有 20 个 children,在南侧有 90 个,而学校的容量为 40:您需要从南侧分配至少 10 个 children向北。
处理这个问题的算法方法是实现一个不同的错误函数:添加一个严重惩罚的子句(即 +infinity 成本)将第 41 个学生添加到该集群。
另一种方式是让集群正常聚合,然后再调整。假设SE学校有46个学生,SW有44个:把离北学校最近的6和4学生送到那个学校。
这些指导是否适合您?您是否遇到过有多所学校容量过大和容量不足的情况?我不想 over-engineer 解决方案。
我有以下场景:
我的输入是一组points。每个点(Long_Lat 坐标)对应一个区域的一个分区的质心,并且有一个 需求 的学校。像 50 children 需要附近的学校。
在使用聚类方法(like k-means or DBscan)将这些点按邻近度聚合后,我想将需求点分配给学校,以这样的方式聚类需求(所有点需求的总和群)满意。
换句话说,我想在该集群上创建学校并将 children( 点)分配给这些学校。
学校有固定容量限制。
即:我需要 3 所学校(容量为 40),以满足群集 C4 的 100 children 需求(P1、P2、P3)。
主要objective当然是要知道这些学校的位置。但我可以使用逻辑检索它。
我应该用什么方法来填满一个集群的容量? 这是正确的做法吗?
对于分布良好的数据,我希望最有效的方法是从 k-means 集群开始。如果每个生成的集群都符合学校的能力,那么您就有了解决方案。
但是,您的 "worry" 案例是至少一所学校超负荷。例如,您在宽阔的河流北侧有 20 个 children,在南侧有 90 个,而学校的容量为 40:您需要从南侧分配至少 10 个 children向北。
处理这个问题的算法方法是实现一个不同的错误函数:添加一个严重惩罚的子句(即 +infinity 成本)将第 41 个学生添加到该集群。
另一种方式是让集群正常聚合,然后再调整。假设SE学校有46个学生,SW有44个:把离北学校最近的6和4学生送到那个学校。
这些指导是否适合您?您是否遇到过有多所学校容量过大和容量不足的情况?我不想 over-engineer 解决方案。