代码解释

使用简单的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聚类分析对复杂的数据进行分类相关推荐

  1. R语言聚类分析之基于划分的聚类KMeans实战:基于葡萄酒数据

    R语言聚类分析之基于划分的聚类KMeans实战:基于葡萄酒数据 目录 R语言聚类分析之基于划分的聚类KMeans实战:基于葡萄酒数据

  2. R语言聚类分析之基于划分的聚类KMeans实战:基于菌株数据

    R语言聚类分析之基于划分的聚类KMeans实战:基于菌株数据 目录 R语言聚类分析之基于划分的聚类KMeans实战:基于菌株数据

  3. matlab鸢尾花数据线性分析,Iris鸢尾花数据集可视化、线性回归、决策树分析、KMeans聚类分析...

    数据集可视化 采用Python的Sklearn机器学习库中自带的数据集--鸢尾花数据集.简单分析数据集之间特征的关系图,根据花瓣长度.花瓣宽度.花萼长度.花萼宽度四个特征进行绘图 Iris plant ...

  4. Python:层次聚类分析——基于基站定位数据商圈分析

    <Python数据分析与挖掘实战>书中本章无原始数据,文中仅展示了聚类分析了各人群聚集区特征(商圈特征,做营销策划住宅区.CBD商场.办公楼这还用聚类分析吗,直接肉眼也能辨别吧,这就是所有 ...

  5. kmeans聚类分析结果怎么看_聚类分析终稿1(SPSSAU)

    一.前言 在项目8中,我们学习了利用联合分析法萃取客户喜爱值,本次项目我们将学习利用SPSS实现聚类分析. 二.方法 1.聚类分析的描述 按照个体(记录)的特征将它们分类,使同一类别内的个体具有尽可能 ...

  6. 21、python的K-means聚类分析方法案例代码

    1.聚类分析 是按照个体的特征将他们分类,让同一个类别内的个体之间具有较高的相似度,不同类别之间具有较大的差异性: 2.基本理论 Kmeans:K表示算法当中类的个数 Means 均值算法:K-mea ...

  7. 机器学习之K-means聚类分析NBA球员案例

    机器学习之K-means聚类分析NBA球员案例 本次案例利用k-means算法分析NBA球员球队实力,具体采用2种方式实现案例,一种为自己实现,一种为调用sklearn库,数据来源nba_2013.c ...

  8. Python数据挖掘-RFM模型K-means聚类分析-航空公司客户价值分析

    使用教材:<Python数据分析与挖掘实战> 模型:RFM模型 算法:K-means聚类:其他方法还用到了层次聚类 数据:需要数据的可以评论里call. 内容: (1)案例: 航空公司客户 ...

  9. K-means聚类分析

    k-means聚类分析 什么是聚类分析 k-means聚类分析(k-means clustering)源于信号处理中的一种向量量化方法,现在则更多地作为一种聚类分析方法流行于数据挖掘领域.来自维基百科 ...

最新文章

  1. android switcher控件,Android ViewSwitcher 的功能与用法
  2. 028_jQuery数据
  3. selenium2 python自动化测试实战(回归测试)
  4. arduino串口监视器显示nan_Arduino小白的学习记录:双色LED灯实验
  5. 关于肉鸡的一些使用教程
  6. 金蝶服务器删除缓存文件,金蝶KIS专业版卸载不干净导致无法安装之解决办法
  7. linux安装中文输入法sc,Linux下安装Discuz_7.2_FULL_SC_GBK
  8. Q1:spring-boot中Controller路径无法被访问的问题
  9. web 导出文件时如何让用户选择路径_Visual Paradigm 教程[UML]:如何绘制动画UML活动图?...
  10. POJ 2104 K-th Number (区间第k大)
  11. 工业和能源1994-2019年省级面板数据
  12. 如何免费制作支付宝微信合并收款二维码?
  13. 红外视觉1:近红外与中远红外图像
  14. 如何用活字格定制监狱管理系统
  15. 内网安全检测技术yyds!你还不会吗?
  16. CS229与《统计学习方法》的EM算法理解和比较,收敛性证明
  17. 记录matlab符号方程符号解求法
  18. k8s、pod、容器、虚拟机概念
  19. 鸡兔同笼问题。上有头30个,下有脚90只,问鸡兔各有多少只。
  20. SecureCRT调整字体大小

热门文章

  1. 树形打印lua table表
  2. python 中类与对象
  3. Oracle从非归档模式变成归档模式
  4. 研发工程规范性模型-DevSecOps
  5. java对机房有什么用_使用云终端建设的云机房相比传统机房有什么区别
  6. 【机器学习】Logistic Regression逻辑回归原理与java实现
  7. 【机器学习】竞争神经网络(Competitive Neural Network)的python实现
  8. Maven安装与配制环境【win7/win10】
  9. 不重复计数函数php,EXCEL多条件不重复计数函数是什么
  10. 安徽大学计算机科学与技术学院刘峰,刘峰