特征工程-特征处理小结

特征处理包括:数据清洗和特征预处理。

一、数据清洗:

    1.数据样本抽样

        ①样本要具备代表性

        ②样本比例要平衡以及样本不平衡时如何处理

        ③考虑全量数据

    2.异常值处理

        2.1异常值都包括:①空值;②重复值;

                                      ③四分位数上下1.5倍到3倍之外的异常值;

                                      ④实际业务情况下不允许出现的值 等

        2.2异常值处理方法:

            ①识别异常值和重复值    Pandas: isnull() /duplicated()

            ②直接丢弃(包括重复数据)  Pandas: drop() /dropna() /drop_duplicated()

            ③当是否有异常当作一个新的属性,替代原值    Pandas: fillna()

            ④集中值指代    Pandas: fillna()

            ⑤边界值指代    Pandas: fillna()

            ⑥插值    Pandas: interpolate()---Series

二、特征预处理

    1.特征选择

        1.1过滤思想:去掉相关性差的特征 --- SelectKBest

        1.2包裹思想:构造简单模型,用线性回归器,每次迭代去掉一个弱特征--- RFE(SVR)

        1.3嵌入思想:利用回归方法,去掉系数比较小的特征(这种方法存在一定风险,可能导致重要特征被丢弃)--- SelectFromModel(DecisionTreeRegressor)

    2.特征变换

        2.1 对指化:将小数放大(指数),大数放小(对数)

                            numpy.exp/ numpy.log

        2.2 离散化(分箱):将连续变量分成几段(bins)

                                           等频分箱(等深分箱)/等距分箱(等宽分箱)

        2.3 归一化(标准化):把不同量纲的特征,放在同一尺度下比较

            归一化 --- MinMaxScaler()

            标准化 --- StandardScaler()

            根据模型与具体数据分布,如果特征有上下界,归一化有时可能更好一些;如果没有上下界,标准化有时可能更好些。

        2.4 数值化

                标签化(定序数据) --- LabelEncoder()  

                独热(定类数据) --- OneHotEncoder()

        2.5 正规化(Normalizer):有 l1 和 l2 两种方式

               用途:① 直接用在特征上

                          ② 用在每个对象的各个特征的表示(特征矩阵的行)

                          ③ 模型的参数上(回归模型使用较多)

    3.特征降维

        3.1 PCA、奇异值分解等线性降维

                PCA降维:①求特征协方差矩阵

                                  ②求协方差的特征值和特征向量

                                  ③将特征值按照从大到小的顺序排序,选择其中最大的k个

                                  ④将样本点投影到选取的特征向量上

        3.2 LDA降维(LinearDiscriminantAnalysis)

    4.特征衍生

        对数据进行加减乘除、求导与高阶求导、人工归纳

你可能感兴趣的:(特征工程-特征处理小结)