数组维度
数据维度:特征数量
特征选择和主成分分析使用:
- 特征选择 特征较少时使用
- 主成分分析 特征有上百个
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]]
"""