1,T-shirt size problem
一家公司,即将向市场投放新款的t-shift,很明显,他们要声场不同大小的t-shift来时满足市场上不同人的需求,于是公司做了用户身高体重的数据表,用如下数据表呈现,
公司没法生产所有型号,但是可以把用户分为小,中,大,生产这三种型号来满足用户的所有用户的型号。
把用户分为3组,可以用k-mean 聚类完成,该算法会提供3个最合适的型号,满足所有人。
2,How does it work
该算法是一个迭代过程,一步一步来解释。
考虑下面的数据集,我们要把它们分成两类。
step1:随机选择两个重心C1和C2
step2:分别计算到两个重心的距离,如果测试数据靠近C1则贴上标签0,靠近C2则贴上1,(有更多的重心依次,2,3,4……)
在这里,标签0是红色,1为蓝色,得到下面这张图。
分别计算所有蓝点和红点的平均值,得到新的重心,于是C1和C2有了新的计算数值。从第2步计算贴标签。
从step2 到step3,迭代直到聚合到了固定点(或者符合我们提供的标准,比如最大迭代次数,到达了特定的精度等等)。所有的测试数据到相应的重心距离是最小值,或者说C1到红点的距离与C2到蓝点的距离想加最小。
最终结果是这样子的: