KNN算法之KD树
KD树算法是先对数据集进行建模,然后搜索最近邻,最后一步是预测。 KD树中的K指的是样本特征的维数。 一、KD树的建立 m个样本n维特征,计算n个特征的方差,取方差最大的第k维特征作为根节点。选择第k维特征的中位数作为切分点,小于中位数的放左子树,大于中位数的放右子树,递归生成。 举例 有二维样本6个,{(2,3),(5,4),(9,6),(4,7),(8,1),(7,2)}: 1、找根节点,6个数据点在x、y维度上的方差分别是6.97,5.37,x维度方差最大,因此选择x维进行键树; 2、找切分点,x维中位数是(7,2),因此以这个点的x维度的取值进行划分; 3、x=7将空间分为左右两个部分,然后递归使用此方法,最后结果为: 二、搜索最近邻 kd树生成之后就可以预测测试集里的目标样本了。 首先找到包含目标样本的 来源: https://www.cnblogs.com/pacino12134/p/11333238.html