数据降维
1.特征选择
2.主成分分析
特征选择的原因:冗余:部分特征的相关度高,容易消耗计算性能
噪声:部分特征对预测结果有影响
1.1特征选择
方法:Filter(过滤式) variance Threshold 方差选择: 指定方差大小,比如删除低方差的特征,因为这样的特征数据波动小,无参考性
用VarianceThreshold做特征抽取
from sklearn.feature_selection import VarianceThreshold
def var():
"""
方差
:return:
"""
var = VarianceThreshold(threshold=0.0) #默认删除方差为0的特征
data = var.fit_transform([[0, 2, 0, 3],
[0, 1, 4, 3],
[0, 1, 1, 3]])
print(data)
return None
if __name__ == "__main__":
var()
运行结果:
[[2 0]
[1 4]
[1 1]]
1.2主成分分析
PCA(Principal Component Analysis)分析,简化数据集的技术。
目的:是数据维数压缩,尽可能降低原数据的维数(复杂度),损失少量信息。
作用:可以削减回归分析或者聚类分析发特征数量
找到最好的一条直线
把红色的数据点投到过原点的直线变成一维数据(降维),这样还能保持原特征
PCA(n_components=None)
n_components 小数的形式(0~1) 保留90%~95%的数据
,整数形式(不常使用) 减少到的特征数量