分类预测 | Matlab实现基于DBN-SVM深度置信网络支持向量机的数据分类预测

分类效果

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

基本描述

1.利用DBN进行特征提取,将提取后的特征放入SVM进行分类实现组合预测。图很多,包括混淆矩阵图、预测效果图, DBN是深度置信网络,相比于CNN更为新颖。
2.多特征输入输出二分类及多分类模型程序注释详细,直接替换数据可以用。
3.程序语言matlab程序可出分类效果图混淆矩阵图,运行环境matlab2018b及以上。
4.代码特点:参数编程参数可方便更改代码编程思路清晰、注释明细。
5.data数据集,输入12个特征,分四类;main为主程序,其余为函数文件,无需运行,可在下载获取数据程序内容

程序设计

%-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
%%  数据转置
P_train = P_train'; P_test = P_test';
T_train = T_train'; T_test = T_test';
%-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
%%  得到训练集和测试样本个数
M = size(P_train, 2);
N = size(P_test , 2);
%-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
%%  数据归一化
[p_train, ps_input] = mapminmax(P_train, 0, 1);
p_test  = mapminmax('apply', P_test, ps_input);
t_train = ind2vec(T_train);
t_test  = ind2vec(T_test );
%-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
%%  转置适应模型
p_train = p_train'; p_test = p_test';
t_train = t_train'; t_test = t_test';
%-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
dbn.sizes = [70 32 56];                 % 隐藏节点
opts.numepochs = 100;                   % 训练次数
opts.batchsize = M;                     % 每次训练样本个数 需满足:(M / batchsize = 整数opts.momentum  = 0;                     % 学习率的动量
opts.alpha     = 0.01;                  % 学习dbn = dbnsetup(dbn, p_train, opts);     % 建立模型
dbn = dbntrain(dbn, p_train, opts);     % 训练模型
————————————————
版权声明本文为CSDN博主机器学习之心」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接https://blog.csdn.net/kjm13182345320/article/details/131174983

参考资料

[1] https://blog.csdn.net/kjm13182345320/article/details/129036772?spm=1001.2014.3001.5502
[2] https://blog.csdn.net/kjm13182345320/article/details/128690229

原文地址:https://blog.csdn.net/kjm13182345320/article/details/134565808

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_17315.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注