<数据聚类(data clustering): 用以寻找紧密相关的事、人或观点,并将其可视化的方法。>
- 监督学习(supervised learning): 利用样本输入和期望输出来学习如何预测的技术。包括:神经网络,决策树,向量支持机,贝叶斯过滤等。利用带有正确答案的样本数据进行训练。
- 无监督学习(unsupervised learning): 在一组数据中找寻某种结构,而这些数据本身不是所要找的答案。如聚类。
聚类算法的数据,通常应以一组公共的数值型属性,利用属性对数据项进行比较。
分级聚类 Hierarchical Clustering
分级聚类通过连续不断地将最为相似的群组两两合并,构造出一个群组的层级结构。其中每个群组都是从单一元素开始的。每次迭代中,算法都会计算每两个群组间的距离,并将距离最近(相似度)的两个群组合并成一个新的群组(数据为两个旧群组的数据求均值),重复迭代直至只剩一个群组。
该过程可视化表示为树状图。
列聚类 Column Clustering
将数据集转置后,再执行聚类操作。
当数据项的数量比变量多时,更大概率出现无意义聚类,可转置后聚类。
K-均值聚类 K-Means Clustering
分级聚类的算法计算量很大很大(每两个匹配项的距离都需计算),且返回的树形视图不会真正将数据拆分成不同组。故采用K-均值聚类:预先告诉算法希望生成的聚类数量,算法根据数据的结构状况确定聚类的大小。
算法过程:先确定k个中心位置(位于空间中代表聚类中心的点),然后将各个数据项分配给最临近的中心店,待分配完成后,聚类中心移到分配给该聚类的所有节点的平均位置处,然后重新开始整个分配过程。重复此过程,直至分配过程不再产生变化。
针对偏好的聚类
数据集取值有多种时,采用皮尔逊相关度较优;但当数据集只有两种取值时,对用户在物品方面互有重叠的情况进行度量,更具有意义。
Tanimoto系数: 代表交集(只包含那些在两个集合中都出现的项)与并集(包含所有出现于任一集合中的项)的比率。