(一)KNN算法
1.算法流程:
(1)根据给定的距离度量,在训练集中找出与样本x最近的k个点
(2)在这k个点中,根据分类决策原则(比如多数表决),决定x的类别y
2.KNN三大基本要素
(1)距离度量:特征空间中2个实例点的距离是2个实例点相似程度的反映
(2)K值的选择:K值较小使模型复杂化容易过拟合,K值较大使模型简单化容易欠拟合
(3)分类决策规则:一般是多数表决
(二)KD树
1.实现KNN算法的核心在于如何快速进行K近邻搜索,尤其是在特征维数较大或者数据样本量大的情况下,常用的有效方法就是用KD树存储数据样本,然后搜索KD树;(KNN的K与KD树的K意义不同,前者是指K个邻近样本点,后者是指K维数据,两者并无联系)
2.KD树是一种二叉树,用于存储K维空间实例点以便快速搜索的一种树形数据结构;KD树表示对K维空间的一个划分,构造KD树相当于不断地用垂直于坐标轴的超平面将K维空间切分,构成一系列的K维超矩形区域;
3.构造KD树流程:
(1)现在有K维空间数据集,其中