1 K-means的计算流程
我们通常使用CRM(客户管理系统)来维护用户,并在系统里存储了每个用户的属性(年龄、地域等)。
当我们使用CRM系统做营销的时候,营销人员通常会根据用户的特性给用户做分层,然后做针对性的营销。比如对于年龄大于多少的用户采取邮件营销、对于北上广深的用户采用电话营销等。
这种分层的核心其实就是聚类分析,把所有的客户分成几大类,然后分别做处理。 当然,在上面的例子中,我们使用的是一种很简单的规则。但实际上,对于复杂度问题,规则本身其实是比较难想出来的。所以,这时候聚类算法就可以派上用场。
k-means算法的核心流程:
初始化:
随机选择K个点,作为初始中心点,每一点代表一个group
交替更新:
计算每个点到所有中心点的距离,把最近的距离记录下来,并把对应的group赋给当前的点;
针对于每一个group里的点,计算其平均并作为这个group新的中心点。