1 / 13
文档名称:

使用python进行聚类分析.docx

格式:docx   大小:111KB   页数:13页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

使用python进行聚类分析.docx

上传人:niupai21 2022/6/14 文件大小:111 KB

下载得到文件列表

使用python进行聚类分析.docx

文档介绍

文档介绍:使用 python
进行聚类分析
一、研究意义经济管理类研究中,在分析某些变量的时候我们通常需要找出具有 相似特征的数据,先将他们进行分类,例如在分析我们在看每个城市的经济增长率的 时候,我们可能需要将手里的城市先分,1・,・・,1・,0・,0・],
[0・,0・,13・,…,2・,1・,0・],
[0・,0・,16・,・・,16・,5., 0・],
[0・,0・,16・,・・,15・,0・,0・],
[0・,0・,15・,・・,16・,0・,0・],
[0・,0・,2.,・・・,6., 0・,0・]],
[[0・,0・,2・,・・,0・,0・,0・],
[0・,0・,14・,・・,15・,1・,0・],
[0・,4・,16・,・・,16・,7., 0・],
[0・,0・,0・,・・・,16・,2., 0・],
[0., 0・,4・,・・・,16・,2., 0・],
[0., 0・,5・,・・・,12., 0., 0・]], [[0・,0・,10・, ・・・,1・,0・,0・],
[0., 2・,16・,・・,1・,0., 0・],
[0., 0・,15・,・・,15・,0., 0・],
[0・,4・,16・,・・・,16・,6・,0.],
[0・,8・,16・,・・・,16・,8・,0・],
[0・,1・,8・,・・・,12・,1・,0.]]])
三、模型描述
模型数据处理过程解析:
从系统自带的digits数据集中导入数据并规定簇的数目k;运行结果产生k个 簇,若是满足平方误差准则函数收敛则停止聚类。
任意选择k个数据对象作为初始聚类中心。
计算各个数据到所选出来的各个中心的距离,将数据对象指派到最近的簇 中,然后计算每个簇的均值。
根据簇中对象的平均值,将每个对象赋给最类似的簇。
更新簇的平均值,即计算每个对象簇中对象的平均值。
计算聚类准则函数E。
(6)直到准则函数E值不再进行变化。整个数据处理和聚类分析流程如下图1 所示。
首先我们来看一下 K-means 算法的格式:
(n_clusters,init,n_init,max_iter,tol,precompute_dista nces,verbose,random_state,copy_x,n」obs,algorithm) n_clusters:簇的个数,即聚成 几类 init: 初始簇中心的获取方法 (一般有 K-means++, random ,和 PCA) n_init: 获取 初始簇中心的更迭次数,为了弥补初始质心的影响,算法默认会初 始 10 次质心,实 现算法,然后返回最好的结果 max_iter: 最大迭代次数(因为 kmeans 算法的实现需要迭代) tol: 容忍度,即 kmeans 运行准则收敛的条件
precompute_distances :是否需要提前计算距离,这个参数会在空间和时间之间 做权 衡,如果是 True 会把整个距离矩阵都放到内存中, auto 会默认在数据样本 大于 featurs*samples 的数量大于 12e6 的时候 False,False 时核心实现的方法是 利用 Cpython 来实现的 verbose: 冗长模式 , 反正一般不去改默认值 random_state: 随机生 成簇中心的状态条件copy_x:对是否修改数据的一个标记,如果True,即复制了就 不会修改数据。 bool 在 scikit-learn 很多接口中都会有这个参数的, 就是是否对输入 数据继续copy操作,以便不修改用户的输入数据n_jobs:并行设置 algorithm: kmeans 的实现算法,有: ‘auto ', ‘full,'其,中 ‘‘elfkual 表 ln 示'用
EM方式实现
首先我们先随机生成一个二维数组,进行一个简单的聚类分析。
from skiear n. cluster import KMeans
from skiear n. externals import joblib
from sklearn import cluster
import numpy as n p import matp lotlib .pyplot as plt data = np. rando m. rand(100,2) # 生成100*2的随机矩阵estimator=K Means(n_clusters=3) #将形成的数据的聚类分 为3类res=estimator・fit_predict(data) #fit_predict表示拟合+预测,也可以分开写 lable_pred=e