分類預測 | Matlab實現基于DBN-SVM深度置信網絡-支持向量機的數據分類預測
目錄
- 分類預測 | Matlab實現基于DBN-SVM深度置信網絡-支持向量機的數據分類預測
- 分類效果
- 基本描述
- 程序設計
- 參考資料
分類效果
基本描述
1.利用DBN進行特征提取,將提取后的特征放入SVM進行分類實現組合預測。圖很多,包括混淆矩陣圖、預測效果圖, DBN是深度置信網絡,相比于CNN更為新穎。
2.多特征輸入單輸出的二分類及多分類模型。程序內注釋詳細,直接替換數據就可以用。
3.程序語言為matlab,程序可出分類效果圖,混淆矩陣圖,運行環境matlab2018b及以上。
4.代碼特點:參數化編程、參數可方便更改、代碼編程思路清晰、注釋明細。
5.data為數據集,輸入12個特征,分四類;main為主程序,其余為函數文件,無需運行,可在下載區獲取數據和程序內容。
程序設計
- 完整程序和數據獲取方式:私信博主回復Matlab實現基于DBN-SVM深度置信網絡-支持向量機的數據分類預測。
%-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
%% 數據轉置
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