分类预测 | Matlab实现基于DBN-SVM深度置信网络-支持向量机的数据分类预测
目录
分类效果
基本描述
1.利用DBN进行特征提取,将提取后的特征放入SVM进行分类实现组合预测。图很多,包括混淆矩阵图、预测效果图, DBN是深度置信网络,相比于CNN更为新颖。
2.多特征输入单输出的二分类及多分类模型。程序内注释详细,直接替换数据就可以用。
3.程序语言为matlab,程序可出分类效果图,混淆矩阵图,运行环境matlab2018b及以上。
4.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。
5.data为数据集,输入12个特征,分四类;main为主程序,其余为函数文件,无需运行,可在下载区获取数据和程序内容。
程序设计
- 完整程序和数据获取方式:私信博主回复Matlab实现基于DBN-SVM深度置信网络-支持向量机的数据分类预测。
clike
%-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
%% 数据转置
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