您好,登錄后才能下訂單哦!
這篇文章主要介紹“Java如何實(shí)現(xiàn)一類支持向量機(jī)”的相關(guān)知識(shí),小編通過(guò)實(shí)際案例向大家展示操作過(guò)程,操作方法簡(jiǎn)單快捷,實(shí)用性強(qiáng),希望這篇“Java如何實(shí)現(xiàn)一類支持向量機(jī)”文章能幫助大家解決問(wèn)題。
通常一類問(wèn)題出現(xiàn)在需要對(duì)訓(xùn)練樣本進(jìn)行一定比例的篩選,或者已知的訓(xùn)練樣本都是正樣本,而負(fù)樣本卻很少的情況。
這種情況下,往往需要訓(xùn)練一個(gè)對(duì)于訓(xùn)練樣本緊湊的分類邊界,就可以通過(guò)負(fù)樣本實(shí)驗(yàn)。一個(gè)簡(jiǎn)單的實(shí)際例子是:一個(gè)工廠對(duì)于產(chǎn)品的合格性進(jìn)行檢查時(shí),往往所知道是合格產(chǎn)品的參數(shù),而不合格的產(chǎn)品的參數(shù)要么空間比較大,要么知道的很少。這種情況下就可以通過(guò)已知的合格產(chǎn)品參數(shù)來(lái)訓(xùn)練一個(gè)一類分類器,得到一個(gè)緊湊的分類邊界,超出這個(gè)邊界就認(rèn)為是不合格產(chǎn)品。
%% 加載“鳶尾花”數(shù)據(jù)集
% 刪除花瓣的長(zhǎng)度和寬度
% 將所有的鳶尾花視為同一類
load fisheriris
X = meas(:,1:2);
y = ones(size(X,1),1);
%% 使用處理后的數(shù)據(jù)集訓(xùn)練SVM分類器
% 假設(shè)5%的觀測(cè)值是異常值
rng(1);
SVMModel = fitcsvm(X,y,'KernelScale','auto','Standardize',true,...
'OutlierFraction',0.05);
% SVMModel模型是一個(gè)訓(xùn)練好的分類器
% 默認(rèn)情況下,軟件使用高斯內(nèi)核的一類學(xué)習(xí)
%% 繪制觀測(cè)和檢測(cè)邊界,標(biāo)記支持向量和可能離群值
svInd = SVMModel.IsSupportVector;
h = 0.02; % 網(wǎng)格步長(zhǎng)
[X1,X2] = meshgrid(min(X(:,1)):h:max(X(:,1)),...
min(X(:,2)):h:max(X(:,2)));
[~,score] = predict(SVMModel,[X1(:),X2(:)]);
scoreGrid = reshape(score,size(X1,1),size(X2,2));
figure
plot(X(:,1),X(:,2),'k.')
hold on
plot(X(svInd,1),X(svInd,2),'ro','MarkerSize',10)
contour(X1,X2,scoreGrid)
colorbar;
title('{\bf Iris Outlier Detection via One-Class SVM}')
xlabel('Sepal Length (cm)')
ylabel('Sepal Width (cm)')
legend('Observation','Support Vector')
hold off
% 圖中離群值和其他數(shù)據(jù)以0為分界線
%% 交叉驗(yàn)證數(shù)據(jù)中負(fù)分?jǐn)?shù)的觀測(cè)值比例接近5%
CVSVMModel = crossval(SVMModel);
[~,scorePred] = kfoldPredict(CVSVMModel);
outlierRate = mean(scorePred<0);
disp(outlierRate)
關(guān)于“Java如何實(shí)現(xiàn)一類支持向量機(jī)”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí),可以關(guān)注億速云行業(yè)資訊頻道,小編每天都會(huì)為大家更新不同的知識(shí)點(diǎn)。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。