资源简介
针对葡萄酒的含量特征将葡萄酒分为四个种类,采用SVM算法对特征集进行训练,根据训练得到的优秀参数对分类模型进行分类。
代码片段和文件信息
%% Matlab神经网络43个案例分析
% 基于SVM的数据分类预测——意大利葡萄酒种类识别
% by 李洋(faruto)
% http://www.matlabsky.com
% Email:faruto@163.com
% http://weibo.com/faruto
% http://blog.sina.com.cn/faruto
% 2013.01.01
%% 清空环境变量
close all;
clear;
clc;
format compact;
%% 数据提取
% 载入测试数据wine其中包含的数据为classnumber = 3wine:178*13的矩阵wine_labes:178*1的列向量
load chapter_WineClass.mat;
% 画出测试数据的box可视化图
figure;
boxplot(wine‘orientation‘‘horizontal‘‘labels‘categories);
title(‘wine数据的box可视化图‘‘FontSize‘12);
xlabel(‘属性值‘‘FontSize‘12);
grid on;
% 画出测试数据的分维可视化图
figure
subplot(351);
hold on
for run = 1:178
plot(runwine_labels(run)‘*‘);
end
xlabel(‘样本‘‘FontSize‘10);
ylabel(‘类别标签‘‘FontSize‘10);
title(‘class‘‘FontSize‘10);
for run = 2:14
subplot(35run);
hold on;
str = [‘attrib ‘num2str(run-1)];
for i = 1:178
plot(iwine(irun-1)‘*‘);
end
xlabel(‘样本‘‘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)];
%% 数据预处理
% 数据预处理将训练集和测试集归一化到[01]区间
[mtrainntrain] = size(train_wine);
[mtestntest] = size(test_wine);
dataset = [train_wine;test_wine];
% mapminmax为MATLAB自带的归一化函数
[dataset_scaleps] = mapminmax(dataset‘01);
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;
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 2429 2013-08-18 10:55 chapter14\chapter_WineClass.m
文件 20168 2010-01-30 18:38 chapter14\chapter_WineClass.mat
文件 13636 2013-08-18 10:55 chapter14\html\chapter_WineClass.html
文件 3346 2013-08-18 10:55 chapter14\html\chapter_WineClass.png
文件 6819 2013-08-18 10:55 chapter14\html\chapter_WineClass_01.png
文件 10865 2013-08-18 10:55 chapter14\html\chapter_WineClass_02.png
文件 9098 2013-08-18 10:55 chapter14\html\chapter_WineClass_03.png
目录 0 2013-08-18 10:55 chapter14\html
目录 0 2013-08-18 10:55 chapter14
----------- --------- ---------- ----- ----
66361 9
- 上一篇:烟雾报警PCB+原理图文件
- 下一篇:武汉市水系数据压缩文件
相关资源
- 论文研究-基于word2vec扩展情感词典和
- SVM原理讲解
- svm breast cancer
- SVM在RGB图像分割中的应用
- libsvm下载50395
- 这里实现了四种SVM工具箱的分类与回
- 基于SVM的手写字体识别
- 基于pso优化lssvm两参数
- Libsvm参数详解(含具体程序代码,可
- 机器学习SVM(支持向量机)实验报告
- 遗传算法优化支持向量机
- MCKD与改进的LSSVM在滚动轴承故障诊断
- OpenCV+SVM简单应用-------路面箭头分类
- 分类器svm参考代码
- FormatDatalibsvm.xls 把数据转化为libsvm格
- SVM三类分类
- 利用级联SVM的人体检测方法
- svmpredict.mexw64 svmtrain.mexw64 及c文件
- 支持向量机学习笔记
- svm 网格搜索法
- qpso-svm算法
- 机器学习算法,包含随机森林,决策
- 基于SVM的入侵检测系统
- SVM(支持向量机)入门 (深入浅出讲
- SVM with mosek for banana
- FormatDatalLibsvm.xls.xls->svm格式转换
- 用kmeans得到二值分割后,再用svm进行
- 用于车牌字符识别的SVM算法
- HOG-LBP-detection
- svm gui安装该工具箱
评论
共有 条评论