14、k近邻和朴素贝叶斯分类算法详解

k近邻和朴素贝叶斯分类算法详解

1. 理解k近邻算法(k - NN)

k近邻算法(k - NN)通过距离来选择与待分类观测值最接近的用户定义数量的观测值(即邻居)。在k - NN中,任何属性(包括目标属性)都可以是分类属性或数值属性。在分类时,给定观测值的分类将通过邻居的多数投票来确定,即k个最接近观测值中最常见的类别。

例如,在一个简单的示例中,有灰色轮廓的圆圈属于两个类别值:实线灰线和虚线灰线。有一个填充的灰色圆圈,其类别未知。当k取不同值时,填充灰色圆圈的分类会发生变化:
- 当k = 1时,填充圆圈的类别将是虚线灰线类别,因为其唯一邻居属于该类别。
- 当k = 3时,填充圆圈将被分类为实线灰线类别,因为三个邻居中有两个属于该类别。
- 当k = 5时,填充圆圈将被分类为虚线灰线类别,因为五个邻居中有三个属于该类别。

邻居的确定基于距离度量。常见的距离度量包括欧几里得距离和曼哈顿距离:
- 欧几里得距离是两个观测值在每个属性上差值平方和的平方根,公式为:(此处省略公式,原文未给出具体公式形式)
- 曼哈顿距离是两个观测值在每个属性上绝对差值的总和,公式为:(此处省略公式,原文未给出具体公式形式)

在本文中,我们将使用最常见的欧几里得距离。

2. 使用R手动实现k - NN分类

我们将使用鸢尾花数据集(iris)来手动实现k - NN分类,并使用 knn() 函数验证我们的结果。具体步骤如下:
1. 计算每个观测值之间的欧几里得距离,并得到完整的距离矩阵:


                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值