资源简介

这份资源内含CIFAR数据集,MNIST手写数据集和KNN(机器学习)算法的MATLAB代码对这两个数据集进行训练,希望对大家有所帮助(由于文件太大,只能截取CIFAR的部分数据

资源截图

代码片段和文件信息

function [pclass_cnt]=KNN(train_datatrain_labeltest_datanum_classK)

%使用KNN算法预测结果
m=size(train_data1);%number of samples
n=size(train_data2);%number of features
m1=size(test_data1);%number of test samples

%计算测试数据与训练数据的欧氏距离
distance=zeros(m1m);
for i=1:m1
    for j=1:m
        for l=1:n
            distance(ij)=(test_data(il)-train_data(jl))^2+distance(ij);
        end
    end
    fprintf(‘\nFinished computing the %dth test sample distance\n‘i);
end
distance=sqrt(distance);


%找出每行最小的K个点


[~index]=sort(distance2);

class_cnt=zeros(m1num_class);
for l=1:m1
for i=1:num_class
    for j=1:K
        if(train_label(index(lj))==mod(inum_class))
            class_cnt(li)=class_cnt(li)+1;
        end
    end
end
end
fprintf(‘\nfinished computing the class_cnt matrix which shows the number of different classes in the neighbor\n‘);
[~p] = max( class_cnt[]2); % 求矩阵(X*all_theta‘)每行的最大值,p 记录矩阵每行的最大值的索引
p=mod(pnum_class);



 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2017-11-14 23:37  KNN\
     文件     4238592  2017-11-13 20:59  KNN\CIFAR-features.mat
     文件        1045  2017-11-12 20:18  KNN\KNN.m
     文件         854  2017-11-10 16:27  KNN\loadMNISTImages.m
     文件         533  2017-11-08 10:23  KNN\loadMNISTLabels.m
     文件     7840016  1998-01-26 23:07  KNN\t10k-images.idx3-ubyte
     文件       10008  1998-01-26 23:07  KNN\t10k-labels.idx1-ubyte
     文件         333  2017-11-14 23:37  KNN\test_KNN_CIFAR.m
     文件         515  2017-11-14 23:37  KNN\test_KNN_MNIST.m
     文件    47040016  1996-11-18 23:36  KNN\train-images.idx3-ubyte
     文件       60008  1996-11-18 23:36  KNN\train-labels.idx1-ubyte

评论

共有 条评论