直接放代码

import random

import numpy as np

#设置k=3

k=3

def readyData():

#准备一个训练数组

group=np.array([[78,89,88],

[43,23,53],

[87,69,99],

[88,79,69],

[54,33,44],

[77,99,82]])

#并给上对应的标签

labels=['好成绩','差成绩','好成绩','好成绩','差成绩','好成绩']

return group,labels

def Classify_KNN(test,dataSet,labels,k):

#训练数组有多少行,shape[0]得到DataSet的行数

row_num=dataSet.shape[0]

#先将test数据变成一个跟dataSet同样多行的数组,再与dataSet相减

xiangjian=np.tile(test,(row_num,1))-dataSet

#相减后平方

pingfang=xiangjian**2

'''

关于numpy.sum的用法

https://0x9.me/8BUsa

c = np.array([[0, 2, 1], [3, 5, 6], [0, 1, 1]])

print c.sum()

print c.sum(axis=0)

print c.sum(axis=1)

结果分别是:19, [3 8 8], [ 3 14 2]

axis=0, 表示列。

axis=1, 表示行。

'''

#平方相加

row_sum=pingfang.sum(axis=1)

#再开方

distances=row_sum**0.5

# argsort()将距离从小到大排序,并得到之前所在的index

sortDistance=distances.argsort()

# 定一个记录类别次数的字典

countClass={}

for i in range(k):

test_label=labels[sortDistance[i]]

countClass[test_label]=countClass.get(test_label,0)+1

sortCountClass=sorted(countClass,key=lambda x:[2],reverse=True)

return sortCountClass[0]

if __name__=='__main__':

group,labels=readyData()

testData=[]

for i in range(10):

Chinese=random.random()*100

Math=random.random()*100

English=random.random()*100

tem=[Chinese,Math,English]

testData.append(tem)

for test in testData:

print(test)

result=Classify_KNN(test,group,labels,k)

print(result)

参考资料:https://www.cnblogs.com/yyxf1413/p/6253995.html

knn的python代码_详细的的KNN代码——python实现相关推荐

  1. python手机充值代码_不用框架,原生使用python做注册接口/登陆接口/充值接口的测试,做的数据/代码分离...

    注意充值时候,cookie的处理方法,还是原来的三种方法 1.操作数据文件  do_exclel.py # -*- conding:utr-8 -*- #@Time :2018/11/8 22:46 ...

  2. python 偏函数_详细介绍Python中的偏函数

    机器学习实战之Logistic回归 本文来自云栖社区官方钉群"Python技术进阶",了解相关信息可以关注"Python技术进阶". 本系列教程特点: 基于&l ...

  3. python博弈论代码_使用 40 多行的 Python 代码实现一个简单的演化过程

    Python部落(python.freelycode.com)组织翻译,禁止转载,欢迎转发. 在纳米比亚的 PyCon 会议上,我发表了一篇名为 <使用 Python 解决"升级版的剪 ...

  4. python测验5 函数和代码_测验5: 函数和代码复用 (第5周)-单选题

    1.以下选项不是函数作用的是:‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬ A. 提 ...

  5. html打印代码_惊呆了,我的 Python 代码里面出现了薛定谔的 Bug

    IT服务圈儿 有温度.有态度的IT自媒体平台 本文经公众号:未闻Code(ID:itskingname) 授权转载 作者:kingname GNE: 新闻网页正文通用抽取器[1]更新了0.2.1版本, ...

  6. python第一行代码_“少年py”001:下载Python软件,写第一行代码

    Python,网络上称之为人工智能时代的第一编程语言. 功能超级强大,能做科学计算.大数据处理.网络爬虫.游戏开发等等. 但是说实话,彬哥玩Python还没到这么厉害的程度,究竟怎么实现,我们不着急, ...

  7. js如何运行python代码_手把手教你如何使用Python执行js代码

    前言 各位小伙伴,大家好,这次咱们来说一下关于爬虫方向的一个知识,Python如何执行js,快来看看吧!!! 为什么要引出Python执行js这个问题? 都说术业有专攻,每个语言也都有自己的长处和短处 ...

  8. python3经典小程序代码_一个可以套路别人的python小程序实例代码

    python可以开发什么?谁有python小程序的源代码,...桌面程序,web都可以,还有比如现在讲的多的人工智能,神经网络源码可以去找一些开源代码,搜索一下,蛮多的. 分享python小程序代码练 ...

  9. 浪漫的python代码_七夕,最浪漫的Python代码送给陷入爱河的Python男同胞

    七夕,最浪漫的Python代码送给陷入爱河的Python男同胞 image.gif ​ 三句话情书,我们听过.如何用python写一段浪漫的代码?可以是简短有韵味的情书式, 也欢迎冗长而效果拔群的万行 ...

最新文章

  1. 【POJ】【2449】Remmarguts' Date
  2. C++末尾匹配(C与C++解决)
  3. 推荐 GitHub 2K+ 星:前端监控工具 - webfunny 项目
  4. JDBC常用API小结
  5. 1017. A除以B (20)
  6. 用汇编的眼光看c++(之模板函数)
  7. centos7修改主机名hostname
  8. 一行代码迁移TensorFlow 1.x到TensorFlow 2.0
  9. c语言各种头文件函数解释,c语言头文件及其函数
  10. 目标检测(二):OverFeat
  11. 为什么重复率高的字段不适合作为索引
  12. 透视宝移动端对Unity手机游戏引擎监控实现 1
  13. [2020.1.10]systemd介绍
  14. 在Android中调用浏览器打开网页方式
  15. 医院html完整页面设计代码,医院HTML5模板
  16. C/C++ 如何构造出强悍的宏
  17. J2SE-Java基础
  18. VM15安装MacOS10.15.1系统
  19. Java实现字符串加密与解密
  20. dvajs项目要部署到服务器上,dvaJs使用注意事項

热门文章

  1. Java设计模式学习总结(15)——行为型模式之责任链模式
  2. python数据库操作封装_Python 封装一个操作mysql的类
  3. Windows平台下tomcat+java的web程序持续占cpu问题调试
  4. android开发之调皮的权限
  5. 王栋: 要做好推荐,只有技术是不够的
  6. 精品资源:40个实用的 PSD 贴纸模板《下篇》
  7. CakePHP中文手册【翻译】
  8. Oracle树反向查询的优化(转载)
  9. 面试官问你如何解决web高并发这样回答就好了
  10. CASE WHEN 小结