降维
特征选择
概念:特征选择就是单纯地从提取到的所有特征中选择部分特征作为训练集特征,
特征在选择前和选择后可以改变值、也不改变值,但是选择后的特征维数肯
定比选择前小,毕竟我们只选择了其中的一部分特征。
方法
- Filter(过滤式):VarianceThreshold
- Embedded(嵌入式):正则化、决策树
- Wrapper(包裹式)
sklearn特征选择API:sklearn.feature_selection.VarianceThreshold
def var():
"""
特征选择---删除低方差的特征
:return:None
"""
var = VarianceThreshold(threshold=1.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()
主成分分析
PCA,全称Principal Component Analysis(主成分分析)
本质:PCA是一种分析、简化数据集的技术
使用时机:当特征数量到达上百的时候,考虑数据简化
- 目的:是数据维数压缩,尽可能降低原数据的维数(复杂度),损失少量信息。
- 作用:可以削减回归分析或者聚类分析中特征的数量
高纬度数据容易出现的问题 : 特征之间通常是线性相关的
注: n_components的赋值:小数(保留特征的百分比0~1 一般是90% ~ 95%) ; 整数(减少到的特征数量,不常用)
def pca():
"""
主成分分析进行特征降维
:return: None
"""
pca = PCA(n_components=0.9)
data = pca.fit_transform([[2, 8, 4, 5], [6, 3, 0, 8], [5, 4, 9, 1]])
print(data)
return None
if __name__ == "__main__":
pca()
运行截图: