kmeans聚类算法_「数据挖掘」聚类分析的3大常用算法

本文介绍了聚类分析的基本概念和分类,重点讲解了K-Means、层次聚类和DBSCAN三种常用聚类算法的原理、步骤及优缺点,并提供了Python实现示例。内容涵盖了无监督学习中的聚类方法,帮助理解如何通过不同的聚类算法对数据进行分类和分析。
摘要由CSDN通过智能技术生成
1ca52c3c501c4f6b4519af4565e87d3a.gif

文末领取【19份咨询类公司项目案例分析】

01

概念

聚类分析是按照个体的特征将他们分类,让同一个类别内的个体之间具有较高的相似度,不同类别之间具有较大的差异性。

聚类分析属于无监督学习。聚类对象可以分为Q型聚类和R型聚类。

  • Q型聚类:样本/记录聚类。以距离为相似性指标(欧氏距离、欧氏平方距离、马氏距离、明式距离等)

  • R型聚类:指标/变量聚类。以相似系数为相似性指标(皮尔逊相关系数、夹角余弦、指数相关系数等)

02

常用的聚类算法

1. K-Means划分法

K表示聚类算法中类的个数,Means表示均值算法,K-Means即是用均值算法把数据分成K个类的算法。

  • K-Means算法的目标

把n个样本点划分到k个类中,使得每个点都属于离它最近的质心(一个类内部所有样本点的均值)对应的类,以之作为聚类的标准。

  • K-Means算法的计算步骤

  1. 取得k个初始质心:从数据中随机抽取k个点作为初始聚类的中心,来代表各个类

  2. 把每个点划分进相应的类:根据欧式距离最小原则,把每个点划分进距离最近的类中

  3. 重新计算质心:根据均值等方法,重新计算每个类的质心

  4. 迭代计算质心:重复第二步和第三步,迭代计算

  5. 聚类完成:聚类中心不再发生移动

  • 基于sklearn包的实现

导入一份如下数据,经过各变量间的散点图和相关系数,发现工作日上班电话时长与总电话时长存在强正相关关系

5764a03283ca7f686db52523f64375b2.png

选择可建模的变量并降维

cloumns_fix1 = ['工作日上班时电话时长', '工作日下半时电话时长','周末电话时长', '国际电话时长', '平均每次通话时长']#数据降维pca_2 = PCA(n_components=2) data_pca_2 = pd.DataFrame(pca_2.fit_transform(data[cloumns_fix1]))

通过sklearn包中的K-Means方法构建模型

#绘制散点图查看数据点大致情况plt.scatter(data_pca_2[0],data_pca_2[1])
2afdff818edeaaf4b9c97d4cd2e6eac6.png
#预计将数据点分类为3类kmmodel = KMeans(n_clusters=3) #创建模型kmmodel = kmmodel.fit(data[cloumns_fix1]) #训练模型
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值