PCA
主成分分析(PCA,principal components analysis)是将有多个相关特征的数据集投影到相关特征较少的坐标系上。这些新的、不相关的特征叫主成分。主成分能替代原始特征空间的坐标系,需要的特征少、捕捉的变化多。
主成分分析是无监督算法。主成分按可以解释的方差来排序,第一个主成分最能解释数据的方差,第二个其次。
PCA过程:
1. 创建数据集的协方差矩阵
2. 计算协方差矩阵的特征值
3. 保留前k个特征值(按特征值降序排列)
4. 用保留的特征向量转换新的数据点。
LDA
LDA是特征变换算法,也是有监督分类器。和PCA一样,LDA的目标是提取一个新的坐标系,将原始数据集投影到一个低维空间中。和PCA的主要区别在于,LDA不会专注于数据的方差,而是优化低维空间,以获得最佳的类别可分性。新的坐标系在为分类模型查找决策边界时更有用,LDA非常适合用于构建分类流水线。
工作原理:
1. 计算每个类别的均值向量
2. 计算类内和类间的散布矩阵
3. 计算 S_w^{-1} S_b 的特征值和特征向量
4. 降序排列特征值,保留前k个特征向量
5. 使用前几个特征向量将数据投影到新空间
PCA与LDA的区别
1. LDA是有监督的降维方法,降维过程中可以使用类别的先验知识经验,而PCA不行。
2. LDA选择分类性能最好的投影方向,而PCA选择最大方差的投影方向,因此LDA有过拟合的风险。
3. LDA最多能降到N−1的维数,如果降维维度大于N−1,则不能使用LDA,而PCA没有这个限制 。N-1表示矩阵的秩的最大个数。
4. 当样本分类信息依赖均值时LDA效果较好;依赖方差的时候PCA效果较好。
5. PCA 和 LDA 都是线性转换方法,只能捕捉数据中的线性关系,难以处理非线性结构的数据。
连续特征离散化
- 引入非线性,提升模型的表达能力。
- 增加模型的鲁棒性,降低过拟合风险。
- 生成稀疏矩阵,易于计算。
- 离散特征可以交叉特征,进一步引入非线性。
特征分箱
分箱就是将连续变量离散化,将多状态的变量合并为少状态的变量。
优点:处理缺失值、异常值;提升鲁棒性;特征离散化为模型引入非线性,增强模型表达能力;分箱后的特征可以直接用于决策规则。
分箱原则:组内差异小,组间差异大,通常每组分箱占比不小于5%;对于二分类来说,每箱内必须要好、坏两种分类。
分箱方法可分为:
- 无监督分箱。等频分箱、等距分箱、聚类分箱。
- 有监督分箱。卡方分箱、决策树分箱、Best-KS分箱。
- 卡方分箱
- 预设一个卡方的阈值。
- 根据要离散的属性对实例进行排序初始化:每个实例属于一个区间。
- 计算每一对相邻区间的卡方值。
- 将卡方值最小的一对区间合并。
- 决策树分箱
- Best-KS分箱
卡方分箱是基于自底向上(基于合并)的数据离散化方法。其依赖于卡方检验,即具有最小卡方值的相邻区间合并在一起,知道满足确定的停止条件。
基本思想:对于精确的离散化,相对类频率在一个区间内应当一致。因此如果两个相邻区间具有非常相似的类分布,则该两个区间可以合并;否则就应该分开。低卡方值表明其具有相似的类分布。
分箱步骤:
$$ X^2 = sum_{i=1}^2 sum_{j=1}^2 {\frac {(A_{ij} - E_{ij})^2} {E_{ij}}} $$ $A_{ij}$ 第 i 区间第 j 类的实例的数量。 $E_{ij}$ 是 $A_{ij}$ 的期望频率,$E_{ij}={\frac {N_i * C_j} {N}}$,其中 N 是样本总数,$N_j$ 是第 i 组的样本数,$C_j$ 是第 j 类样本在全体中的比例。
阈值的意义:类别与属性独立时,有 90% 的可能,计算得到的卡方值会少于4.6。大于阈值 4.6 的卡方值就说明属性和类别不是相互独立的,不能合并。如果阈值过大,就会合并区间多次,离散后的区间数量少,区间大。
决策树分箱是使用决策树算法,根据树节点的分割点(计算特征的信息增益)将特征划分为不同的分箱区间。
Best-KS分箱是一种从上到下的分箱方法,其一般选择 KS 值最大的地方作为分裂点(与决策树分箱计算信息增益类似)。