聚类分析1注意我们考核非常松•尽可能全部高于80分。2一个简单的聚类例子•这是按照颜色进行一维聚类。•实践中,维度经常多于一个。3基本特点•聚类(clustering)是指根据“物以类聚”原理,将本身尚未归类的样本根据多个维度(多个属性)聚集成不同的组,这样的一组数据对象的集合叫做簇或群组。•怎样聚类算成功呢?经过划分后,使得:–属于同一群组的样本之间彼此足够相似,–属于不同群组的样本应该足够不相似。4分类与聚类的区别•分类(Classification)有训练过程。–分类是事先定义好类别,类别数不变。分类器需要由人工标注的分类训练数据集训练得到,属于有指导学习范畴。•而聚类则是没有训练过程。在进行聚类前,并不知道将要划分成几个组和什么样的组。–聚类则没有事先预定的类别,类别数不确定。聚类不需要人工标注和预先训练分类器,类别在聚类过程中自动生成。5聚类分析的主要应用领域1.作为独立的工具来分析数据2.发现离群点3.为其他算法做数据预处理6聚类分析的最典型应用领域•客户分群,进而制定差异化的营销方案7聚类分析的最典型应用领域•客户分群,进而制定差异化的营销方案例子:如图,按照收入和年龄把客户聚类为两类8聚类的其他应用•按照血型对学生进行分班•确定婚礼客人如何排座位9离群点检测•离群点检测和聚类是高度相关的。•聚类是发现数据集中的主要群体,而离群点检测则试图识别那些显著偏离多数实例的异常情况。•离群点检测可以用聚类方法,但也可以用其它方法,例如:分类方法。•其常见的目的是:信用卡欺诈检测。–这需要把和正常交易明显不同的交易识别出来。例如,盗窃卡的人的购物地点和所购商品都很不同于真正的卡主、也不同于大多数顾客。–比如,其一次购物量比卡主大得多,并且购物地点远离卡主的通常的购物地点。10聚类算法的分类•聚类算法主要包括:–划分方法(PartitioningMethod):包括K均值方法等–层次方法(HierarchicalMethod)–基于密度的方法(Density-based)–基于网格的方法(Grid-based)–基于模型的方法(Model-based)•其中,前两种方法最常用。11K均值算法•K-means算法是无可争议的使用最多的算法。•它是划分方法的一种。•它原理简单,容易实现。•它适合使用数值型属性,而不是类别型属性。•它的一个不足之处是:对于离两个群组的中心都很近的点,你会不知道该放到哪个群组中。这其实也是其他一些聚类算法的局限性。12K均值算法的步骤•K均值算法,概括起来有五个步骤:1.设定一个数K,表明总共有几个群簇(组);2.从所有实例中随机选择K个实例,分别代表一个群簇的初始中心;3.对剩余的每个实例,根据其与各个组的初始中心的距离,将它们分配到离自己最近的一个群簇中;4.然后,更新群簇中心,即:重新计算得出每个群簇的新的中心点;5.这个过程不断重复(即:重复第3、4步),直到每个群簇中心不再变化,即直到所有实例在K组分布中都找到离自己最近的群簇。13K均值算法——什么是中心值14K均值算法的步骤注意看C点,它离上面的群的新的的距离中心比离下面那个群的新的中心更近,所以它被重新划分到上面那个群了。15K均值算法的步骤16K均值算法的应用:图像压缩•群的个数越少,意味着图像被转化成颜色数量很少的图像了。17K均值算法的应用:图像压缩•原理和上面人物照片是一致的。18K均值算法可以用于三个维度•前面图像压缩的例子是基于一个维度。•这里抽象展示了基于三个维度的聚类。19如何在软件中为K均值算法设定参数•在软件中,通常都要设定群的个数。•还可以指定距离的度量方式。例如选择欧几里德距离或曼哈顿距离。大多数聚类分析都使用距离度量来衡量两个实例之间的远近。20如何在软件中为K均值算法设定参数•此外,还可以设定聚类时采用哪些属性•同时,数据标准化是聚类分析中最重要的一个数据预处理步骤。如果之前没做过标准化,可以现在进行。21如何评价聚类分析的结果?•这方面和分类算法有一个显著不同:–分类算法的评判有训练集、验证集的客观参照。–而聚类结果的评判缺乏很明确、客观的、统计学意义上的参照依据。•对于聚类,业务专家从实践角度的评估是最重要的评价层面。如果多数业务专家对于聚类的结果都看不懂,那么这个结果很可能是值得怀疑的。–如果聚类的结果比较容易理解、解释,业务人员会更能实施这个结果。22聚类之前的预处理——特征筛选•在实践中,聚类中的输入变量不能太多,尤其是在样本数量有限的情况下。否则:–运算耗时;–更重要的是变量之间的相关性会损害聚类效果;–变量太多会使人难以理解每个群的实际含义。•因此,通常会采用相关性分析、结合业务知识进行变量筛选等方法来降维。然后根据少量几个维度进行聚类。•被筛掉的变量可以在聚类完成后再用于对每个群的进一步分析,比如描述性统计、分类算法。23聚类之前的预处理——异常值•K-means对数据的噪声和异常值比较敏感。•这些个别数据对于平均值的影响非常大。•为此,我们可以:–直接删除那些比其他任何数据点都要远离聚类中心点的异常值。–与此类似地,在聚类之后,有些群体内样本数量太少、这种群体在实际应用中可以忽略不计。–采用随机抽样。这样,作为稀有事件的数据噪声和异常值能被抽进样本的概率会很小,这样样本就比较干净。24聚类之前的预处理——标准化•正如之前讲到的,如果依据多个变量进行聚类,就需要确保对这些变量都做过标准化。25聚类算法小结•K-means算法•标准化26