在特征工程下面,还有许多的子问题,主要包括:Feature Selection(特征选择)、Feature Extraction(特征提取)和Feature construction(特征构造)
特征选择Feature Selection
1、过滤式选择
单纯地一个一个特征地去比较与 类别的关系。然后选择最大的k个特征
著名的过滤式特征选择方法是Relief, 该方法设计了一个“相关统计量”来度量特征的重要性,该统计量是一个向量,其每一个分量分别对应于一个初始特征,而特征子集的重要性是由子集中每个特征所对应的相关统计量分量之和决定。
Relief的关键是如何确定相关统计量。给定训练集,对于 xi, 首先会在同类样本中寻找最近邻 xi,hn 称为 “猜中近邻", 再从xi的异类样本中寻找最近邻,称为”猜错近邻“, 然后相关统计量对应于属性j的分量为:
>>> from sklearn.datasets import load_iris >>> from sklearn.feature_selection import SelectKBest >>> from sklearn.feature_selection import chi2 >>> iris = load_iris() >>> X, y = iris.data, iris.target >>> X.shape (150, 4) >>> X_new = SelectKBest(chi2, k=2).fit_transform(X, y) >>> X_new.shape (150, 2)
2、包裹式选择