K-近邻算法
来源:互联网 发布:淘宝店护肤品卖什么好 编辑:程序博客网 时间:2024/06/10 08:48
我们有一组数据集合,该数据集合我们已经分好类了,知道哪个数据是属于哪个类别的。在这个数据集合基础上,我们拿到了一个新的数据,那么,我们如果认为这个数据应该是属于哪个类别呢?
在K-近邻算法中,我们把这个新的数据和已知的数据集合中的每一数据进行距离的计算,然后选择出K个距离最近的已知数据,在这K个距离最近的已知数据中,看哪些类别出现的概率是最大的。哪个类别概率最大,那么这个新的数据就最可以属于这个类别。
这就是:K-近邻算法。
看上去很简单,主要技术点在距离的计算 这块。
距离的计算主要使用欧式公式进行,可以google下相关算法。
K-近邻算法:
from numpyimport *
import operator
from os importlistdir
defclassify0(inX, dataSet, labels, k):
dataSetSize = dataSet.shape[0]
diffMat = tile(inX, (dataSetSize,1)) -dataSet
sqDiffMat = diffMat**2
sqDistances = sqDiffMat.sum(axis=1)
distances = sqDistances**0.5
sortedDistIndicies =distances.argsort()
classCount={}
for i in range(k):
voteIlabel =labels[sortedDistIndicies[i]]
classCount[voteIlabel] =classCount.get(voteIlabel,0) + 1
sortedClassCount = sorted(classCount.iteritems(),key=operator.itemgetter(1), reverse=True)
return sortedClassCount[0][0]
- K近邻算法
- K近邻算法
- K近邻算法
- K近邻算法
- K近邻算法
- K近邻算法
- k近邻算法
- OpenCv K近邻算法
- k-近邻算法(kNN)
- k-近邻算法
- k-近邻算法(kNN)
- K近邻算法
- K近邻分类算法
- K近邻分类算法
- K近邻算法
- K近邻算法
- k最近邻算法
- K-近邻算法
- ListView扩展实现XListView、ZListView
- Express中use挂载中间件的方法
- 万丈高楼平地起,勿在浮沙筑高台--论程序员基础知识的重要性
- spring与mybatis三种整合方法
- HDU 1257 贪心
- K-近邻算法
- linux下mysql的root密码忘记解决方法
- 08 WebGL 着色器编程语言GLSL ES的运算符优先级
- C语言中的柔性数组
- Java网络编程
- 使用代码修改shape的填充颜色solid
- 奔跑吧,健康的程序员
- Android-Adapter中使用Intent跳转到一个activity
- 《编写可维护的JavaScript 》读书笔记(1) --基本的格式化