*************

使用的工具:Matlab

分类器:SVM

*************

1、案例背景:

在葡萄酒制造业中,对于葡萄酒的分类具有很大意义,因为这涉及到不同种类的葡萄酒的存放以及出售价格,采用SVM做为分类器可以有效预测相关葡萄酒的种类,从UCI数据库中得到wine数据记录的是在意大利某一地区同一区域上三种不同品种的葡萄酒的化学成分分析,数据里含有178个样本分别属于三个类别(类别标签已给),每个样本含有13个特征分量(化学成分),将这178个样本50%做为训练样本,另50%做为测试样本,用训练样本对SVM分类器进行训练,用得到的模型对测试样本的进行分类标签预测,最终得到96.6292%的分类准确率. .....

2、模型的建立:

                          

这只是一个简单的模型建立,其实我就觉得 叫“过程”更加的贴切

3、数据导入:

load chapter12_wine.mat;

载入测试数据wine,   其中包含的数据为  classnumber = 3,   wine:178*13的矩阵,   类型标签wine_labes:178*1的列向量

如图:

                          

其中13个属性值分别为:酒精Alcohol、苹果酸Malic acid、灰分的碱度Alcalinity of ash、镁(元素)Magnesium、总酚含量Total phenols、黄酮类化合物flavanoids、酚Nonflavanoid phenols、原花青素proanthocyanins、色泽度color intensitys、色调hue、淡酒OD280/OD315 of diluted wines、脯氨酸proline

可以看到13个属性值在178样本中的分布情况:

4、处理结果:

                      看出来,红色的预测和蓝色实际分类还是很吻合的,分类正确率还是很高的



5、附录:Matlab代码

