数据降维也是特征工程里的一环,这里的降维不是说降低数组的维度,而是说减少特征的数量
主要分为两大类:特征选择,主成分分析(PCA)
特征选择
目的:减少无关特征对机器学习的影响
主要方法:Filter过滤式,对数据过滤分析,如方差小,则说明这个数据没有区分度,在线性代数里面来说其实就是线性相关,可以过滤
API:sklearn.feature_selection.VarianceThreshold()
其实从线性代数的知识就可以看出来,第一个特征都是0,所以一定会被删除,第二个和第四个特征很相似,差点线性相关,应该会被删除一个特征,我预测保留下来的结果应该是第二个和第三个特征
结果果然如此
主成分分析(PCA)
目的:数据压缩,尽可能降低原始数据维度,损失少了信息,可以缩减回归分析和聚类分析中的特征数量
应用场景:特征数量达到上百个的时候,考虑PCA减少数量,数据改变特征数量也会改变
API:sklearn.decomposition.PCA(n_componentts=(小数或者整数)),小数的时候指定保留数量比,整数的时候指定保留数量