Python金融数据分析与挖掘(微课版) 课件 5-6.K-均值聚类_第1页
Python金融数据分析与挖掘(微课版) 课件 5-6.K-均值聚类_第2页
Python金融数据分析与挖掘(微课版) 课件 5-6.K-均值聚类_第3页
Python金融数据分析与挖掘(微课版) 课件 5-6.K-均值聚类_第4页
Python金融数据分析与挖掘(微课版) 课件 5-6.K-均值聚类_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第5章机器学习与实现聚类思想与K-均值聚类K-均值聚类应用举例聚类思想第5章

聚类分析主要是使类内的样本尽可能相似,而类之间的样本尽可能相异。聚类问题的一般提法是,设有n个样本的

维观测数据组成一个数据矩阵为:其中,每一行表示一个样本,每一列表示一个指标,xij表示第i个样本关于第j项指标的观测值,并根据观测值矩阵X对样本进行聚类。聚类分析的基本思想是:在样本之间定义距离,距离表明样本之间的相似度,距离越小,相似度越高,关系越紧密;将关系密切的聚集为一类,关系疏远的聚集为另一类,直到所有样本都聚集完毕。K-均值聚类方法第5章

K-均值聚类是一种基于原型的、根据距离划分组的算法,其时间复杂度比其他聚类算法低,用户需指定划分组的个数K。其中,K-均值聚类常见距离测度包括欧几里得距离(也称欧氏距离)、曼哈顿距离、切比雪夫距离等。K-均值聚类默认采用欧氏距离进行计算,其公式如下:(表示第个i样本与第个j样本之间的欧氏距离)K-均值聚类算法的直观理解如下:Step1:随机初始化K个聚类中心,即K个类中心向量。Step2:对每个样本,计算其与各个类中心向量的距离,并将该样本指派给距离最小的类。Step3:更新每个类的中心向量,更新的方法为取该类所有样本的特征向量均值。Step4:直到各个类的中心向量不再发生变化为止,作为退出条件。K-均值聚类方法第5章

xi1.51.71.62.12.22.42.51.8yi2.51.32.26.25.27.16.81.9将8个数据样本聚为两类,其算法执行如下Step1:初始化两个类的聚类中心,这里取前两个样本分别为聚类中心。C1=(1.5,2.5),C2=(1.7,1.3)到达C1的距离:0

1.22

0.32

3.75

2.79

4.69

4.41

0.67到达C2的距离:1.22

0

0.91

4.92

3.93

5.84

5.56

0.61各样本所属类:

1

2

1

1

1

1

1

2Step2:分别计算每个样本到达各个聚类中心的距离:Step3:更新聚类中心,更新方法为计算所属类的特征向量的均值C1=((1.5+1.6+2.1+2.2+2.4+2.5)/6,(2.5+2.2+6.2+5.2+7.1+6.8)/6)=(2.05,5)C2=((1.7+1.8)/2,(1.3+1.9)/2)=(1.75,1.6)K-均值聚类方法第5章

xi1.51.71.62.12.22.42.51.8yi2.51.32.26.25.27.16.81.9将8个数据样本聚为两类,其算法执行如下返回Step2,重新计算各样本到达各聚类中心的距离。到达C1的距离:2.56

3.72

2.84

1.2

0.25

2.13

1.86

3.11到达C2的距离:0.93

0.3

0.62

4.61

3.63

5.54

5.25

0.3各样本所属类:

2

2

2

1

1

1

1

2同理更新聚类中心得C1=(2.3,6.325)C2=(1.65,1.975)返回Step2,重新计算各样本到达各聚类中心的距离。到达C1的距离:3.91

5.06

4.18

0.24

1.13

0.78

0.52

4.45到达C2的距离:0.55

0.68

0.23

4.25

3.27

5.18

4.9

0.17各样本所属类:

2

2

2

1

1

1

1

2同理更新聚类中心得C1=(2.3,6.325)C2=(1.65,1.975)Step4:这里我们发现,聚类中心不再发生变化,而且类归属也没有发生变化。其实正是因为类归属没有发生变化,才导致了聚类中心不再发生变化,达到算法终止条件。故样本1、2、3、8归为一类,样本4、5、6、7归为另一类。K-均值聚类算法应用举例第5章

对表所示的31个地区2016年农村居民人均可支配收入情况做聚类分析地区工资性收入(X1)经营净收入(X2)财产净收入(X3)转移净收入(X4)北京16637.52061.91350.12260天津12048.15309.4893.71824.4河北6263.23970257.51428.6山西5204.42729.91491999.1内蒙古2448.96215.7452.62491.7…………………………1.数据获取及标准化处理importpandasaspddata=pd.read_excel('农村居民人均可支配收入来源2016.xlsx')X=data.iloc[:,1:]fromsklearn.preprocessingimportStandardScalerscaler=StandardScaler()scaler.fit(X)X=scaler.transform(X)K-均值聚类算法应用举例第5章

(1)导入K-均值聚类模块KMeans。

fromsklearn.clusterimportKMeans(2)利用KMeans创建K-均值聚类对象model。

model=KMeans(n_clusters=K,random_state=0,max_iter=500)

参数说明如下:

n_clusters:设置的聚类个数K。

random_state:随机初始状态,设置为0即可。

max_iter:最大迭代次数。(3)调用model对象中的fit()方法进行拟合训练。

model.fit(X)(4)获取model对象中的labels_属性,可以返回其聚类的标签。

c=model.labels_2.K-均值聚类分析K-均值聚类算法应用举例第5章

完整代码如下:importpandasaspddata=pd.read_excel('农村居民人均可支配收入来源2016.xlsx')X=data.iloc[:,1:]fromsklearn.preprocessingimportStandardScalerscaler=StandardScaler()scaler.fit(X)X=scaler.transform(X)fromsklearn.clusterimportKMeans

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论