当前位置:网站首页>【回归预测-lssvm分类】基于最小二乘支持向量机lssvm实现数据分类代码
【回归预测-lssvm分类】基于最小二乘支持向量机lssvm实现数据分类代码
2022-07-30 14:07:00 【Matlab科研工作室】
1 内容介绍
在信息爆炸的新时代,由于全球科技与经济迅猛发展,数据充斥在各行各业,数据的结构也变得多样化.其中对于数据的分类最常见,伴随着数据分类的同时出现两大处理难点,一个是非均衡问题,另一个就是高维问题.但是传统的数据方法在进行数据挖掘时,低维平衡数据被重点关注,传统分类方法有线性判别分析,Logistic判别模型,支持向量机算法,K近邻算法,决策树算法,随机森林算法,神经网络学习,等.但是目前各个领域充斥着大量高维非均衡数据,而传统方法对非均衡数据分类问题的关注比较缺失.目前对于非均衡数据分类时,由于数量本身的严重偏斜,分类器整体的分类准确度良好恰恰归功于多数类样本的正确分类.
2 仿真代码
%基于SVM的iris数据辨识
clear;
clc;
A=load('irisdata.txt'); %导入数据
data = A(:,1:4); %1—4列数据是鸢尾花的4个特征:花萼和花瓣的长度和宽度
labels = A(:,5); %最后一列是属性标签。1代表山鸢尾(iris-setosa),
%2代表变色鸢尾(iris-versicolor),3代表维吉尼亚鸢尾(iris-virginica)
%将第一类的1-20,第二类的51-70,第三类的101-120做为训练集
train_iris=[data(1:20,:);data(51:70,:);data(101:120,:)];
%相应的训练集的标签也要分离出来
train_iris_labels = [labels(1:20);labels(51:70);labels(101:120)];
%将第一类的21-50,第二类的71-100,第三类的121-150做为测试集
test_iris=[data(21:50,:);data(71:100,:);data(121:150,:)];
%相应的测试集的标签也要分离出来
test_iris_labels = [labels(21:50);labels(71:100);labels(121:150)];
%数据预处理 将训练集和测试集进行归一化处理 归一化到[0,1]区间
[mtrain,ntrain] = size(train_iris);
[mtest,ntest] = size(test_iris);
dataset = [train_iris;test_iris];
% mapminmax为MATLAB自带的归一化函数
[dataset_scale,ps] = mapminmax(dataset',0,1)
dataset_scale = dataset_scale';
train_iris = dataset_scale(1:mtrain,:);
test_iris = dataset_scale( (mtrain+1):(mtrain+mtest),: );
% SVM网络训练
model = svmtrain(train_iris_labels, train_iris, '-c 2 -g 1');
%% SVM网络预测
[predict_label,accuracy] = svmpredict(test_iris_labels,test_iris,model);
figure;
hold on;
plot(test_iris_labels,'o');
plot(predict_label,'r*');
xlabel('测试集样本','FontSize',12);
ylabel('类别标签','FontSize',12);
legend('实际测试集分类','预测测试集分类');
title('测试集的实际分类和预测分类图','FontSize',12);
grid on;
snapnow;
3 运行结果
4 参考文献
[1]李飞. 基于改进粒子群算法的支持向量机参数优化[D]. 河北工业大学.
[1]沈会. 基于最小二乘支持向量机方法的统计优化预测模型[D]. 武汉理工大学, 2018.
博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。
部分理论引用网络文献,若有侵权联系博主删除。
边栏推荐
- LeetCode二叉树系列——116.填充每个节点的下一个右侧指针
- Why did I switch from developer to testing, 3 years software testing engineer, tell you the secret of this
- ARC117E零和范围2
- 我为何从开发人员转做测试,3年软件测试工程师,带你聊聊这其中的秘辛
- Application of time series database in the field of ship risk management
- LeetCode二叉树系列——199二叉树的右视图
- 关于容器的小案例
- Skywalking入门
- 经典测试面试题集—逻辑推理题
- pytorch与keras的相互转换(代码以LeNet-5为例)
猜你喜欢
LeetCode二叉树系列——144.二叉树的最小深度
Meta首份元宇宙白皮书9大看点,瞄准80万亿美元市场
Baijiahao cancels the function of posting documents on the interface: the weight of the plug-in chain is blocked
吃透Chisel语言.28.Chisel进阶之有限状态机(二)——Mealy状态机及与Moore状态机的对比
LeetCode二叉树系列——515.最每个树行中找最大值
LeetCode二叉树系列——107.二叉树的层序遍历II
LeetCode二叉树系列——145.二叉树的后序遍历
[VMware virtual machine installation mysql5.7 tutorial]
3年软件测试经验面试要求月薪22K,明显感觉他背了很多面试题...
Interface automation framework, lm-easytest beta version released, use it quickly~
随机推荐
kubernate部署服务
ddl and dml in sql (the difference between sql and access)
CVE-2022-33891 Apache Spark 命令注入复现
时序数据库在船舶风险管理领域的应用
(论文翻译]未配对Image-To-Image翻译使用Cycle-Consistent敌对的网络
Some thoughts on String
还在说软件测试没有中年危机?9年测试工程师惨遭淘汰
DocuWare 文件管理与工作流程自动化案例研究——DocuWare 工作流程功能使在家工作的员工能够保持沟通和高效工作,支持混合环境
Eight years of testing experience, why was the leader criticized: the test documents you wrote are not as good as those of fresh graduates
(一)Multisim安装与入门
内容产品进化三板斧:流量、技术、产品形态
No-code development platform all application settings introductory tutorial
我为何从开发人员转做测试,3年软件测试工程师,带你聊聊这其中的秘辛
BI-SQL丨WHILE
Interface automation framework, lm-easytest beta version released, use it quickly~
What should I do if the sql server installation fails (what should I do if the sql server cannot be installed)
Remember an experience of interviewing an outsourcing company, should you go?
数字信号处理课程实验报告(数字信号处理需要什么基础)
VLAN实验
CF780G Andryusha and Nervous Barriers