亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

算法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

当涂县| 轮台县| 永济市| 东阿县| 石门县| 金塔县| 高邑县| 萨迦县| 两当县| 年辖:市辖区| 华坪县| 贵州省| 成武县| 拜城县| 石渠县| 友谊县| 梅河口市| 红河县| 神池县| 奇台县| 木兰县| 尤溪县| 英德市| 汉源县| 五寨县| 罗源县| 淄博市| 广元市| 广西| 西丰县| 泰来县| 正镶白旗| 图们市| 大庆市| 靖江市| 天津市| 成都市| 乐安县| 都兰县| 钟祥市| 务川|