分类预测 | 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进行投诉反馈,一经查实,立即删除!
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。