目录:
1、案列背景
2、特征数据
3、k-近邻算法阐释及一般流程
4、算法步骤及代码实现
5、算法结果
代码下载地址:https://download.csdn.net/download/xdg2008/14034356
1、案列背景:
杜紫藤女士, 一直在某婚恋网站上寻找自己中意的他, 网站给她推荐了很多男士, 但是她并不是每个都喜欢, 网站统计了这些男士的情况,
这些男士可以划分为如下几类:
(1)不喜欢的人(didntLike)
(2)魅力一般的人(smallDoses)
(3)极具魅力的人(largeDoses)
2.特征数据:
杜紫藤女士收集了一些样本数据,她把样本数据存放在datingTestSet.txt文本文件中,每个样本数据占据一行,总共有1000行。
这些样本数据主要有以下3个特征:
(1)每年获得的飞行常客里程数
(2)玩视频游戏所消耗的时间百分比
(3)每周消费的冰淇淋公升数
3.k-近邻算法讲解及一般流程:
3.1 基本概念
k近邻法(k-nearest neighbor, k-NN)是1967年由Cover T和Hart P提出的一种基本分类与回归方法
K-近邻(KNN)算法的工作原理:这是一种通过测量不同特征值之间的距离,从而进行分类的一种算法,是一种有监督的分类算法,存在一个训练样本集,并且该样本集中每个数据都存在标签,即标出每一数据集的分类标签,在接收到没有标签的新数据后,将新数据的每个特征与样本集中数据对应的特征进行比较,然后利用该算法计算出与该特征数据的距离(一般欧式距离),距离相近的一些数据一般分类也相似,由于只选择训练样本集中前k个最相似的数据(k一般小于20),这K个数据由小到大排序,统计这k个最相似数据中分类标签的次数(频率),分类标签频率最多的分类,即为新数据的分类。

本文介绍了K近邻(KNN)算法,包括算法的基本概念、工作原理、K值选择、距离度量、分类决策规则以及算法优缺点。以杜紫藤女士在婚恋网站的数据为例,详细讲解了数据特征、算法流程,并提供了数据处理和归一化的代码示例。通过Matplotlib绘制二维扩散图帮助理解数据分布。最后,展示了算法的Python实现以及测试结果,错误率仅为0.05。

2348

被折叠的 条评论
为什么被折叠?



