关于原理介绍,有一篇博文就写的不错,给大家引荐一下:https://blog.csdn.net/weixin_45014385/article/details/123618841
主函数
clc;clear;close all;
% 单点分类预测
Train_Data = [1.0,2.0;1.2,0.1;0.1,1.4;0.3,3.5];
Train_Label = [1,1,2,2];
test_data = [0.5,2.3];% 方法1
k1=knnclassify(test_data,Train_Data,Train_Label,3,'euclidean','random');% matlab内部函数
% 方法2
k2 = FUNKNN(Train_Data,Train_Label,test_data,3);
FUNKNN
function [ idx ] = FUNKNN( trainData,trainClass,testData,K )% UNTITLED Summary of this function goes here% Detailed explanation goes here[N,M]=size(trainData);% 计算训练数据集与测试数据之间的欧氏距离distdist=zeros(N,1);for i=1:Ndist(i,:)=norm(trainData(i,:)-testData);end% 将dist从小到大进行排序[Y,I]=sort(dist,1);K=min(K,length(Y));%将训练数据对应的类别与训练数据排序结果对应labels=trainClass(I);%确定前K个点所在类别的出现频率idx=mode(labels(1:K));%mode函数求众数fprintf('该测试数据属于类 %d ',idx);
end
上一篇:才播5集,就夺下榜单第一,3月份最期待的古装黑马剧开播就爆了 才播5集,就夺下榜单第一,3月份最期待的古装黑马剧开播就爆了
下一篇:ChatGPT每天消耗超过50万度电力,AI大模型有多耗能?|钛度图闻 ChatGPT每天消耗超过50万度电力,AI大模型有多耗能?|钛度图闻