机器学习 KNN算法_0 丐版(matlab实现)
生活随笔
收集整理的這篇文章主要介紹了
机器学习 KNN算法_0 丐版(matlab实现)
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
文章目錄
- 思路
- 效果
- 代碼
- mian
- knn
思路
1、計(jì)算已有數(shù)據(jù)集A中每個(gè)個(gè)體與新個(gè)體B的距離
2、根據(jù)距離由近到遠(yuǎn)排序
3、根據(jù)提供的k值返回距離B最近的k個(gè)個(gè)體編號(hào)與類別
效果
代碼
mian
A=[2 2 01.9 1.9 02.8 2.8 05 5 14 6 16 5 1]; B=[3 3]; k=3; [Neighbors, Classify] = KNN(A,B,k);knn
function [Neighbors, Classify] = KNN(A,B,k) %A:前nums-1列為屬性,最后一列為類別 %B:只有1行,nums-1列 %k:近鄰數(shù)量 %采用歐式距離 %Neighbors:距離最近的鄰居編號(hào) %Classify:距離最近的鄰居對(duì)應(yīng)的類別 size_A=size(A); Temp_A=A(:,1:size_A(2)-1); Dis_A_B=zeros(size_A(1),2); Dis_A_B(:,1)=1:size_A(1); Dis_A_B(:,2)=sqrt(sum((Temp_A-B).^2,2)); Sorted_Dis_A_B=sortrows(Dis_A_B,2); Neighbors=Sorted_Dis_A_B(1:k,1); Classify=A(Neighbors,size_A(2)); end總結(jié)
以上是生活随笔為你收集整理的机器学习 KNN算法_0 丐版(matlab实现)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 比赛结果预测_决策树_随机森林(通用 数
- 下一篇: Leetcode题库 119.杨辉三角(