溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

算法1-KNN算法及其matlab實(shí)現(xiàn)是怎樣的

發(fā)布時(shí)間:2021-11-15 15:31:11 來(lái)源:億速云 閱讀:208 作者:柒染 欄目:大數(shù)據(jù)

算法1-KNN算法及其matlab實(shí)現(xiàn)是怎樣的,相信很多沒(méi)有經(jīng)驗(yàn)的人對(duì)此束手無(wú)策,為此本文總結(jié)了問(wèn)題出現(xiàn)的原因和解決方法,通過(guò)這篇文章希望你能解決這個(gè)問(wèn)題。

一、算法概述

1、kNN算法又稱為k近鄰分類(k-nearest neighbor classification)算法。kNN算法則是從訓(xùn)練集中找到和新數(shù)據(jù)最接近的k條記錄,然后根據(jù)他們的主要分類來(lái)決定新數(shù)據(jù)的類別。該算法涉及3個(gè)主要因素:訓(xùn)練集、距離或相似的衡量、k的大小。


計(jì)算步驟如下:

1)算距離:給定測(cè)試對(duì)象,計(jì)算它與訓(xùn)練集中的每個(gè)對(duì)象的距離

2)找鄰居:圈定距離最近的k個(gè)訓(xùn)練對(duì)象,作為測(cè)試對(duì)象的近鄰

3)做分類:根據(jù)這k個(gè)近鄰歸屬的主要類別,來(lái)對(duì)測(cè)試對(duì)象分類

2、距離或相似度的衡量

什么是合適的距離衡量?距離越近應(yīng)該意味著這兩個(gè)點(diǎn)屬于一個(gè)分類的可能性越大。距離衡量包括歐式距離、夾角余弦等。

3、類別的判定

投票決定:少數(shù)服從多數(shù),近鄰中哪個(gè)類別的點(diǎn)最多就分為該類。

加權(quán)投票法:根據(jù)距離的遠(yuǎn)近,對(duì)近鄰的投票進(jìn)行加權(quán),距離越近則權(quán)重越大(權(quán)重為距離平方的倒數(shù))


clear;clc;K=3;trainData = [1.0,2.0;    1.2,0.1;    0.1,1.4;    0.3,3.5];trainClass = [1,1,2,2];testData = [0.5,2.3];
[N,M]=size(trainData);%計(jì)算訓(xùn)練數(shù)據(jù)集與測(cè)試數(shù)據(jù)之間的歐氏距離distdist=zeros(N,1);for i=1:N    dist(i,:)=norm(trainData(i,:)-testData);end%將dist從小到大進(jìn)行排序[Y,I]=sort(dist,1);%將訓(xùn)練數(shù)據(jù)對(duì)應(yīng)的類別與訓(xùn)練數(shù)據(jù)排序結(jié)果對(duì)應(yīng)trainClass=trainClass(I);%確定前K個(gè)點(diǎn)所在類別的出現(xiàn)頻率classNum=length(unique(trainClass));%取集合中的單值元素的個(gè)數(shù)labels=zeros(1,classNum);for i=1:K    j=trainClass(i);    labels(j)=labels(j)+1;end%返回前K個(gè)點(diǎn)中出現(xiàn)頻率最高的類別作為測(cè)試數(shù)據(jù)的預(yù)測(cè)分類[~,idx]=max(labels);fprintf('該測(cè)試數(shù)據(jù)屬于類 %d\n',idx);
%% f方法二更簡(jiǎn)單labels=trainClass;idx=mode(labels(1:K));%mode函數(shù)求眾數(shù)fprintf('該測(cè)試數(shù)據(jù)屬于類 %d  ',idx);

看完上述內(nèi)容,你們掌握算法1-KNN算法及其matlab實(shí)現(xiàn)是怎樣的的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!

向AI問(wèn)一下細(xì)節(jié)

免責(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)容。

AI