特征选择就是剔除与标注不相关或者冗余的特征,它是数据归约的思路之一(另一个思路为抽样)
特征选择主要包括三种思想:过滤思想、包裹思想和嵌入思想。
编程实现:
第一步,导入必要的包:
import pandas as pd
import numpy as np
import scipy.stats as ss
from sklearn.svm import SVR #线性回归器
from sklearn.tree import DecisionTreeRegressor #决策树回归
from sklearn.feature_selection import SelectKBest,RFE,SelectFromModel
第二步,导入一组DataFrame数据:
第三步,特征选择:
1.过滤思想:去掉相关性差的特征
2.包裹思想:构造简单模型,用线性回归器,每次迭代去掉一个弱特征
3.嵌入思想:利用回归方法,去掉系数比较小的特征,这种方法存在一定风险,因为可能导致重要特征被丢弃。
(SelectFromModel()必须要有feature_importances和coef_这两个参数才能用,但当数据量比较庞大又需要快速的找出特征的时候,可以用threshold来对样本数据进行简单的评估(threshold表示低于多少会去掉一个特征))