机器学习从入门到创业手记-K-Means与啤酒尿布的销售密码

离开了杨导师所有的事情都要自己做了,路思和我负责算法含义研究,高维负责根据原理推导应用场景。

 

       高维说我把K-Means算法定义写了出来每个人都谈谈想法

 

K-Means算法定义:把n n {\displaystyle n} 个点划分到k个聚类中,使得每个点都属于离他最近的均值(此即聚类中心)对应的聚类,以之作为聚类的标准。

      

       K-Mean计算过程:

 

  1. 随机的选取K个中心点,代表K个类别;
  2. 计算N个样本点和K个中心点之间的欧氏距离;
  3. 将每个样本点划分到最近的(欧氏距离最小的)中心点类别中——迭代1;
  4. 计算每个类别中样本点的均值,得到K个均值,将K个均值作为新的中心点——迭代2;
  5. 重复234;
  6. 得到收敛后的K个中心点(中心点不再变化)——迭代4。

 

       路思:我的理解是给我很多数据,这些数据都是没有任何分类的,但我也不知道应该分成几类,所以我就随机定义了K个分类,每个K也都具有与数据类型一样的坐标点,称为中心点,然后强制数据被划分到这K个类中,分类的规则是每个数据与这K个中心点的距离远近,数据都被分配到距离K中心点最近的那个聚类中。

 

       安逸:我的理解是我手里有一把豆子,然后散在桌子上,然后我要把这些豆子分成五类,我就在桌子上随机选择五个点,作为中心点,然后计算每个豆子距离各个分类点的距离,距离哪个中心点近就归为哪个豆子的分类。

 

       高维:用豆子举例我明白了,但平面距离我能理解,若是空间的距离,或者多维数据怎么处理?

 

       路思:我指的距离不是直线距离,而是欧式距离,初中学过的直角坐标系就是二维欧式空间,二维欧式距离计算公式是这样的 https://gss2.bdstatic.com/9fo3dSag_xI4khGkpoWK1HF6hhy/baike/s%3D191/sign=7bb3375e3c4e251fe6f7e0f19687c9c2/e7cd7b899e510fb335a3e2f3d533c895d1430c1f.jpg ,多维的就是每个点的距离差的平方求和后开平方就是。

      

       高维:那么这分类K值是怎么确定的呢?随机么?如果这个K的中心点太集中了,会不会造成分类不准。

 

       路思:你看K-Means的计算过程就能得知,这个K值中心点是不断变化的,初始阶段是随机的,但每当有新数据加入时,都要加入新数据重新计算这个K的中心点,这样保证了K的坐标一直是该类数据的中心点。

 

       这样我们将K-Means结合概念与计算过程写下了对其的定义:K是用户指定要创建类的数目,K-Means以K个随机中心点开始,算法会计算每个点到中心点的欧式距离,然后每个点被分配到距离中心点最近的分类中。然后基于新分配的点更新该类的中心点,以上过程重复知道所有分类的中心点不再变化为止。

 

       至于K-Means的应用场景则有学电子商务的高维来完成:美国沃尔玛超市的在做数据分析时候发现,每到周末同时购买啤酒和尿不湿的人较平时增加很多。他们感到很奇怪,本着数据分析中溯源的原则,他们对数据进行了进一步挖掘得到以下共同特

 

·  一般是周末出现这种情况

·  购买者以已婚男士为主

·  他们家中有孩子且不到两岁,有尿不湿的刚需

·  他们喜欢看体育比赛节目,并且喜欢边喝啤酒边看。顾客有喝啤酒的需求

·  周末是体育比赛扎堆的日子,所以出现这种关联销售多在周末的时候。

 

       于是沃尔玛为了方便客户购买,将啤酒与尿不湿的货架放到了一起,两者的销售量都大幅提升。这里我们可以采用K-Means方法去获得用户的潜在消费行为,做法是将所有用户的需求特征,已有消费行为,年龄,家庭状况等等进行自由聚类,这样所有近似状况的消费者会被归到同一类,这个类完全是根据数据决定的,而不是人为分配的,同一类的消费者被认为有相近的消费行为。

 

      

猜你喜欢

转载自blog.csdn.net/yoki2009/article/details/88530761
今日推荐