机器学习之----K近邻算法(KNN)

K近邻算法(KNN,k-NearestNeighbor)

k近邻算法是机器学习中的最基础的算法之一,也是必须会讲解的算法之一。因为其简单,易懂。但是K近邻算法在实际应用中却很少使用到,由于其局限性很强,运行效率低下。

那么所谓的K近邻中的近邻是指:已有一个训练数据集,现给定一个新的数据,利用现有数据集对其进行预测,那么预测方法便是寻找与给定数据距离最近的K个点。那么从这K个点当中对不同的数据个数进行统计,新数据的预测结果就是K个点当中数量最多的这个点对应的结果。

如图所示:取K的值为3,则寻找与给定点(红点)距离最近的k(3)个点,其中绿色点的数量(2)大于蓝色点的数量(1),所以预测该红点的结果应该和绿点对应的类型相一致。

根据机器学习的步骤,我们进行如下操作:

  1. 投入大量资料进行训练


#  加载数据(本例中使用开源数据库中的鸢尾花数据)
from sklearn.dataset import load_iris
import numpy as np

iris = load_iris()  #加载数据到iris

"""鸢尾花数据原始有四个特征,为了绘图方便,我们只使用其两个特征"""
X_train = np.array([iris.data[:,0],iris.data[:,1])
y_train = np.array(iris.target)

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值