【MATLAB第58期】基于MATLAB的PCA-Kmeans、PCA-LVQ与BP神经网络分类预测模型对比

一、数据介绍

基于UCI葡萄酒数据集进行葡萄酒分类及产地预测

共包含178组样本数据,来源于三个葡萄酒产地,每组数据包含产地标签及13种化学元素含量,即已知类别标签。
把样本集随机分为训练集和测试集(70%训练,30%测试),根据已有数据集训练一个能进行葡萄酒产地预测的模型,以正确区分三个产地所产出的葡萄酒,
分别采用PCA+Kmeans、PCA+LVQ、BP神经网络等方法进行模型的训练与测试,准确率都能达到95%左右。

二、效果展示

1.PCA-Kmeans




train_accuracy = 0.95

test_accuracy = 0.98

2.PCA-LVQ




3.BP


三、代码展示(部分代码)

clear all;
wine_data = xlsread('wine.xlsx');  %分类标签默认第一列method = 'BP';%PK: PCA & Kmeans
%PL:        PCA & LVQ
%BP:         BP Neural Network'
rate = 0.7;%训练集70%,测试集30%
N = size(unique(wine_data(:,1)),1);;total_cnt = size(wine_data,1);
train_cnt = round(total_cnt*rate);
test_cnt = total_cnt - train_cnt;rand_idx = randperm(total_cnt);
train_idx = rand_idx(1:train_cnt);
test_idx = rand_idx(train_cnt+1:total_cnt);train_data = wine_data(train_idx,2:size(wine_data,2));
train_class = wine_data(train_idx,1);
test_data = wine_data(test_idx,2:size(wine_data,2));
test_class = wine_data(test_idx,1);
dim = size(wine_data,2)-1;%矩阵z-score标准化
train_SM = zeros(train_cnt,dim);
data_mean = mean(train_data);
data_std = std(train_data);
test_SM = zeros(test_cnt,dim);
for j = 1:dimtrain_SM(:,j) = (train_data(:,j) - data_mean(j)) / data_std(j);test_SM(:,j) = (test_data(:,j) - data_mean(j)) / data_std(j);
end

四、代码获取

私信回复“58期”即可获取下载链接。

【MATLAB第58期】基于MATLAB的PCA-Kmeans、PCA-LVQ与BP神经网络分类预测模型对比相关推荐

  1. matlab同步电机三相短路,基于Matlab的同步电机三相突然短路的仿真.pdf

    基于Matlab的同步电机三相突然短路的仿真,三相逆变器matlab仿真,matlab三相短路,matlab仿真,matlab仿真实例,matlabsimulink仿真,matlab电路仿真,matl ...

  2. 基于matlab的lorenz仿真,基于Matlab的lorenz混沌系统仿真

    NO.02,2014 现代商贸工业 Modern Business Trade Industry 2014年第 02期 基于 Matlab的 lorenz混沌系统仿真 刘 庆 花 (河 南化 工职业 ...

  3. Matlab之DNN:基于Matlab利用神经网络模型(epochs=10000000)预测勒布朗詹姆斯的2018年总决赛(骑士VS勇士)第一场得分、篮板、助攻

    Matlab之DNN:基于Matlab利用神经网络模型(epochs=10000000)预测勒布朗詹姆斯的2018年总决赛(骑士VS勇士)第一场得分.篮板.助攻 目录 输出结果 预测勒布朗詹姆斯的20 ...

  4. matlab功率谱的峰值,基于Matlab功率谱密度估计方法.doc

    基于Matlab功率谱密度估计方法 基于Matlab功率谱密度估计方法要在实际情况下, 许多平稳信号无法导出数学表达式, 要准确获取这些信号的功率谱密度存在一定的困难.根据维纳辛钦 (Wiener K ...

  5. BP神经网络分类以及对算法进行改进—MATLAB实现

    文章目录 一 BP神经网络介绍 二 案例应用-语音特征信号识别 2.1 案例说明 2.2 MATLAB实现 2.2.1 数据归一化 2.2.2 编程实现 2.2.2.1数据选择和归一化 2.2.2.2 ...

  6. BP神经网络分类问题(含matlab仿真)

    BP神经网络进行模式识别 具体的BP神经网络详细说明请参考博客:https://www.jianshu.com/p/3d96dbf3f764 神经网络的基础编程可参考博客:https://www.cn ...

  7. matlab生产计划问题,基于MATLAB的生产计划最优化系统设计

    龙源期刊网 http://www.doczj.com/doc/d0588b0949d7c1c708a1284ac850ad02de8007fa.html 基于MATLAB的生产计划最优化系统设计作者: ...

  8. matlab中对伺服电机,基于Matlab的伺服电机Modbus通讯研究

    湖北汽车工业学院学报 JournalofHubeiUniversityofAutomotiveTechnology 第31卷第1期 2017 年3月 Vol.31 No.1 Mar.2017 doi: ...

  9. matlab飞行数据仿真,基于MATLAB的飞行仿真

    收稿日期: 2005 - 05 - 15 第 23卷 第 06期 计 算 机 仿 真 2006年 06月 文章编号: 1006 - 9348 (2006) 06 - 0057 - 05 基于 MATL ...

最新文章

  1. caffe prototxt分析
  2. Entity Framwork CodeFirst 学习笔记一:EF 概念和初次接触CodeFirst
  3. python入门指南 许半仙 txt-小九 第7章(1/1)_新笔趣阁
  4. 24、Java并发性和多线程-信号量
  5. 基于Lua脚本语言的嵌入式UART通信的实现
  6. 10本计算机视觉必读经典图书,入门篇 + 提升篇
  7. [BZOJ3261] 最大异或和 (异或前缀和,可持久化Trie)
  8. ShellExecute, WinExec, CreateProcess区别
  9. TabBarController创建及使用方法简介
  10. HTTP WS 区别
  11. java输出object object_js控制台显示[object Object]问题
  12. 谈谈为什么要系统学习算法-开复的一篇文章
  13. 深度学习自学(三十九):SRN骨架检测 Side-output Residual Network for Object Symmetry Detection in the Wild
  14. linux下仿真流体计算软件,【流体】| 10个目前流行的CFD仿真软件,你了解几个?...
  15. 酒店和餐饮企业Foodprint Group使用西门子低代码重设工作流程以缓解食物浪费问题
  16. ElasticSearch(8)-分布式搜索
  17. php socket accept,使用PHP Socket开发Yar TCP服务
  18. java主色调_主色调
  19. oracle字符串截取substr和字符串查找instr
  20. 初探Java反序列化漏洞

热门文章

  1. 什么是韵律词、韵律短语、语调短语?
  2. 录入并打印名单python_Python如何使用字符打印照片
  3. Java实现之弗洛伊德(Floyd)算法
  4. 虹科带你今天来聊聊,什么是EMC测试?
  5. 上限、下限、上上限和下下限都是什么区别!
  6. 小议技术领域的精分化——从《找你妹》背后的游戏云聊起
  7. 初探Disruptor
  8. torch学习第一天
  9. 微信相框亮相CES Asia:新增设备物联并打通内容服务
  10. 美赛笔记一 英语时态学习