《机器学习实战》--KNN
代码来自《机器学习实战》 https://github.com/wzy6642/Machine-Learning-in-Action-Python3 K-近邻算法(KNN) 介绍 简单地说,k-近邻算法采用测量不同特征值之间的距离方法进行分类。 优点:精度高、 对异常值不敏感 ,无数据输入假定。 缺点:计算复杂度高、空间复杂度高,无法给出数据的内在含义。 使用数据范围:数值型、标称型。 分类函数的伪代码: 对未知类别属性的数据集中的每个点依次执行以下操作: (1)计算已知类别数据集中的点与当前点之间的距离; (2)按照距离递增次序排序; (3)选取与当前点距离最小的k个点; (4)确定前k个点所在类别的出现概率; (5)返回前k个点出现频率最高的类别作为当前点的预测分类。 1 """创建数据集 2 返回: group - 数据集 3 labels - 分类标签 4 """ 5 def createDataSet(): 6 # 四组二维特征 7 group = np.array([[1, 101], [5, 89], [108, 5], [115, 8]]) 8 # 四组特征的标签 9 labels = ['爱情片', '爱情片', '动作片', '动作片'] 10 return group, labels 11 12 13 """ 14 KNN算法,分类器