程序员最近都爱上了这个网站  程序员们快来瞅瞅吧!  it98k网:it98k.com

本站消息

站长简介/公众号

关注本站官方公众号:程序员总部,领取三大福利!
福利一:python和前端辅导
福利二:进程序员交流微信群,专属于程序员的圈子
福利三:领取全套零基础视频教程(python,java,前端,php)

  价值13000svip视频教程,python大神匠心打造,零基础python开发工程师视频教程全套,基础+进阶+项目实战,包含课件和源码

  出租广告位,需要合作请联系站长

+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

2021-10(13)

2021-11(12)

数学建模—聚类(matlab、spss)K均值 Q型聚类 R型聚类

发布于2022-09-20 21:33     阅读(897)     评论(0)     点赞(3)     收藏(4)



聚类三种方法: 【说明】 1、三种方式输入矩阵行为个案,列为变量 量纲不同需要预处理,一般使用zscore() zscore()标准化为对每一列操作减去均值除以标准差
2、k均值需要自己确定k取值。Q、R型聚类需要运行完以后再确定选择

一、K均值

  • matlab实现
%% 数据预处理
%如果量纲不同,需要进行预处理,数据的列为属性,行为个案
clear;clc;close all;
data_mean=xlsread('data.xlsx','mean','B3:L16'); %读入数据
data_mean=zscore(data_mean);
%% 判断kmeans的k值
%第二个参数 可以自定义,'linkage''gmdistribution''kmeans'
% eva = evalclusters(data_mean,'kmeans','CalinskiHarabasz','KList',[1:10])    %判断聚类k值 越大越好
% hold on;
% eva = evalclusters(data_mean,'kmeans','DaviesBouldin','KList',[1:10])    %判断聚类k值 越小越好
% hold on;
%eva = evalclusters(data_mean,'kmeans','gap','KList',[1:10])    %判断聚类k值
% hold on;
eva = evalclusters(data_mean,'kmeans','silhouette','KList',[1:10])    %判断聚类k值 越大越好
% hold on;
plot(eva)
%% 根据第一步确定分类
[idx,C,sumd,d]=kmeans(data_mean,3)
%idx表示分类的组别,C表示簇质心的距离,其中第 j 行是簇 j 的质心。
%sumd簇内的点到质心距离的总和,以数值列向量形式返回,d表示从每个点到每个质心的距离,以数值矩阵形式返回
%% 若维度为2维可以画散点图
%catter plot by group,This MATLAB function creates a scatter plot of x and y, grouped by g.
%gscatter(x,y,g)
%由于这个例子数据维数太高没法可视化,提取数据的前两个维度,方便演示
figure
gscatter(data_mean(:,1),data_mean(:,2),idx,'bgm')%画散点
hold on
plot(C(:,1),C(:,2),'kx')%画质心
legend('Cluster 1','Cluster 2','Cluster 3','Cluster Centroid')%添加标签
%3维数据
figure
scatter3(data_mean(:,1),data_mean(:,2),data_mean(:,3),50,idx,'.')
% plot(C(:,1),C(:,2),'kx')%画质心
% legend('Cluster 1','Cluster 2','Cluster 3','Cluster Centroid')%添加标签

  • SPSS实现(默认使用kmeans++)

数据预处理:
在这里插入图片描述
模型:

在这里插入图片描述
出图:
①判断k的值时的那个图(matlab
②如果列变量有2个(spss或matlab)或是3个(spss)可以画散点图
Spss中:
首先要保存下分类的类别
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

二、Q型聚类

对样本(行)进行聚类
Spss实现:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
如果数据没有标准化处理,可以在这进行,注意要选择【按变量】,相当于zscore()指令

判断类别
在这里插入图片描述
即将系数复制到excel
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
出图:
判断类别k(spss,matlab)
②聚类图谱(spss)
③如果列变量有2个(spss或matlab)或是3个(spss)可以画散点图

三、R型聚类

对属性(列)进行聚类
在这里插入图片描述
在这里插入图片描述

出图:
判断类别k(spss,matlab)
②聚类图谱(spss)
③如果列变量有2个(spss或matlab)或是3个(spss)可以画散点图



所属网站分类: 技术文章 > 博客

作者:csv

链接:https://www.pythonheidong.com/blog/article/1760220/c8867f07a963469de42b/

来源:python黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

3 0
收藏该文
已收藏

评论内容:(最多支持255个字符)