千家信息网

如何使用svmtrain进行数据分类预测

发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,本文小编为大家详细介绍"如何使用svmtrain进行数据分类预测",内容详细,步骤清晰,细节处理妥当,希望这篇"如何使用svmtrain进行数据分类预测"文章能帮助大家解决疑惑,下面跟着小编的思路慢慢
千家信息网最后更新 2025年12月02日如何使用svmtrain进行数据分类预测

本文小编为大家详细介绍"如何使用svmtrain进行数据分类预测",内容详细,步骤清晰,细节处理妥当,希望这篇"如何使用svmtrain进行数据分类预测"文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

在安装了libsvm工具箱之后,使用svmtrain进行数据分类预测

%% 清空环境变量

close all;

clear;

clc;

format compact;

%% 数据提取

% 载入测试数据wine

% 包含的数据为classnumber = 3

% wine:178*13的矩阵

% wine_labes:178*1的列向量

load 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:178

plot(run,wine_labels(run),'*');

end

xlabel('样本','FontSize',10);

ylabel('类别标签','FontSize',10);

title('class','FontSize',10);

for run = 2:14

subplot(3,5,run);

hold on;

str = ['attrib ',num2str(run-1)];

for i = 1:178

plot(i,wine(i,run-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)];


%% 数据预处理

% 数据预处理,将训练集和测试集归一化到[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;

读到这里,这篇"如何使用svmtrain进行数据分类预测"文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注行业资讯频道。

测试 数据 分类 训练 标签 样本 实际 文章 可视化 内容 属性 类别 网络 预处理 妥当 函数 区间 变量 只有 向量 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 南京大中小型视频系统服务器 长春汽车软件开发 服务器连接显示器不能识别网络 网络安全法专场答案 云服务器的网络流出带宽代表什么 数字统计软件开发 幼儿园护苗网络安全活动 NTP授时服务器客户端 佛山正规软件开发哪里好 微信公众平台提供数据库吗 自己单独帮别人做软件开发 网络技术和数字媒体哪个好 avast网络安全注册机 浙江安卓软件开发外包 蛋白与蛋白之间关系数据库 创新实验室数据库 计算机网络技术方向偏软件吗 河南高校党建软件开发系统 天津软件开发学校 数据库where in 曙光服务器维修调试费用 党校网络安全责任制考核指标 服务器安全狗的使用方法 我的世界电脑插件怎么设置服务器 什么是服务器和内存条 戴尔服务器传统模式启动 杭州国杭一叶网络技术有限公司 扬州智能化服务器 鹰潭网络安全培训 多用户商城软件开发
0