特征降维
特征降维
- 为什么要进行特征降维?
- 特征对训练模型非常重要,当用于训练的数据集包涵一些不重要的特征时,可能会导致模型泛化性能不加
- eg:某些特征的取值较为接近,其包含的信息较少
- eg:希望特征独立存在对预测产生影响,两个特征同增同减非常相关,不会给模型带来更多的信息
- 特征降维目的
- 在某些特定的情况下,降低特征个数
- 特征降维涉及的知识面比较多,当前阶段常用的方法:
- 低方差过滤法
- PAC 主成分分析降维法
- 相关系数法(皮尔逊相关系数 斯皮尔曼相关系数)
低方差过滤
- 低方差过滤法: 指的是删除方差低于某一阈值的特征
- 特征方差小: 特征值的波动范围小 包含的信息少 模型不易学到信息
- 特征方差大: 特征值的波动范围大 包含的信息多 便于模型学习
- 低方差过滤API
sklearn.feature_selection.VarianceThreshold(threshold = 0.0)
variance_obj.fit_transform(X)
from sklearn.feature_selection import VarianceThreshold
import pandas as pd
data = pd.read_csv('data/垃圾邮件分类数据.csv')
print(data.shape)