摘要:
介绍了K近邻算法,记录了MindSporeAI框架使用部分wine数据集进行KNN实验的步聚和方法。包括环境准备、下载红酒数据集、加载数据和预处理、搭建模型、进行预测等。
一、KNN概念
1. K近邻算法K-Nearest-Neighbor(KNN)
用于分类和回归的非参数统计方法
Cover、Hart于1968年提出
机器学习最基础的算法之一。
确定样本类别
计算样本与所有训练样本的距离
找出最接近的k个样本
统计样本类别
投票
结果就是票数最多的类。
三个基本要素:
K值,样本分类由K个邻居的“多数表决”确定
K值太小容易产生噪声
K值太大类别界限模糊
距离度量,特征空间中两个样本间的相似度
距离越小越相似
Lp距离(p=2时,即为欧式距离)
曼哈顿距离
海明距离
分类决策规则
多数表决
基于距离加权的多数表决(权值与距离成反比)
2.预测算法(分类)的流程
(1)找出距离目标样本x_test最近的k个训练样本,保存至集合N中;
(2)统计集合N中各类样本个数 Ci,i=1,2,3,...,c;
(3)最终分类结果为Ci最大的那个类(argmaxCi)。
k取值重要。
根据问题和数据特点来确定。
带权重的k近邻算法
每个样本有不同的投票权重
3.回归预测
回归预测输出为所有邻居的标签均值:
yi为k个目标邻居样本的标签值
带样本权重的回归预测函数: