机械学习KNN算法

一,KNN算法简介

KNN(K-Nearest Neighbor)即K邻近法,是机器学习算法中最基础、最简单的算法之一。它既能用于分类,也能用于回归。KNN通过测量不同特征值之间的距离来进行分类,用老话说:“人以群分,物以类聚”。KNN 算法是有监督学习中的分类算法,它看起来和另一个机器学习算法 K-means 有点像(K-means 是无监督学习算法),但却是有本质区别的。

二,KNN算法思想流程

1》,分类流程

1.计算未知样本到每一个训练样本的距离

2.将训练样本根据距离大小升序排列

3.取出距离最近的K个训练样本

4.进行多数表决,统计K个样本中哪个类别的样本个数最多

5.将未知的样本归属到出现次数最多的类别

2》,回归流程

1.计算未知样本到每一个训练样本的距离

2.将训练样本根据距离大小升序排列

3.取出距离最近的K个训练样本

4.把这个K个样本的目标值计算其平均值

5.作为将未知的样本预测的值

3》,K值的选择

K值过小:用较小邻域中的训练实例进行预测容易受到异常点的影响K值的减小就意味着整体模型变得复杂,容易发生过拟合•

K值过大:用较大邻域中的训练实例进行预测受到样本均衡的问题且K值的增大就意味着整体的模型变得简单,欠拟合

三,KNN的算法代码实现

1 导入必要的库和数据集

首先,我们需要导入一些必要的库和数据集。scikit-learn 库提供了许多机器学习算法的实现,包括 KNN。

2 数据集的划分

我们将使用 scikit-learn 库中的鸢尾花数据集。这个数据集包含了 150 个样本,每个样本有 4 个特征,分别是花萼长度、花萼宽度、花瓣长度和花瓣宽度。数据集中的每个样本都属于三个类别之一:Setosa、Versicolor 和 Virginica。

3 计算距离

KNN 算法的核心是计算样本之间的距离。常用的距离度量方法有欧氏距离、曼哈顿距离等。在这里,我们将使用默认的欧氏距离。

4 找出最近的 K 个近邻

在 KNN 算法中,我们需要找出与待预测样本最近的 K 个邻居。我们可以通过计算待预测样本与所有训练样本之间的距离,并选择最近的 K 个邻居

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值