自己实现的简易的knn算法
2018-09-11 11:34
411 查看
程序代码:
import csv import random import operator import math import matplotlib.pyplot as plt #计算距离的函数 def getdistance(testIntance,trainInstance): length=len(testIntance) distance=0 # 这个循环只能取到数字 for i in range(length): testInstance1=float(testInstance[i]) trainInstance1=float(trainInstance[i]) distance+=(pow((testInstance1-trainInstance1),2)) # print(distance) return math.sqrt(distance) #读文件 with open(r'b.txt','rt') as f: lines=csv.reader(f) dataSet=list(lines) #测试点 testInstance=[5,5] distances=[] for i in range(len(dataSet)): dist=getdistance(testInstance,dataSet[i]) distances.append((dataSet[i],dist)) # 到这里的distances是带有坐标和各个点与待测点距离的列表了 # print(distances) # 这里采用寻找离他最近的4个样本,然后统计 # 排序操作 distances.sort(key=operator.itemgetter(1)) # 对排序后的前k个值进行种类统计na tj={} for i in range(5): result=distances[i][0][2] if result in tj: tj[result]+=1 else: tj[result]=1 print(tj) # 把字典中统计的结果拿来比较,去统计数大的作为结果 for key in tj: if tjresult==None: tjresult=key if tj[key]>tj[tjresult]: tjresult=key print(tjresult) print(tjresult)
数据样式:
相关文章推荐
- 分类算法系列1-----KNN(K近邻)算法思想和python实现
- Python实现knn算法手写数字识别
- KNN 的简易实现 笔记
- 利用KNN算法实现的一个demo
- 自己实现文本相似度算法(余弦定理)
- 机器学习经典算法详解及Python实现--K近邻(KNN)算法
- 数据挖掘-基于贝叶斯算法及KNN算法的newsgroup18828文本分类器的JAVA实现(下)
- 【AI算法】A星算法实现自己总结的步骤
- 实现简易字符串压缩算法:一个长度最大为128的字符串, 由字母a-z或者A-Z组成,将其中连续出现2次以上(含2次)的字母转换为字母和出现次数,以达到压缩目的
- 自己实现Android动画算法 之 平移动画算法 !!!!
- 自己动手实现zookeeper的FastLeaderELection选举算法和心跳同步
- 机器学习KNN算法原理及实现
- 【机器学习算法】之KNN算法的实现
- KNN算法思想与实现
- [置顶] KNN及其改进算法的python实现
- KNN算法例子(java,scala,python 代码实现)
- 利用HashMap,自己实现一个简易版的HashSet
- K最近邻结点算法(k-Nearest Neighbor algorithm)KNN——python简单实现
- KNN算法,KD树实现
- KNN(K-Nearest Neighbor)算法Matlab实现