数据技术应用概论
第一章 绪论
数据素质培养意义
数据技术
数据科学应用体系框架
第二章 计算机信息系统
计算机信息系统的构成
计算机信息系统技术路线
第三章 抽样技术
抽样技术概述
网络调查和社会调查
抽样学习
抽样技术的基本概念
第四章 网络爬虫与文本数据生成
网络爬虫概述
网络爬虫技术操作
文本数据生成
第五章 数据库技术
数据库技术概述
数据库系统开发
关系数据库
数据仓库
第六章 SQL语言
SQL概述
SQL关系定义
SQL查询基本结构
数据库修改
视图
第七章 数据预处理技术
数据预处理概述
数据清理
数据集成
数据规约
数据变换
第八章 回归模型
回归模型的基础知识
最小二乘法
其他常用回归模型
第九章 Logistic建模技术
基础知识
梯度上升算法
第十章 关联规则挖掘
关联规则挖掘的基础知识
关联规则挖掘的 Apriori 算法
其它常用关联规则挖掘算法
第十一章 决策树分类规则
决策树分类规则的基础知识
决策树分类规则挖掘的ID3算法
几种常用的决策树
第十二章 K-平均聚类
基础知识
基于划分的K‐平均聚类算法
其他常用的聚类
第十三章 神经网络模型
神经网络模型的基础知识
误差逆传播算法
其他常用的神经网络算法
第十四章 支持向量机
支持向量机的基础知识
支持向量机的SMO算法
其他常用的支持向量机算法
第十五章 集成学习算法
集成学习算法的基础知识
随机森林算法
其他常用的集成学习算法
第十六章 数据可视化
数据可视化的基础知识
可视化设计基础
数据可视化工具
-
+
首页
其他常用的聚类
## 12.3.1 K-平均算法的改进 - **K-平均算法的改进**:K-平均算法虽然简单高效,但在实际应用中存在一些不足,因此有多种改进版本和变种算法被提出,以解决其局限性。 - K-means++:改进了初始质心的选择方法,以增加初始质心的分布间隔,从而减少局部最优解的问题。 > w `K-means++`的初始化步骤: 1. 随机选择一个初始质心。 2. 计算所有数据点到最近质心的距离平方,并以距离平方作为权重随机选择下一个质心。 3. 重复上述步骤,直到选择出$$K$$个质心。 - **Mini-Batch K-means**:使用小批量数据(Mini-Batch)进行更新,提高算法的效率和适用性,特别适用于大规模数据集。 ### 示例代码 - 使用本平台在线工具进行学习。 - 地址:首页->工作台[【快捷链接】](https://zenodt.com/workbench "【快捷链接】"),点击 _1717661367.png) 按钮,登录即可。 ```python from sklearn.cluster import MiniBatchKMeans # 使用 Mini-Batch K-means 进行聚类 k = 3 mb_kmeans = MiniBatchKMeans(n_clusters=k, random_state=0, batch_size=10) mb_kmeans.fit(X) # 获取簇分配结果和质心 labels = mb_kmeans.labels_ centroids = mb_kmeans.cluster_centers_ # 可视化聚类结果 plt.scatter(X[:, 0], X[:, 1], c=labels, cmap='viridis', marker='o') plt.scatter(centroids[:, 0], centroids[:, 1], c='red', marker='x') plt.title(f'Mini-Batch K-means Clustering with {k} Clusters') plt.xlabel('Feature 1') plt.ylabel('Feature 2') plt.show() ``` - **K-medoids**:替代K-平均中的质心概念,使用实际的点作为代表,从而对噪声和异常值更加鲁棒。常见的实现包括PAM(Partitioning Around Medoids)。 - **Bisecting K-means**:通过反复二分的方式进行聚类,有时能够得到比标准K-平均更好的结果。 ## 12.3.2 几种常用聚类算法 - **几种常用聚类算法**:除了K-平均算法及其改进版本,还有多种其他聚类算法,适用于不同类型的数据和应用场景。 - **层次聚类(Hierarchical Clustering)**:分为自底向上(Agglomerative)和自顶向下(Divisive)两种方法,通过计算数据点之间的距离或相似度逐步合并或拆分簇。 ### 示例代码 - 使用本平台在线工具进行学习。 - 地址:首页->工作台[【快捷链接】](https://zenodt.com/workbench "【快捷链接】"),点击 _1717661367.png) 按钮,登录即可。 ```python from scipy.cluster.hierarchy import dendrogram, linkage from scipy.cluster.hierarchy import fcluster # 使用层次聚类进行聚类 linked = linkage(X, 'ward') dendrogram(linked) plt.title('Hierarchical Clustering Dendrogram') plt.xlabel('Sample index') plt.ylabel('Distance') plt.show() # 根据阈值获取簇分配结果 threshold = 0.5 labels = fcluster(linked, threshold, criterion='distance') # 可视化聚类结果 plt.scatter(X[:, 0], X[:, 1], c=labels, cmap='viridis', marker='o') plt.title('Hierarchical Clustering') plt.xlabel('Feature 1') plt.ylabel('Feature 2') plt.show() ``` - **DBSCAN(Density-Based Spatial Clustering of Applications with Noise)**:基于密度的聚类算法,能够有效识别噪声点,适用于发现任意形状的簇。 ```python from sklearn.cluster import DBSCAN # 使用 DBSCAN 进行聚类 dbscan = DBSCAN(eps=0.1, min_samples=5) labels = dbscan.fit_predict(X) # 可视化聚类结果 plt.scatter(X[:, 0], X[:, 1], c=labels, cmap='viridis', marker='o') plt.title('DBSCAN Clustering') plt.xlabel('Feature 1') plt.ylabel('Feature 2') plt.show() ``` - **GMM(高斯混合模型)**:将数据假设为来自多个高斯分布,使用期望最大化(EM)算法进行参数估计,适用于发现具有不同分布特征的簇。 ```python from sklearn.mixture import GaussianMixture # 使用 GMM 进行聚类 gmm = GaussianMixture(n_components=3, random_state=0) labels = gmm.fit_predict(X) # 可视化聚类结果 plt.scatter(X[:, 0], X[:, 1], c=labels, cmap='viridis', marker='o') plt.title('Gaussian Mixture Model Clustering') plt.xlabel('Feature 1') plt.ylabel('Feature 2') plt.show() ``` 通过了解和应用这些不同的聚类算法,可以根据具体的任务和数据特点选择最适合的算法,从而提高聚类结果的准确性和稳定性。
张龙
2024年8月13日 11:18
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
分享
链接
类型
密码
更新密码