金融数据_特征工程

学习目标

学习特征预处理、缺失值、异常值处理、数据分桶等特征处理方法
学习特征交互、编码、选择的相应方法

学习内容

1.数据预处理
(1)标题缺失值的填充
(2)时间格式处理
(3)对象类型特征转换到数值
2.异常值处理
(1)基于3-sigma原则
(2)基于箱型图
3.数据分箱
(1)固定宽度分箱
(2)分位数分箱 【1. 离散数值型数据分箱 2. 连续数值型数据分箱】
(3)卡方分箱(选做作业)
4.特征交互
(1)特征和特征之间组合
(2)特征和特征之间衍生
(3)其他特征衍生的尝试(选做作业)
5.特征编码
(1)one-hot编码
(2)label-encode编码
4.特征选择
(1)Filter
(2)Wrapper (RFE)
(3)Embedded

学习笔记

主要记录自己根据示例流程学习后的扩展阅读和笔记

数据预处理

示例中时间格式处理和对象类型特征转换到数值已经提供了完善的例子,缺失值的填充部分除了简单的赋值和近似值,主要是填充mean(平均值),median(中位数),most_frequent(众数)。最大值、最小值这类填充法需要根据具体情况分析。常规情况下,平均数和中位数大部分运用于连续值,而离散值优先使用众数。如果是完整性特别差的单组数据,缺失数据占比比较大(大于50%),则可以考虑放弃这些数据。

异常值处理

(吐槽:这玩意学习一上来差点没认出来)内容介绍中的3segama原则应该更正一下比较好——三西格马定律(three-sigma rule of thumb) ,也就是68–95–99.7原则(68–95–99.7 rule),是在正态分布中,距平均值小于一个标准差、二个标准差、三个标准差以内的百分比,更精确的数字是68.27%、95.45%及99.73%。

数据分箱

固定宽度分箱:通过固定宽度分箱,每个分箱中会包含一个具体范围内的数值。这些范围可以人工定制,也可以通过自动分段来生成,它们可以是线性的,也可以是指数性的。当数值横跨多个数量级时,最好按照10 的幂(或任何常数的幂)来进行分组:0-99、10-99、100-999、1000-9999,等等。这时分箱宽度是呈指数增长的,从O(10) 到O(100)、O(1000) 以及更大。要将计数值映射到分箱,需要取计数值的对数。这里就涉及到了对数变换的扩展学习,以及它和高斯分布的各种对比实验,重要性很高,mark一下。
分位数分箱:固定宽度分箱非常容易计算,但如果计数值中有比较大的缺口,就会产生很多没有任何数据的空箱子。根据数据的分布特点,进行自适应的箱体定位,就可以解决这个问题。这种方法可以使用数据分布的分位数来实现。分位数是可以将数据划分为相等的若干份数的值。例如,中位数(即二分位数)可以将数据划分为两半,其中一半数据点比中位数小,另一半数据点比中位数大。四分位数将数据四等分,十分位数将数据十等分。

特征交互

  1. 这个部分扩展学习难度有点高,等待施工。
特征编码

one-hot编码在示例中没有相关介绍,简单进行了相关扩展学习。第一种方法,通过pandas中的提供的get_dummies方法,pd.get_dummies(testdata,columns=[‘1’]) ,第一个参数为原始数据,columns传入需要编码转换的特征,可以为多个,返回新的数据。第二种方法,使用sklearn中的OneHotEncoder方法,这种方法了解不多,等候后续的更为深层的扩展学习。

特征选择

Filter(过滤法)
1.方差选择法:使用方差选择法,先要计算各个特征的方差,然后根据阈值,选择方差大于阈值的特征。
2.相关系数法:使用相关系数法,先要计算各个特征对目标值的相关系数以及相关系数的P值。
3.卡方检验:这个统计量的含义简而言之就是自变量对因变量的相关性。选择卡方值排在前面的K个特征作为最终的特征选择。
4.互信息法:互信息法类似于卡尔检验,选择互信息排列靠前的特征作为最终的选取特征。

Wrapper(Recursive feature elimination,RFE)(包裹型):把特征选择看做一个特征子集搜索问题,筛选各种特征子集,用模型评估效果。
1.递归特征消除法:递归消除特征法使用一个基模型来进行多轮训练,每轮训练后,消除若干权值系数的特征,再基于新的特征集进行下一轮训练。

Embedded(嵌入型)
1.基于惩罚项的特征选择法:使用带惩罚项的基模型,除了筛选出特征外,同时也进行了降维。由于L1范数有筛选特征的作用,因此,训练的过程中,如果使用了L1范数作为惩罚项,可以起到特征筛选的效果。
2.基于树模型的特征选择法:训练能够对特征打分的预选模型:GBDT、RandomForest和Logistic Regression等都能对模型的特征打分,通过打分获得相关性后再训练最终模型。示例中选取GBDT模型,我正在对此模型进行深入的了解,下面顺手保存一些看过的文章:(施工中)
(1)http://breezedeus.github.io/2014/11/19/breezedeus-feature-mining-gbdt.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值