简单地说,k近邻算法采用测量不同特征值之间的距离方法进行分类。
即,假设样本数据集已知各个特征值和其类别,在输入没有类别标签的新数据后,将新数据的每个特征与样本集中数据对应的特征进行比较,计算两数据点之间的欧几里得距离,选择前k个距离最小(特征最相似)的数据所对应的分类标签,出现次数最多的分类,作为新数据的分类。
1.导入科学计算包NumPy和运算符模块,使用createDataSet函数创建数据集和标签,结果如表格所示:
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
| 特征1 | 特征2 | 分类 | |
| 样本1 | 1.0 | 1.1 | A |
| 样本2 | 1.0 | 1.0 | A |
| 样本3 | 0 | 0 | B |
| 样本4 | 0 | 0.1 | B |
2.编写k-近邻算法函数
def classify0(inX, dataSet, labels

该博客介绍了k-近邻算法的工作原理,通过计算新数据与样本集中的数据的欧几里得距离,选择最近的k个点,根据它们的类别标签进行投票来决定新数据的分类。文章通过创建数据集、编写k-近邻算法函数并应用于约会网站的配对效果改进,展示了算法的实际应用和效果。
最低0.47元/天 解锁文章
1650

被折叠的 条评论
为什么被折叠?



