金融风控训练营-Task03特征工程学习笔记

本学习笔记为阿里天池龙珠计划金融风控训练营的学习内容,学习链接为https://tianchi.aliyun.com/specials/activity/promotion/aicampfr?spm=5176.22758685.J_6770933040.3.6f103da1BKXXWZ

一、学习知识点概括

  1. 数据预处理
  2. 异常值处理
  3. 数据分箱
  4. 特征交互
  5. 特征编码
  6. 特征选择

二、学习内容

1.数据预处理

1.1数据缺失值的填充(NaN 指Not a number)

  • 把所有缺失值替换为指定的值0

    data_train = data_train.fillna(0)

  • 用缺失值上面的值替换缺失值

    data_train = data_train.fillna(axis=0,method='ffill')

  • 用缺失值下面的值替换缺失值,且设置最多只填充两个连续的缺失值

    data_train = data_train.fillna(axis=0,method='bfill',limit=2)

  • 可以用“Unknown"或其他文本替换NaN

      如:  reviews.TAIL_NUMBER.fillna("Unknown",inplace=True)

1.2时间格式特征的转化出路

  1. to_datetime()将字符型的时间转换为时间型数据
  2. 由日期格式转化为字符串格式的函数为: datetime.datetime.strftime()
  3. 由字符串格式转化为日期格式的函数为: datetime.datetime.strptime()

1.3对象类型特征转换为数值

数字编码,划分优先级

get_dummies

2.异常值处理

2.1检验异常的方法:

  1. 均方差:在统计学中,如果一个数据分布近似正态,那么大约 68% 的数据值会在均值的一个标准差范围内,大约 95% 会在两个标准差范围内,大约 99.7% 会在三个标准差范围内。
  2. 箱型图:通过四分位数形成的图形化描述。高于上触须或低于下触须的数据点都可以认为是离群点或异常值

2.2一些函数的解释:

  1. mean()求均值
  2. std()求标准差
  3. floor_divide除法,返回整数结果
  4. floor()向下取整,返回不大于输入参数的最大整数
  5. dtype指数据类型如(int,object[字符串],float等)
  6. astype()转换数据类型,如将int64 转为float64
  7. median()返回中值
  8. mode()众数
  9. value_counts()是一种查看表格某列中有多少个不同值的快捷方法,并计算每个不同值有在该列中有多少重复值。
  10. std 标准差
  11. groupby 分组

3.数据分箱

3.1特征分箱的目的:降低变量复杂性,减少变量对模型的影响

3.2分箱的基本原则:

  • (1)最小分箱占比不低于5%
  • (2)箱内不能全部是好客户
  • (3)连续箱单调

3.3固定宽度分箱:当数值横跨多个数量级时,最好按照10的幂(或任何常数的幂)进行分组

3.4分位数分箱:qcut()函数基于样本分位数进行分箱

3.5卡方分箱:卡方检验指拟合优度检验和独立性分析。如果两个相邻的区间具有非常类似的类分布,那么这两个区间可以合并。否则,它们应该分开。低卡方值表明它们具有相似的类分布。

4.特征交互

如果线性模型中包含有交互特征对,那它的训练时间和评分时间就会从 O(n) 增加到 O(n2),其中 n 是单一特征的数量。

5.特征编码

labelEncode,将离散型的数据转换成0到n-1之间的数,n可以认为是某个特征的所有不同取值的个数

逻辑回归等模型要单独增加的特征工程

  • 对特征做归一化,去除相关性高的特征
  • 归一化目的是让训练过程更好更快的收敛,避免特征大吃小的问题
  • 去除相关性是增加模型的可解释性,加快预测过程。

逻辑回归是什么:逻辑回归的目的,是使训练数据的标签值和预测出来的值之间误差最小化

6.特征选择-得到一个简约模型,减少模型评分时间

6.1特征选择的方法

Filter(基于特征间的关系进行筛选)

  • 方差选择法:先要计算各个特征的方差,然后根据设定的阈值,选择方差大于阈值的特征
  • 相关系数法(pearson 相关系数):该方法衡量的是变量之间的线性相关性。 结果的取值区间为 [-1,1] , -1 表示完全的负相关, +1表示完全的正相关,0 表示没有线性相关。
  • 卡方检验:用于检验自变量对因变量的相关性。 假设自变量有N种取值,因变量有M种取值,考虑自变量等于i且因变量等于j的样本频数的观察值与期望的差距。 其统计量如下: χ2=∑(A−T)2T,其中A为实际值,T为理论值
  • 互信息法:评价自变量对因变量的相关性

Wrapper (RFE)

  • 递归特征消除法:使用一个基模型来进行多轮训练,每轮训练后,消除若干权值系数的特征,再基于新的特征集进行下一轮训练。

Embedded

  • 基于惩罚项的特征选择法:使用带惩罚项的基模型,除了筛选出特征外,同时也进行了降维
  • 基于树模型的特征选择:树模型中GBDT也可用来作为基模型进行特征选择。

三、学习问题与解答

1.replace和fillna好像都有替换缺失值的意思,他们之间有什么区别吗?

fillna可以自动填充缺失数据,改变原表内容。replace替换的时候不改变原表内容

2.在下载包的时候有时候会出现Traceback (most recent call last)的问题,再后来发现可能是网不好的原因,这是原因之一。

四、学习思考与总结

除了在网站上学习,观看相关视频和书籍可以让我们更容易理解一些内容。像数据缺失值填充那里就是看了视频才明白了原理。这次学习过程中发现涉及到一些统计学的知识,虽然有学过一些,但也忘得差不多了,所以看的时候还是晕晕的,就当是复习一下知识吧。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值