博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
机器学习之--KNN算法简单实现
阅读量:5113 次
发布时间:2019-06-13

本文共 828 字,大约阅读时间需要 2 分钟。

# # kNN 分类算法a = np.array([[1,1],[1.2,1.5],[0.3,0.4],[0.2,0.5]])        #构造样本数据labels = ['A','A','B','B']# print(a.shape[0])                 # 行数  shape(1)表示列数diffMat = np.tile (np.array([[1.5,1.2]]),(a.shape[0],1)) - a        #tile(被重复数据,(重复几行,每行重复几次))#   diffMat# [[ 0.5  0.2]#  [ 0.3 -0.3]#  [ 1.2  0.8]#  [ 1.3  0.7]]a = diffMat ** 2#       a# [[0.25 0.04]#  [0.09 0.09]#  [1.44 0.64]#  [1.69 0.49]]distence = a.sum(axis=1)           # 1表示行  0表示列#       distence# [0.29 0.18 2.08 2.18]dis_sort = distence.argsort()#  dis_sort# [1 0 2 3]k = 3classcount = {}for i in range(0,len(dis_sort)):    if i>=k:        break    if dis_sort[i] <= k + 1:        classcount[labels[i]] = classcount.get(labels[i],0)+1        #                   classcount#                  {'A': 2, 'B': 1}

 

转载于:https://www.cnblogs.com/cxhzy/p/10599479.html

你可能感兴趣的文章
【转】 FPGA设计的四种常用思想与技巧
查看>>
EntityFrameWork 实现实体类和DBContext分离在不同类库
查看>>
新手算法学习之路----二叉树(在一个二叉查找树中插入一个节点)
查看>>
autopep8
查看>>
GIT在Linux上的安装和使用简介
查看>>
基于C#编程语言的Mysql常用操作
查看>>
s3c2440实验---定时器
查看>>
MyEclipse10安装SVN插件
查看>>
[转]: 视图和表的区别和联系
查看>>
Regular Experssion
查看>>
图论例题1——NOIP2015信息传递
查看>>
uCOS-II中的任务切换-图解多种任务调度时机与问题
查看>>
CocoaPods的安装和使用那些事(Xcode 7.2,iOS 9.2,Swift)
查看>>
Android 官方新手指导教程
查看>>
幸运转盘v1.0 【附视频】我的Android原创处女作,请支持!
查看>>
UseIIS
查看>>
集合体系
查看>>
vi命令提示:Terminal too wide
查看>>
引用 移植Linux到s3c2410上
查看>>
人与人之间的差距是从大学开始的
查看>>