制作微信网页的网站吗,淘宝客购物网站的怎么做,哪个网站做货车专业,上海做网站找哪家好文章目录一、聚类综述二、主要用到的聚类算法三、K-means聚类算法四、K-means算法五、对于K-means算法和K-means算法的讨论六、系统#xff08;层次#xff09;聚类算法七、DBSCAN算法八、总结一、聚类综述
聚类的主要目的就是将样本划分为由类似的对象组成的多个类的过程。…
文章目录一、聚类综述二、主要用到的聚类算法三、K-means聚类算法四、K-means算法五、对于K-means算法和K-means算法的讨论六、系统层次聚类算法七、DBSCAN算法八、总结一、聚类综述
聚类的主要目的就是将样本划分为由类似的对象组成的多个类的过程。进行聚类后我们可以在每个类中使用统计模型进行数据分析或者在不同类之间进行相关性探究。
聚类模型和分类模型的区别
聚类模型是未知类别的目的是要确定类别来对样本数据进行分类分类模型的类别是已知的只需将严格样本数据分类到对应的类别中即可。
二、主要用到的聚类算法
K-means聚类算法K-means聚类算法系统层次聚类算法DBSCAN算法
三、K-means聚类算法
算法步骤
指定需要划分的 KKK 个簇即要划分成的类的个数随机选取 KKK 个数据对象作为初始的聚类中心**注意这里选取的聚类中心不一定是样本点**计算其余的各个数据对象到这 KKK 个初始聚类中心的距离把数据对象划归到距离它最近的那个中心所在的簇中。调整新类并且重新计算出新类的中心**确定新类的中心的方法类似于求重心**重复三、四步直到中心不再需要调整。若不再需要调整或者达到最大迭代次数则停止。
如下面的流程图 K-means算法的优点 1算法简单便捷 2对于大数据集该算法效率较高 K-mean算法的缺点 1必须实现给出需要分得的类的数目 KKK 2对初始值非常敏感初始分类中心不同其分得的类也不同 3对于孤立点的数据比较敏感
因此衍生出了K-means算法来解决K-means算法带来的问题。
四、K-means算法
算法步骤对聚类中心的选择进行了优化 1随机选取一个样本作为第一个聚类中心 2计算每个样本与最近的一个聚类中心的距离这个值越大表示被选取作为聚类中心的概率越大最后用轮盘法选取下一个聚类中心。 3重复第二步直到选出 KKK 个聚类中心。 这些过程可以直接在SPSS中实现并且SPSS使用的是K-means算法。
五、对于K-means算法和K-means算法的讨论
1确定 KKK 的值 聚类的目的就是将样本数据分为 KKK 个可以解释其意义的类。因此最好的方法就是去几个不同的 KKK 值选取其中最好解释的那个 KKK 值即可。 2量纲对于聚类的影响 为了排除量纲对于聚类的影响可以首先进行去量纲处理标准化。标准化公式zixi−xˉσxz_i \frac{x_i - \bar{x}}{\sigma_x}ziσxxi−xˉ 其中xˉ\bar{x}xˉ 是样本的均值σx\sigma_xσx 是样本的标准差。
六、系统层次聚类算法
算法核心 计算两类数据点之间的距离对最为接近的两类数据进行合并反复进行直到合成一类最终生成聚类系谱图。算法步骤 将每个对象单独看作一类计算两两之间的最小距离将距离最小的两个类合并成一类新类重新计算这个新类与所有类之间的距离重复第二步和第三步直到所有类合并成一类
算法流程图如下 3. 解决问题 可以在SPSS中调用命令可得结果为 由图可得具体的聚类个数可以从图中决定。
七、DBSCAN算法
算法简要叙述 指定半径 EpsEpsEps 和 最小包围的点的数目 MinPtsMinPtsMinPts 指定初始点 AAA以 AAA 为圆心EpsEpsEps 为半径作圆在该圆内有不少于 MinPtsMinPtsMinPts 个点则具有这样的特征的点是一个类注意若有点在 AAA 圆内但是以这个点作的圆不包围 MinPtsMinPtsMinPts 个点它是不属于 AAA 类的哦~~~ 可以参考这个图 DBSCAN算法实现 DBSCAN算法可以由Matlab实现可以去官网下载https://ww2.mathworks.cn/matlabcentral/fileexchange/52905‐dbscan‐clustering‐algorithm
八、总结
确定指标数量做出散点图判断可以使用哪种算法 建议 1如果只有两个指标而且这两个指标作出的散点图很有形状那么可以使用DBSCAN进行聚类 2其他情况建议系统聚类K-means算法可写的东西太少根据算法进行聚类对得出的结果进行解释一定要选取适当的便于解释的 KKK 值哦~~~
如果有什么错误请一定告诉我哈~~~