Java教程

聚类算法与代码实践

本文主要是介绍聚类算法与代码实践,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

DezemingFamily系列书和小册子因为是电子书,所以可以很方便地进行修改和重新发布。如果您获得了DezemingFamily的系列书,可以从我们的网站[https://dezeming.top/]找到最新版。对书的内容建议和出现的错误欢迎在网站留言。
在这里插入图片描述
聚类算法已经广泛应用于多种学科,尤其是信号分析、模式识别等领域。在很多情况下,我们并不知道样本的类别,但是可以通过一些聚类方法,将样本进行划分,然后对划分好的每个类别单独进行分析。

聚类的方法有很多种,例如通过阈值进行一刀切的方法、根据离种子点的距离分类的方法等,我们可以大致区分为“很容易想到的方法”以及“不太容易想到的方法”。这些方法并不会有明显的好坏之分,对应不同的场景我们可以选择不同的方法。

为了更容易理解,聚类中的“簇(cluster)”我们一般会描述为“类”,即分类为几个“簇”。本书会介绍常用的聚类算法,并分析算法的优劣,以及给出Python代码示例。

第一版我会给出K-Means++、DBSCAN以及GMM-EM聚类算法的详细代码构建过程
K-Means++作为最经典和基础的聚类算法,一般是一定要掌握的;DBSCAN算法因为可以对一些比较复杂的数据分布进行聚类(例如同心圆、弧线),因此也会详细介绍代码实现过程;基于期望最大化的高斯混合模型因为具有一定的理论意义,尤其是涉及概率模型,所以也进行详细的代码构建讲解。

其余算法因为功能和流程的相似性,读者对照已有代码自行构建也会比较容易;CFSFDP算法虽然比较麻烦,但伪代码描述非常详细,因此构建也不会非常困难。等日后有需要,或者根据读者反映的情况来对其他算法的代码实践部分进行补充。

本书的数据和源码会发布在DezemingFamily的网站上,需要将.pdf文件改为.zip方可解压并使用。尽管提供了源码,这里还是希望读者能够自己动手敲一遍代码,多加几个调试语句,来分析输出结果以及各个环节的数据类型和格式,这样才能更好地理解各种聚类算法。
在这里插入图片描述
在这里插入图片描述
本书内容见:聚类算法与代码实战

这篇关于聚类算法与代码实践的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!