机器学习 KNN算法_0_丐版_鸢尾花集分类(matlab实现)
生活随笔
收集整理的這篇文章主要介紹了
机器学习 KNN算法_0_丐版_鸢尾花集分类(matlab实现)
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
文章目錄
- 一、數(shù)據(jù)源
- 二、效果
- 三、代碼
- 1、mian
- 2、data_split
- 3、training
- 4、KNN
一、數(shù)據(jù)源
1、iris_dataset下載鏈接:
https://pan.baidu.com/s/1g9RkyN2TfQG0YjIhoNAC6g
提取碼:7tdx
2、KNN函數(shù)來(lái)源:鏈接
二、效果
三、代碼
1、mian
%% %數(shù)據(jù)導(dǎo)入 iris_data=csvread("iris_dataset.csv");%% %數(shù)據(jù)分割 nums_train=120; nums_test=30; Dimension=5; k=4; [training_set,testing_set]=data_split(iris_data, nums_train, nums_test);%% %模型驗(yàn)證 accuracy=training(training_set, testing_set, nums_test, Dimension, k); disp("The accurary is: "+accuracy);2、data_split
function [training,testing] = data_split(data,nums_train,nums_test) training=data(1:nums_train,:); testing=data(1:nums_test,:); end3、training
function [accuracy] = training(training, testing, nums_test, Dimension, k) accuracy=0; for i=1:nums_test[Neighbors, Classify]=KNN(training, testing(i,1:Dimension-1),k);if (testing(i, Dimension)==mode(Classify)) accuracy=accuracy+1;end end accuracy=accuracy/nums_test; end4、KNN
function [Neighbors, Classify] = KNN(A,B,k) 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)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 电影推荐_亲和性分析_规则提取(数据挖掘
- 下一篇: 运筹学_单纯形表法_0(matlab实现