确定目标
数据采集
数据采样
数据探索
1 数据质量分析
缺失值、异常值(简单统计《最大/最小值》,相线图,3σ),数据一致性
2 分布分析
定量数据:直方图
定性数据:条形图,饼图
3 对比分析
根据时间或者其他来对比分析
4 统计量分析
均值,中位数,众数,极差,标准差
5周期性分析
看数据是否满足周期性规律
6贡献度分析
28法则
相关性分析
相关系数
数据预处理
缺失值处理
根据缺失的多少,选择,平均值,中位数,众数,单独作为一个特征,插值法(拉格朗日插值法),构建一个决策函数来预测缺失值,或者使用固定值,或者直接删除
异常值的处理
直接删除,不处理,视为缺失值,平均值(观测前后两个记录的平均值来修正)
数据变换
平方,开放,取对数,差分运算
规范化
最大最小规范化,标准化(0-均值规范化),小数定标规范化。
特征选择
filter法:方差,相关系数,卡方选择,信息熵
卡方选择
经典的卡方检验是检验定性自变量对定性因变量的相关性。假设自变量有N种取值,因变量有M种取值,考虑自变量等于i且因变量等于j的样本频数的观察值与期望的差距,构建统计量:

卡方检验最常见的用途就是考察某无序分类变量各水平在两组或多组间的分布是否一致
互信息法
经典的互信息也是评价定性自变量对定性因变量的相关性的,互信息计算公式如下:
需要离散化才行。衡量二者之间的相关性
Wrapper
前向搜索:
初始特征集为空,每次选择使得加入特征集后,特征集的评分最高的特征,将其加入特征集合,知道特征集的特征数达到要求
后向搜索:
每次迭代删除一个特征
递归特征消除法:
递归消除特征法使用一个基模型来进行多轮训练,每轮训练后,消除若干权值系数的特征,再基于新的特征集进行下一轮训练。使用feature_selection库的RFE类来选择特征
Embedded
基于惩罚项的特征选择法
使用带惩罚项的基模型,除了筛选出特征外,同时也进行了降维。使用feature_selection库的SelectFromModel类结合带L1惩罚项的逻辑回归模型,来选择特征的代码如下:
1 from sklearn.feature_selection import SelectFromModel
2 from sklearn.linear_model import LogisticRegression
3
4 #带L1惩罚项的逻辑回归作为基模型的特征选择
5 SelectFromModel(LogisticRegression(penalty="l1", C=0.1)).fit_transform(iris.data, iris.target)
L1惩罚项降维的原理在于保留多个对目标值具有同等相关性的特征中的一个,所以没选到的特征不代表不重要。故,可结合L2惩罚项来优化。具体操作为:若一个特征在L1中的权值为1,选择在L2中权值差别不大且在L1中权值为0的特征构成同类集合,将这一集合中的特征平分L1中的权值,故需要构建一个新的逻辑回归模型:
使用feature_selection库的SelectFromModel类结合带L1以及L2惩罚项的逻辑回归模型,来选择特征的代码如下:
1 from sklearn.feature_selection import SelectFromModel
2
3 #带L1和L2惩罚项的逻辑回归作为基模型的特征选择
4 #参数threshold为权值系数之差的阈值
5 SelectFromModel(LR(threshold=0.5, C=0.1)).fit_transform(iris.data, iris.target)
基于树模型的特征选择法
树模型中GBDT也可用来作为基模型进行特征选择,使用feature_selection库的SelectFromModel类结合GBDT模型,来选择特征的代码如下:
1 from sklearn.feature_selection import SelectFromModel
2 from sklearn.ensemble import GradientBoostingClassifier
3
4 #GBDT作为基模型的特征选择
5 SelectFromModel(GradientBoostingClassifier()).fit_transform(iris.data, iris.target)

降维
当特征选择完成后,可以直接训练模型了,但是可能由于特征矩阵过大,导致计算量大,训练时间长的问题,因此降低特征矩阵维度也是必不可少的。常见的降维方法除了以上提到的基于L1惩罚项的模型以外,另外还有主成分分析法(PCA)和线性判别分析(LDA),线性判别分析本身也是一个分类模型。PCA和LDA有很多的相似点,其本质是要将原始的样本映射到维度更低的样本空间中,但是PCA和LDA的映射目标不一样:PCA是为了让映射后的样本具有最大的发散性;而LDA是为了让映射后的样本有最好的分类性能。所以说PCA是一种无监督的降维方法,而LDA是一种有监督的降维方法。
基于IV值的特征选择


数据分箱的方法
等宽,等频率,看分布,基于一维聚类
卡方分箱
一个卡方分箱(可设置参数置信度水平与箱的个数)停止条件为大于置信水平且小于bin的数目
在独立性检验中,统计量Χ2有两个临界值:3.841和6.635.当Χ2>3.841时,有95%的把握说明两个事件有关,当Χ2>6.635时,有99%的把握说明两个事件有关,当Χ2≤3.841时,认为两个事件无关.
卡方分箱代码:https://github.com/tatsumiw/ChiMerge/blob/master/ChiMerge.py
卡方分箱详解:https://blog.csdn.net/u013421629/article/details/78416748?utm_source=blogxgwz1
网友评论