% SVM神经网络的数据分类预测----意大利葡萄酒种类识别%% 清空环境变量
close all;
clear;
clc;
format compact;
%% 数据提取% 载入测试数据wine,其中包含的数据为classnumber = 3,wine:178*13的矩阵,wine_labes:178*1的列向量
load chapter12_wine.mat;% 画出测试数据的box可视化图
figure;
boxplot(wine,'orientation','horizontal','labels',categories);
title('wine数据的box可视化图','FontSize',12);
xlabel('属性值','FontSize',12);
grid on;% 画出测试数据的分维可视化图
figure
subplot(3,5,1);
hold on
for run = 1:178plot(run,wine_labels(run),'*');
end
xlabel('样本','FontSize',10);
ylabel('类别标签','FontSize',10);
title('class','FontSize',10);
for run = 2:14subplot(3,5,run);hold on;str = ['attrib ',num2str(run-1)];for i = 1:178plot(i,wine(i,run-1),'*');endxlabel('样本','FontSize',10);ylabel('属性值','FontSize',10);title(str,'FontSize',10);
end% 选定训练集和测试集% 将第一类的1-30,第二类的60-95,第三类的131-153做为训练集
train_wine = [wine(1:30,:);wine(60:95,:);wine(131:153,:)];
% 相应的训练集的标签也要分离出来
train_wine_labels = [wine_labels(1:30);wine_labels(60:95);wine_labels(131:153)];
% 将第一类的31-59,第二类的96-130,第三类的154-178做为测试集
test_wine = [wine(31:59,:);wine(96:130,:);wine(154:178,:)];
% 相应的测试集的标签也要分离出来
test_wine_labels = [wine_labels(31:59);wine_labels(96:130);wine_labels(154:178)];%% 数据预处理
% 数据预处理,将训练集和测试集归一化到[0,1]区间[mtrain,ntrain] = size(train_wine);
[mtest,ntest] = size(test_wine);dataset = [train_wine;test_wine];
% mapminmax为MATLAB自带的归一化函数
[dataset_scale,ps] = mapminmax(dataset',0,1);
dataset_scale = dataset_scale';train_wine = dataset_scale(1:mtrain,:);
test_wine = dataset_scale( (mtrain+1):(mtrain+mtest),: );
%% SVM网络训练
model = svmtrain(train_wine_labels, train_wine, '-c 2 -g 1');%% SVM网络预测
[predict_label, accuracy] = svmpredict(test_wine_labels, test_wine, model);%% 结果分析% 测试集的实际分类和预测分类图
% 通过图可以看出只有一个测试样本是被错分的
figure;
hold on;
plot(test_wine_labels,'o');
plot(predict_label,'r*');
xlabel('测试集样本','FontSize',12);
ylabel('类别标签','FontSize',12);
legend('实际测试集分类','预测测试集分类');
title('测试集的实际分类和预测分类图','FontSize',12);
grid on;</span>


数据挖掘之数据处理——SVM神经网络的数据分类预测-意大利葡萄酒种类识别相关推荐

  1. 基于SVM的数据分类预测——意大利葡萄酒种类识别

    SVM的基础概念 SVM的主要思想是:建立一个超平面作为决策平面,使得正例和反例之间的隔离边缘被最大化.SVM也是结构风险最小化方法的近似实现. SVM的分类和预测在现实生活中作用特别大,例如说今年的 ...

  2. knn 机器学习_机器学习:通过预测意大利葡萄酒的品种来观察KNN的工作方式

    knn 机器学习 Introduction 介绍 For this article, I'd like to introduce you to KNN with a practical example ...

  3. 分类预测 | MATLAB实现CNN卷积神经网络数据分类预测

    分类预测 | MATLAB实现CNN卷积神经网络数据分类预测 目录 分类预测 | MATLAB实现CNN卷积神经网络数据分类预测 基本介绍 模型设计 学习总结 参考资料 基本介绍 使用卷积网络的潜在好 ...

  4. 数据挖掘实践(金融风控-贷款违约预测)(二):数据分析

    数据挖掘实践(金融风控-贷款违约预测)(二):数据分析 目录 数据挖掘实践(金融风控-贷款违约预测)(二):数据分析 1.引言 2.基本知识点 2.1缺失值(Missing data) 2.1.1缺失 ...

  5. 神经网络 测试集loss不下降_代码实践 | 全连接神经网络回归---房价预测

    学习目录 阿力阿哩哩:深度学习 | 学习目录​zhuanlan.zhihu.com 前面我们介绍了: 阿力阿哩哩:深度学习开端|全连接神经网络​zhuanlan.zhihu.com 4.7代码实践 & ...

  6. 卷积神经网络大盘拐点预测

    简介 卷积神经网络(CNN)是目前最为成熟的深度学习模型,是近年来人工智能蓬勃发展的重要推手之一,其主要特点是通过卷积和池化操作进行自动的特征提取和特征降维.本文首先通过原理分析给出了CNN运用于上证 ...

  7. 《MATLAB 神经网络43个案例分析》:第32章 小波神经网络的时间序列预测——短时交通流量预测

    <MATLAB 神经网络43个案例分析>:第32章 小波神经网络的时间序列预测--短时交通流量预测 1. 前言 2. MATLAB 仿真示例 3. 小结 1. 前言 <MATLAB ...

  8. Python数据处理课程设计-房屋价格预测

    注:可能有些图片未能成功上传,可在文档处进行下载 链接:Python数据处理课程设计-房屋价格预测-机器学习文档类资源-CSDN下载 课程设计报告 课程名称 Python数据处理课程设计 项目名称 房 ...

  9. BP 神经网络的数据分类

    BP 神经网络的数据分类--语音特征信号分类 BP神经网络是一种多层前馈神经网络,该网络的主要特点是信号前向传递,误差反向传播.在前向传递中,输入信号从输入层经隐含层逐层处理,直至输出层. 每一层的神 ...

  10. 基于SVM算法的股票预测分析

    基于SVM算法的股票预测分析 1.数据集选取与描述 由于股票数据的混沌性.无序性,不适宜选取太多的数据作为模型训练的数据集.故本文选出的数据是"温氏股份"200个交易日的股票数据, ...

最新文章

  1. php读取mysql分页查询
  2. mysql集群之MMM简单搭建
  3. JavaScript的几个概念简单理解(深入解释见You Don't know JavaScript这本书)
  4. 关于条件运算符 ?:的小程序
  5. 51Nod-2149子串水题find
  6. 如何利用永洪自服务数据集,构建强大的数据处理能力?
  7. 有糖接入云信,实现完整的虚拟社区搭建和运营
  8. 《高级软件测试》实践作业4学习记录12月25日
  9. Oracle 关于事物的描述
  10. HTML DOM 入门知识点总结
  11. SyncBird Pro的PhoneCare功能如何使用
  12. 使用Qt框架开发http服务器问题的记录
  13. docker下nginx反向代理和负载均衡配置
  14. 50 Fast Flash MX Techniques
  15. 简单免费内网穿透教程,外网快速访问内网群晖/nas/树莓派
  16. 金融:收益利率计算器
  17. 计算机视觉文献综述选题,综述论文2021-计算机视觉十大领域最新综述文章分类大盘点...
  18. 关于cosine_similarity参数的问题
  19. 什么是域,域树,深林?
  20. android 服务端技术,移动应用服务器端开发(基于JSP技术)-2017 Android系统构架 Android系统构架.docx...

热门文章

  1. python发送qq邮件_使用Python登录QQ邮箱发送QQ邮件
  2. 我的007之skyfall歌词鉴赏及翻译
  3. 20190919-2 功能测试
  4. 电脑迷你世界,迷你世界电脑版
  5. 这7大技术博客平台,编程偏爱,程序员的你知道几个?
  6. 【转载】SQL中declare申明变量 declare @id int
  7. 无理数究竟是什么?连续性公理的产物?——读戴德金之二
  8. Tesseract OCR 语言包下载
  9. go chan 类型用法
  10. 以太网协议 | ARP协议详解-ARP报文结构解析