knn算法原理以及python实现_KNN算法的理解以及Python实现

1.KNN算法的个人理解

个人感觉KNN算法(K-NearestNeighbor)一种极其简单粗暴的分类方法,举一个例子,比如说你想知道一个人是不是喜欢打游戏,就可以观察他最亲密的几个朋友是不是都喜欢打游戏,如果大多数都喜欢打游戏,可以推测这个人也喜欢打游戏。KNN就是基于这种有点“物以类聚,人以群分”的简单粗暴的想法来进行分类的。

2.KNN核心思想

在给定一个训练数据集,再给定一个需要作出预测的数据,然后再在训练数据集中寻找k(这个就是KNN的K的由来)个与待预测数据最近(通常我们可以取欧氏距离作为距离的度量)的数据。最后选取k个数据中出现最多的分类作为待预测数据的分类。

欧氏距离:

60f760465302fee3840afcabcf75ea26.png

3.KNN的实现代码

def KNN(inpudata,data_matrix,label_matrix,k):

'''

:param inpudata: 待预测的数据

:param data_matrix: 数据集

:param label_matrix: 数据集的标签

:param k: 寻找的近邻数

:return: 分类的结果

'''

datalen=data_matrix.shape[0]

inpudata=np.tile(inpudata,(datalen,1))#海伦约会的例子将数据变成(datalen,3)

sub&#

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值