特征选择
特征选择就是单纯地从提前到的所有特征中选择部分特征作为训练集特征,特征在选择前和选择后可以改变值、也可以不改变值,但是选择后的特征维数肯定比选择前小,毕竟我摸只选择了其中的一部分特征。
主要有以下三种方式:
1、Filter(过滤式):VarianceThreshold
from sklearn.feature_selection import 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
2、Embedded(嵌入式):正则化、决策树
3、Wrapper(包裹式) 不常用
4、神经网络
主成分分析PCA
本质:PCA是一种分析、简化数据集的技术
目的:数据维数压缩,尽可能降低原数据的维数(复杂度),损失少量信息
作用:可以削减回归分析或者聚类分析中特征的数量
场景:当特征数量达到上百的时候
语法:
参数n_components为小数时,表示保留数据的占比,一般设置90%~95%,常用
为整数时,表示指定剩余特征数量,一般不用
from sklearn.decomposition import PCA
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