【SVM分類】基于松鼠算法優(yōu)化支持向量機(jī)實(shí)現(xiàn)數(shù)據(jù)分類附matlab代碼
1 簡介
支持向量機(jī)是利用已知數(shù)據(jù)類別的樣本為訓(xùn)練樣本,尋找同類數(shù)據(jù)的空間聚集特征,從而對測試樣本進(jìn)行分類驗(yàn)證,通過驗(yàn)證可將分類錯誤的數(shù)據(jù)進(jìn)行更正。本文以體檢數(shù)據(jù)為數(shù)據(jù)背景,首先通過利用因子分析將高維數(shù)據(jù)進(jìn)行降維,由此將所有指標(biāo)整合成幾個綜合性指標(biāo);為降低指標(biāo)之間的衡量標(biāo)準(zhǔn)所引起的誤差,本文利用 MATLAB軟件將數(shù)據(jù)進(jìn)行歸一化處理,結(jié)合聚類分析將數(shù)據(jù)分類;最后本文利用最小二乘支持向量機(jī)分類算法進(jìn)行分類驗(yàn)證,從而計算出數(shù)據(jù)分類的準(zhǔn)確率,并驗(yàn)證了數(shù)據(jù)分類的準(zhǔn)確性和合理性。


2 部分代碼
%% SVM_Objective Function
function f=objfun_svm(cv,train_wine_labels,train_wine,test_wine_labels,test_wine)
% cv為長度為2的橫向量,即SVM中參數(shù)c和v的值
cmd = [' -c ',num2str(cv(1)),' -g ',num2str(cv(2))];
model=svmtrain(train_wine_labels,train_wine,cmd); % SVM模型訓(xùn)練
[~,fitness]=svmpredict(test_wine_labels,test_wine,model); % SVM模型預(yù)測及其精度
f=1-fitness(1)/100; % 以分類預(yù)測錯誤率作為優(yōu)化的目標(biāo)函數(shù)值
3 仿真結(jié)果

4 參考文獻(xiàn)
[1]張燁, 黃偉. 基于天牛群算法優(yōu)化SVM的磨煤機(jī)故障診斷.?
博主簡介:擅長智能優(yōu)化算法、神經(jīng)網(wǎng)絡(luò)預(yù)測、信號處理、元胞自動機(jī)、圖像處理、路徑規(guī)劃、無人機(jī)等多種領(lǐng)域的Matlab仿真,相關(guān)matlab代碼問題可私信交流。
部分理論引用網(wǎng)絡(luò)文獻(xiàn),若有侵權(quán)聯(lián)系博主刪除。
