李航《统计学习方法》第三章k近邻python实现(CIFAR10数据集)

Updated on in 李航《统计学习》python with 0 views and 0 comments

KNN简述

k近邻法简单、直观,顾名思义即是对输入新样本在训练集中寻找k个特征最相似的样本,再根据这k个样本的标签通过多数表决等方式来预测新样本的类别。因此,k近邻不具有显示的学习过程。k近邻每次预测都需要在整个训练集查找k个最近样本,实现查找最简单的方法是线性扫描,书中还讲述了一种相对高效的实现方法kd树能够使查找实现在$O(logn)$时间量级,但由于时间限制本文只采取最简单的线性扫描。k值的选择、距离度量及分类决策规则是k近邻法的三要素。

代码链接:https://github.com/923012373/lihang_statistic_learning

数据集介绍

CIFAR10数据集,由10个类的60000个32*32三通道图片组成,每个类有6000张图像,有50000个训练样本和10000个测试样本。

实验部分

取k值为1,距离度量为$L_1$距离,训练集测试集各10000,最后测试正确率为21.7%,这比随机10%的效果要好了。

image.png


标题:李航《统计学习方法》第三章k近邻python实现(CIFAR10数据集)
作者:hailangjiang
地址:https://www.hailangjiang.top/articles/2020/03/31/1585663687133.html