KNN分类器入门案例

K最近邻(K-Nearest Neighbors,KNN)

加载CIFAR-10数据集

CIFAR-10, Canadian Institute for Advanced Research - 10, 是一个由加拿大高级研究院(Canadian Institute for Advanced Research)创建的图像分类数据集。它包含来自10个不同类别的60,000个32x32彩色图像,每个类别包含6,000个图像。

http://www.cs.toronto.edu/~kriz/cifar-10-python.tar.gz

将下载的cifar-10-python.tar.gz文件解压到:/CONTENT/cs231n/datasets/cifar-10-batches-py,其文件列表如图:

这里和下文的/CONTENT目录一律指代根目录,实际可以是任意目录名称,data_batch_*是训练数据集,test_batch是测试数据集

image-20231230223007059

  • 加载数据集

    测试:

  • 展示加载的数据集

    随机选取一部分,使用plot图表展示

    测试:

    image-20231230230249055

数据集二次采样

这里为了演示,从训练数据和测试数据分别抽取一部分样本,实际训练一般需要全部样本

测试

使用KNN分类器分类数据集

  • 测试使用循环和不使用循环的执行效率

    可以看到得到同样的结果,不使用循环能明显提高计算速度,这是因为numpy对张量(可以理解为np数组)计算进行了大量优化,对它们的操作尽量不要使用循环执行。

  • 测试不同k值对准确率的差异

    可以看到,随着k的不同,准确率随之出现差异,这说明KNN分类k的选择不同会直接影响最终的预测准确率。

 

我们非常希望这篇文章能为你提供所需的帮助。你的反馈和建议对我们来说都是宝贵的资源。如果你有任何想法或问题,别犹豫,请在下方评论区留言。同时,如果你觉得这篇文章有用,欢迎分享给你的朋友们。你的参与促使我们前行,期待与你一起学习和成长。

如果这篇文章对您有帮助,也可以赞赏博主喝杯茶~

6   说:

455766666

2024-04-30 16:11:23 引用

新手   说:

很有用,点赞👍

2024-04-04 02:24:08 引用

枫叶   说:

引用新手的发言:
很有用,点赞👍
KNN是最简单的分类器,可以学习

2024-04-04 02:26:44 引用

评论:

内容:

姓名(必填):

邮箱(必填):