为什么降维?
维度小易于训练,过拟合风险低,便于可视化,垃圾特征会误导模型。
降维分为特征选择和特征抽取
特征选择
过滤器:
皮尔逊相关系数衡量线性关系,可以用scipy.stat函数
互信息区分非线性关系
封装器:
以异或运算为例,特征和结果可能有依赖关系,但是从模型角度来说特征不能单独生效。
模型给每个特征投票,用来选择特征,可以用sklearn.feature_selection RFE函数
特征抽取
特征选择之后特征还是过多,可以进行特征抽取
PCA效果最好,线性方法,sklearn.decomposition.PCA
LDA:让不同类别之间的距离最大,相同类别之间的距离最小
MDS:用于高维数据可视化,保留了样本间的相对距离