小编给大家分享一下大数据开发中常见的聚类算法有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
· 常见的聚类算法 ·
K-Means
(K均值)聚类
算法步骤
(1) 首先我们选择一些类/组,并随机初始化它们各自的中心点。中心点是与每个数据点向量长度相同的位置。这需要我们提前预知类的数量(即中心点的数量)。
(2) 计算每个数据点到中心点的距离,数据点距离哪个中心点最近就划分到哪一类中。
(3) 计算每一类中中心点作为新的中心点。
(4) 重复以上步骤,直到每一类中心在每次迭代后变化不大为止。也可以多次随机初始化中心点,然后选择运行结果最好的一个。
下图演示了K-Means进行分类的过程:
优点:
速度快,计算简便
缺点:
我们必须提前知道数据有多少类/组。
K-Medians是K-Means的一种变体,是用数据集的中位数而不是均值来计算数据的中心点。
K-Medians的优势是使用中位数来计算中心点不受异常值的影响;缺点是计算中位数时需要对数据集中的数据进行排序,速度相对于K-Means较慢。
2. 均值漂移聚类
3. 基于密度的聚类方法(DBSCAN)
4. 用高斯混合模型(GMM)的最大期望(EM)聚类
5. 凝聚层次聚类
6. 图团体检测(Graph Community Detection)
其他的算法可以查看:
https://blog.csdn.net/Katherine_hsr/article/details/79382249
K-mean聚类
代码实现
导入数据
计算每个数据点到中心点的距离
对数据点分组
迭代收敛和更新质心
结果图展示:
相似的代码和演示的数据都上传到了网盘,大家可以去下载、尝试和应用到自己的项目中。
以上是“大数据开发中常见的聚类算法有哪些”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网行业资讯频道!