数组维度
数据维度:特征数量
特征选择和主成分分析使用:
- 特征选择 特征较少时使用
- 主成分分析 特征有上百个
1、特征选择
主要方法:
Filter 过滤式 (方差variance)
Embedded 嵌入式(正则化,决策时)
Wrapper 包裹式
代码示例
from sklearn.feature_selection import VarianceThreshold # 特征选择-删除低方差的特征 data = [ [0, 2, 0, 3], [0, 1, 4, 3], [0, 1, 1, 3] ] var = VarianceThreshold(threshold=0.0) result = var.fit_transform(data) print(result) """ [[2 0] [1 4] [1 1]] """
2、主成分分析PCA
PCA(principal Component Analysis)
二维表示一个立体物体
特征选择的原因
冗余:部分特征的相关度高,容易消耗计算资源
噪声:部分特征对预测结果有影响
本质:一种分析,简化数据集的技术
目的:使数据维数压缩,竟可能降低元数据的维数(复杂度),损失少量信息
作用:可以削减回归分析或者聚类分析中特征的数量
场景:特征数量达到上百的时候,考虑数据简化
代码示例
from sklearn.decomposition import PCA data = [ [2, 8, 4, 5], [6, 3, 0, 8], [5, 4, 9, 1] ] # n_components取小数:保留百分比,取整数:保留特征个数 pca = PCA(n_components=0.9) result = pca.fit_transform(data) print(result) """ [[-3.13587302e-16 3.82970843e+00] [-5.74456265e+00 -1.91485422e+00] [ 5.74456265e+00 -1.91485422e+00]] """