KNN(最近邻算法)

最近邻算法(k-NearestNeighbor),简称KNN算法。

KNN算法主要分两类,一类是KNeighborsClassifier,一类是KNeighborRegressor。分别进行分类和回归运算。

算法的基本思想:

KNN算法的基本思想可以概括为几步,包括:

1,计算目标点(或分类点)与每一个样本点之间的距离,并将这些距离计算值从小到大进行排序。选出距离该目标点最近的K个样本点。

2,如果是分类问题,则统计这K个样本点中数量最多的类别是哪一类,则将目标点归于这一点,进而完成工作。

3,如果是回归问题,往往预测的是某种属性的值。则统计这K个样本点的该属性值,并对其求平均值。后将平均值赋予为目标点的属性取值,进而完成工作。
在这里插入图片描述

基于sklearn实现KNN(基于iris数据)

在这里我们使用一个叫作鸢尾花数据集的数据,这个数据集里面有 150 条数据,共有 3 个类别,即 Setosa 鸢尾花、Versicolour 鸢尾花和 Virginica 鸢尾花,每个类别有 50 条数据,每条数据有 4 个维 度,分别记录了鸢尾花的花萼长度、花萼宽度、花瓣长度和花瓣宽度。

鸢尾花数据集最初由Edgar Anderson 测量得到,而后在著名的统计学家和生物学家R.A Fisher于1936年发表的文章「The use of multiple measurements in taxonomic problems」中被使用,用其作为线性判别分析(Linear Discriminant Analysis)的一个例子,证明分类的统计方法,从此而被众人所知,尤其是在机器学习这个领域。

from sklearn import datasets         #sklearn的数据集
from sklearn.neighbors import KNeighborsClassifier     #sklearn模块的KNN类
import numpy as np
np.random.seed(0)

iris = datasets.load_iris()
x = iris.data
y = iris.target
print(x,y)

ata
y = iris.target
print(x,y)


![在这里插入图片描述](https://img-blog.csdnimg.cn/f98147ed33fc4ccbb4ba49675b685ab2.png#pic_center)

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值