#算法介绍
之前已经介绍过,简单来说,K-NN可以看成:有那么一堆你已经知道分类的数据,然后当一个新数据进入的时候,就开始跟训练数据里的每个点求距离,然后挑离这个训练数据最近的K个点看看这几个点属于什么类型,然后用少数服从多数的原则,给新数据归类。
#算法步骤:
算法步骤:
- step.1—初始化距离为最大值
- step.2—计算未知样本和每个训练样本的距离dist
- step.3—得到目前K个最临近样本中的最大距离maxdist
- step.4—如果dist小于maxdist,则将该训练样本作为K-最近邻样本
- step.5—重复步骤2、3、4,直到未知样本和所有训练样本的距离都算完
- step.6—统计K-最近邻样本中每个类标号出现的次数
- step.7—选择出现频率最大的类标号作为未知样本的类标号
#案例分析
首先一个CNN算法
from numpy import *
import operator
def createDataSet():
group = array([[1.0,1.1],[1.0,1.0],[0,0],[0,0.1]])
labels = ['A','A','B','B']
return group,labels
def classify0(inX,