统计分析 -- 聚类算法模型
2022/8/24 1:22:52
本文主要是介绍统计分析 -- 聚类算法模型,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
统计分析 -- 聚类算法模型
距离分析
数据标准化
欧氏距离与量纲有关,因此,有时需要对数据进行预处理,
如标准化等。
在MATLAB中的命令是zscore,调用格式
Z = zscore(X) 输入X表示N行p列的原始观测矩阵,行为个体,列为指标。 输出Z为X的标准化矩阵: Z = (X–ones(N,1)*mean(X)) ./(ones(N,1)* std(X)), mean(X)为行向量,表示各个指标的均值估计, std(X)表示指标的标准差估计。./表示对应元素相除, ones(N,1)表示元素全为1的行向量,向量的长度为N。
K-means聚类
K-means聚类的算法流程:
- 指定需要划分的簇的个数K值(类的个数)
- 随机地选择K个数据对象作为初始的聚类中心(不一定要是我们的样本点)
- 计算其余的各个数据对象到这K个初始聚类中心的距离,把数据对象划归到距离它最近的那个中心所处在的簇类中;
- 调整新类并且重新计算出新类的中心;
- 循环步骤3和4,看中心是否收敛(不变)如果敛或达到迭代次数则停止循环;
- 结束。
K-means聚类特点
K-means++聚类算法
SPSS软件使用
code
%% % K-means 算法MATLAB实现 %------------------------------------------------------------- %{ 利用Matlab软件中的命令: kmeans,可以实现k-means聚类 对于要处理的数据 构造矩阵,矩阵X的每一行为每个个体的实际数据,每一列都是不同的指标 如果提供的数据不是按照规范模式,需要进行矩阵转置 x=y'; %矩阵x的行为个体,列为指标 [a,b]=kmeans(x,2) %分为2类,输出: a为聚类的结果,b为聚类重心, 每一行表示一个类的重心 使用kmeans进行处理 %} %% 数据准备和初始化 clc clear load kdata.mat [a,b]=kmeans(x,3); %%分为3类输出 x1=x(find(a==1),:) %提取第1类里的样品 x2=x(find(a==2),:) %提取第2类里的样品 x3=x(find(a==3),:) %提取第3类里的样品 sd1=std(x1) sd2=std(x2) sd3=std(x3) % 分别计算第1类和第2类第3类的标准差 plot(x(a==1,1),x(a==1,2),'r.',x(a==2,1),x(a==2,2),'b.',x(a==3,1),x(a==3,2),'g.','MarkerSize',10) %作出聚类的散点图 title('k-means聚类分析散点图');
这篇关于统计分析 -- 聚类算法模型的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23Springboot应用的多环境打包入门
- 2024-11-23Springboot应用的生产发布入门教程
- 2024-11-23Python编程入门指南
- 2024-11-23Java创业入门:从零开始的编程之旅
- 2024-11-23Java创业入门:新手必读的Java编程与创业指南
- 2024-11-23Java对接阿里云智能语音服务入门详解
- 2024-11-23Java对接阿里云智能语音服务入门教程
- 2024-11-23JAVA对接阿里云智能语音服务入门教程
- 2024-11-23Java副业入门:初学者的简单教程
- 2024-11-23JAVA副业入门:初学者的实战指南