今天小編給大家分享一下matlab如何實現二元支持向量機查找多類邊界的相關知識點,內容詳細,邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。
創新互聯建站致力于網站建設,網站制作設計,營銷網頁按需規劃網站,外貿網站制作,企業網站建設,小程序定制開發,網站SEO優化,網站設計制作案例豐富,是成都做網站公司和建站公司,歡迎咨詢。
%% 加載鳶尾花數據集
% 使用花瓣的長度和寬度
load fisheriris
X = meas(:,3:4);
Y = species;
%% 數據的散點圖
figure
gscatter(X(:,1),X(:,2),Y);
h = gca;
lims = [h.XLim h.YLim];
title('{\bf Scatter Diagram of Iris Measurements}');
xlabel('Petal Length (cm)');
ylabel('Petal Width (cm)');
legend('Location','Northwest');
% 有三個類,其中之一是線性可分離的
%%
% 對每一類進行一下操作:
% 創建一個邏輯向量表示是否為這個類的一員
% 使用處理好的數據和邏輯向量訓練SVM分類器
% 將分類器存儲在cell數組中
% 預先定義類別順序是比較好的做法
SVMModels = cell(3,1);
classes = unique(Y);
rng(1);
for j = 1:numel(classes)
indx = strcmp(Y,classes(j));
% 為每一類別創建二元分類器
SVMModels{j} = fitcsvm(X,indx,'ClassNames',[false true],'Standardize',true,...
'KernelFunction','rbf','BoxConstraint',1);
end
%%
% |SVMModels|是一個3X1的cell數組
% 每個cell是一個分類器
% 每個分類器的正值就是setosa,versicolor和virginica
%% 將訓練數據的分布坐標劃分為網格,并視為新的觀測
% 使用每個分類器估計新觀測的得分
d = 0.02;
[x1Grid,x2Grid] = meshgrid(min(X(:,1)):d:max(X(:,1)),...
min(X(:,2)):d:max(X(:,2)));
xGrid = [x1Grid(:),x2Grid(:)];
N = size(xGrid,1);
Scores = zeros(N,numel(classes));
for j = 1:numel(classes)
[~,score] = predict(SVMModels{j},xGrid);
Scores(:,j) = score(:,2);
% 第二列包含正值類別得分
end
%% 每一行的得分都有三個,最大的就是這一行對應的類別
[~,maxScore] = max(Scores,[],2);
%% 將每一個類別對應的網格在圖中顯示出來
figure
h(1:3) = gscatter(xGrid(:,1),xGrid(:,2),maxScore,...
[0.1 0.5 0.5; 0.5 0.1 0.5; 0.5 0.5 0.1]);
hold on
h(4:6) = gscatter(X(:,1),X(:,2),Y);
title('{\bf Iris Classification Regions}');
xlabel('Petal Length (cm)');
ylabel('Petal Width (cm)');
legend(h,{'setosa region','versicolor region','virginica region',...
'observed setosa','observed versicolor','observed virginica'},...
'Location','Northwest');
axis tight
hold off
以上就是“matlab如何實現二元支持向量機查找多類邊界”這篇文章的所有內容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學習更多的知識,請關注創新互聯行業資訊頻道。
分享題目:matlab如何實現二元支持向量機查找多類邊界
網頁網址:http://www.2m8n56k.cn/article20/poocjo.html
成都網站建設公司_創新互聯,為您提供App設計、微信小程序、云服務器、品牌網站制作、、網站制作
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:[email protected]。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