第五部分 描述性数据挖掘
5.1 聚类分析
聚类方法
层次聚类-小样本
划分聚类(K均值法)-大样本
两步法聚类-大样本,以brich方法为代表,层次法和k-means结合
密度聚类-大样本,样本形态为团圆,分布不规则。要样本点的密度大于某阈值,则将该样本添加到最近的簇中
DBSCAN算法:能处理任意形状和大小的簇
层次聚类,需要对变量进行标准化,不同量纲区别需要处理
单一链结法:将新划分的组中单一事件与其他事件之间距离的最小值定义为新组与其他事件之间的距离
完全链结法:新组的距离选取合并前两事件与其他事件距离的最大值
平均链结法:选择新组中各事件与剩余事件距离的均值作为新组与其他事件的距离
中心法:对事件进行第一步划分后,将新分组事件的变量值求平均值,作为一个新的变量,再从新计算距离矩阵
Ward’s法引入联合组合SS值
快速聚类运用场景:发现异常情况、将个案数据做划分
层次聚类
from sklearn.cluster import AgglomerativeClustering
ward = AgglomerativeClustering(n_clusters=3, linkage='ward', compute_full_tree=True)
ward.fit(pca_scale_cities)
划分聚类算法包括
K-Means将中心点取为当前群组中所有数据点的平均值。
K-Medoids算法从当前群组中选取这样一个点—它到群组内其他所有点的距离之和最小—作为中心点。对异常数据不敏感,计算量大,适合小数据量。
聚类效果评估
轮廓系数Silhouette,接近1,说明聚类合理。接近-1更应该分类到另外的簇
ARI Adjuseted Rand Index 有标准答案使用
from sklearn.metrics import silhouette_score, adjusted_rand_score
print('Sihouette:', silhouette_score(iris_pca_score, iris_kmeans.labels_ ,
metric='euclidean'))
print('ARI:', adjusted_rand_score(iris.target, iris_kmeans.labels_ ))
选择K值——使用样本到类中心的距离和(离差平方和)以及轮廓系数
EM算法
5.2 关联规则
评估指针
支持度:项目X,Y同时在总数据集中出现的概率support
置信度:先导项已经发生的情况下后继项也发生的概率,即包含X的交易记录中同时也包含Y的交易记录所占比例confidence
提升度Lift(规则的有意义度):支持度/(P(x)*p(y)),提升度小于1表示X与Y存在负向依赖或替代效应,大于1表示两者正向依赖或互补效应
序列模式分析步骤:数据排序、查找数据集、数据转换阶段、序列分析、得出结论
协调过滤
推荐模型
评分矩阵
相似度计算:欧式距离、皮尔森相似度、杰卡德(Jaccard)相似度、余弦相似度
SVD矩阵
Exclusive Non-Exclusive(Overlapping) EM算法
关联规则
欧式距离,街区距离
网友评论