数据降维
- 减少特征数量
特征选择
-
定义
从提取到的所有特征中选择部分特征作为训练集特征,特征在选择前和选择后可以改变值、也不改变值。 -
原因
冗余:部分特征的相关度高,容易消耗计算性能
噪声:部分特征对预测结果有负影响 -
过滤式VarianceThreshold
过滤方差:方差为0或者很小,数据不具有代表性
(1) 语法
- VarianceThreshold(threshold = 0.0)
删除所有低方差特征 - Variance.fit_transform(X,y)
返回值:训练集差异低于threshold的特征将被删除。
默认值是保留所有非零方差特征,即删除所有样本中具有相同值的特征。
(2) 实现
from sklearn.feature_selection import VarianceThreshold
def var(): #删除低反差的特征
var = VarianceThreshold(threshold=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]]
主成分分析(PCA)
-
定义
数据维数压缩,尽可能降低原数据的维数(复杂度),损失少量信息。当特征达到上百个时,可以削减特征的数量。 -
语法
•PCA(n_components=None)
n_components:
小数形式:0-1百分比,指定信息的保留度,一般是0.9-0.95
整数形式:减少到的特征数量(一般不用)
将数据分解为