数据预处理中有:数据的归一化、数据的多维度划分。
数据归一化为把所有的数据都映射到同一个尺度(量纲)上。
常用的归一化为:最值归一化(normalization)、均值方差归一化(standardization)。
KD树第一次接触。他的主要用处在于进行数据基于中值进行数据的多维度划分。
常规的k-d tree的构建过程为:
-
循环依序取数据点的各维度来作为切分维度,
-
取数据点在该维度的中值作为切分超平面,
-
将中值左侧的数据点挂在其左子树,将中值右侧的数据点挂在其右子树,
-
递归处理其子树,直至所有数据点挂载完毕。
对于构建过程,有两个优化点:
-
选择切分维度:根据数据点在各维度上的分布情况,方差越大,分布越分散,从方差大的维度开始切分,有较好的切分效果和平衡性。
-
确定中值点:预先对原始数据点在所有维度进行一次排序,存储下来,然后在后续的中值选择中,无须每次都对其子集进行排序,提升了性能。也可以从原始数据点中随机选择固定数目的点,然后对其进行排序,每次从这些样本点中取中值,来作为分割超平面。该方式在实践中被证明可以取得很好性能及很好的平衡性。