91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

算法1-KNN算法及其matlab實現是怎樣的

發布時間:2021-11-15 15:31:11 來源:億速云 閱讀:209 作者:柒染 欄目:大數據

算法1-KNN算法及其matlab實現是怎樣的,相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。

一、算法概述

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


計算步驟如下:

1)算距離:給定測試對象,計算它與訓練集中的每個對象的距離

2)找鄰居:圈定距離最近的k個訓練對象,作為測試對象的近鄰

3)做分類:根據這k個近鄰歸屬的主要類別,來對測試對象分類

2、距離或相似度的衡量

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

3、類別的判定

投票決定:少數服從多數,近鄰中哪個類別的點最多就分為該類。

加權投票法:根據距離的遠近,對近鄰的投票進行加權,距離越近則權重越大(權重為距離平方的倒數)


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);%計算訓練數據集與測試數據之間的歐氏距離distdist=zeros(N,1);for i=1:N    dist(i,:)=norm(trainData(i,:)-testData);end%將dist從小到大進行排序[Y,I]=sort(dist,1);%將訓練數據對應的類別與訓練數據排序結果對應trainClass=trainClass(I);%確定前K個點所在類別的出現頻率classNum=length(unique(trainClass));%取集合中的單值元素的個數labels=zeros(1,classNum);for i=1:K    j=trainClass(i);    labels(j)=labels(j)+1;end%返回前K個點中出現頻率最高的類別作為測試數據的預測分類[~,idx]=max(labels);fprintf('該測試數據屬于類 %d\n',idx);
%% f方法二更簡單labels=trainClass;idx=mode(labels(1:K));%mode函數求眾數fprintf('該測試數據屬于類 %d  ',idx);

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

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

北票市| 安图县| 孙吴县| 荆门市| 莱西市| 福鼎市| 宜川县| 抚顺市| 怀集县| 买车| 天长市| 五华县| 新竹市| 铜山县| 仲巴县| 辉南县| 临澧县| 乐至县| 阿坝| 石林| 繁峙县| 偏关县| 林西县| 泗阳县| 垣曲县| 南开区| 普兰县| 台江县| 礼泉县| 荣成市| 图们市| 辽宁省| 永德县| 湖州市| 黄陵县| 永康市| 陆良县| 崇明县| 上思县| 广西| 新沂市|