使用Kmeans聚类分析对复杂的数据进行分类
代码解释
使用简单的Kmeans方法对特征数与样本数较多的电离层雷达回波数据进行分类,并计算分类精度,检验效果。
其中,通过PCA方法对数据降维实现可视化。
本文代码通过MATLAB2020a编写。
代码
%% 清除工作区、命令行窗口,关闭图像窗口
clc
clear
close all
%% 加载电离层雷达回波分类数据 数据来自UCI http://archive.ics.uci.edu/ml/datasets/Ionosphere% Ionosphere dataset from the UCI machine learning repository: '
% http://archive.ics.uci.edu/ml/datasets/Ionosphere '
% X is a 351x34 real-valued matrix of predictors. Y is a categorical response: '
% "b" for bad radar returns and "g" for good radar returns. '
% This is a binary classification problem. '%% 读取数据集
ionosphere = readtable('ionosphere.data','Filetype','text','ReadVariableNames',false);
data = table2array(ionosphere(:,1:34));% 将标签从字符串类型转换为数值类型
label_str = table2array(ionosphere(:,end));
label = zeros(height(ionosphere),1);
for i=1:length(label_str)if label_str{i} == 'g'label(i,1) = 1;elselabel(i,1) = 2;end
end
%% K-means聚类分析
disp("Kmeans迭代计算信息:")
[idx,C] = kmeans(data,2,'Display','iter', 'Distance','sqeuclidean','Start','plus'); % %% 绘制轮廓图
figure;
silhouette(data, idx,'sqEuclidean');
title('轮廓图')%% 数据降维 主成分分析
coeff = pca(data', 'NumComponents',2); % 将数据特征降为二维方便可视化%% 绘图
figure;
gscatter(coeff(:,1),coeff(:,2),idx);
title('kmeans聚类结果')figure;
gscatter(coeff(:,1),coeff(:,2),label);
title('正确的分类')%% 计算准确率
count = 0;
for i=1:length(idx)if idx(i) ~= label(i)count = count + 1;endend
acc = 1 - count/length(idx);disp("Kmeans聚类的准确率为:")
disp(acc)
使用Kmeans聚类分析对复杂的数据进行分类相关推荐
- R语言聚类分析之基于划分的聚类KMeans实战:基于葡萄酒数据
R语言聚类分析之基于划分的聚类KMeans实战:基于葡萄酒数据 目录 R语言聚类分析之基于划分的聚类KMeans实战:基于葡萄酒数据
- R语言聚类分析之基于划分的聚类KMeans实战:基于菌株数据
R语言聚类分析之基于划分的聚类KMeans实战:基于菌株数据 目录 R语言聚类分析之基于划分的聚类KMeans实战:基于菌株数据
- matlab鸢尾花数据线性分析,Iris鸢尾花数据集可视化、线性回归、决策树分析、KMeans聚类分析...
数据集可视化 采用Python的Sklearn机器学习库中自带的数据集--鸢尾花数据集.简单分析数据集之间特征的关系图,根据花瓣长度.花瓣宽度.花萼长度.花萼宽度四个特征进行绘图 Iris plant ...
- Python:层次聚类分析——基于基站定位数据商圈分析
<Python数据分析与挖掘实战>书中本章无原始数据,文中仅展示了聚类分析了各人群聚集区特征(商圈特征,做营销策划住宅区.CBD商场.办公楼这还用聚类分析吗,直接肉眼也能辨别吧,这就是所有 ...
- kmeans聚类分析结果怎么看_聚类分析终稿1(SPSSAU)
一.前言 在项目8中,我们学习了利用联合分析法萃取客户喜爱值,本次项目我们将学习利用SPSS实现聚类分析. 二.方法 1.聚类分析的描述 按照个体(记录)的特征将它们分类,使同一类别内的个体具有尽可能 ...
- 21、python的K-means聚类分析方法案例代码
1.聚类分析 是按照个体的特征将他们分类,让同一个类别内的个体之间具有较高的相似度,不同类别之间具有较大的差异性: 2.基本理论 Kmeans:K表示算法当中类的个数 Means 均值算法:K-mea ...
- 机器学习之K-means聚类分析NBA球员案例
机器学习之K-means聚类分析NBA球员案例 本次案例利用k-means算法分析NBA球员球队实力,具体采用2种方式实现案例,一种为自己实现,一种为调用sklearn库,数据来源nba_2013.c ...
- Python数据挖掘-RFM模型K-means聚类分析-航空公司客户价值分析
使用教材:<Python数据分析与挖掘实战> 模型:RFM模型 算法:K-means聚类:其他方法还用到了层次聚类 数据:需要数据的可以评论里call. 内容: (1)案例: 航空公司客户 ...
- K-means聚类分析
k-means聚类分析 什么是聚类分析 k-means聚类分析(k-means clustering)源于信号处理中的一种向量量化方法,现在则更多地作为一种聚类分析方法流行于数据挖掘领域.来自维基百科 ...
最新文章
- android switcher控件,Android ViewSwitcher 的功能与用法
- 028_jQuery数据
- selenium2 python自动化测试实战(回归测试)
- arduino串口监视器显示nan_Arduino小白的学习记录:双色LED灯实验
- 关于肉鸡的一些使用教程
- 金蝶服务器删除缓存文件,金蝶KIS专业版卸载不干净导致无法安装之解决办法
- linux安装中文输入法sc,Linux下安装Discuz_7.2_FULL_SC_GBK
- Q1:spring-boot中Controller路径无法被访问的问题
- web 导出文件时如何让用户选择路径_Visual Paradigm 教程[UML]:如何绘制动画UML活动图?...
- POJ 2104 K-th Number (区间第k大)
- 工业和能源1994-2019年省级面板数据
- 如何免费制作支付宝微信合并收款二维码?
- 红外视觉1:近红外与中远红外图像
- 如何用活字格定制监狱管理系统
- 内网安全检测技术yyds!你还不会吗?
- CS229与《统计学习方法》的EM算法理解和比较,收敛性证明
- 记录matlab符号方程符号解求法
- k8s、pod、容器、虚拟机概念
- 鸡兔同笼问题。上有头30个,下有脚90只,问鸡兔各有多少只。
- SecureCRT调整字体大小