风控模型算法面试题集结
特征处理
1. 特征工程的一般步骤什么?什么是特征迭代
特征工程一般包含:
- 数据获取,分析数据的可用性(覆盖率,准确率,获取容易程度)
- 数据探索,分析数据业务含义,对特征有一个大致了解,同时进行数据质量校验,包含缺失值、异常值和一致性等;
- 特征处理,包含数据处理和特征处理两部分。数据处理主要做清洗工作(缺失值、异常值、错误值、数据格式处理等),特征转换即对连续特征、离散特征、时间序列进行转换,常用标准化、归一化、区间缩放、二值化、哑变量编码等,便于入模;
- 特征构建,构建与目标变量相关且区分度较好的特征,常用方法有特征交叉、四则运算、业务理解的处理等;
- 特征筛选,特征维度过高不仅会导致模型训练效率低下,特征鲁棒性也不强,要做特征降维,常用方法有过滤法,包装法,嵌入法;
特征工程迭代:
- 特征提取:根据具体问题分析,从数据中查找可以提出信息的关键数据;
- 设计特征:可以自动进行特征提取,也可以手动进行特征构建;
- 特征选择:从多个维度判断特征是否可以放入模型;
- 计算模型:计算模型在改特征上所提升方准确率;
- 上线测试:通过在线测试来评估特征是否有效;
2. 时间序列特征、连续特征、离散特征怎么转换
- 时间序列特征:按时间变量的维度进行离散(年、月、日、时、分),或者与位置变量进行结合衍生出新的特征;
- 连续特征:表转化、归一化、区间缩放、离散化。离散化常用的方法有卡方分箱、决策时分箱、等频和等距分箱;
- 离散特征:如果类别不是很多,做哑变量处理;对于无需离散变量用都热编码,有序李淑娜使用顺序编码。如果类别较多,可用平均数编码;
3. 特征衍生方法有哪些
常用的特征衍生方法包括:
- 基于业务理解构造特征,比如电商平台用户的购买和时间关系;
- 特征交叉;
- 分解类别特征,如对缺失特征可以分解成是否有这个类别的二值化特征,或者将缺失特征作为一个类别;
- 重构数值,如单位转换等
- 特征四则运算,如平均、最大最小、加减乘除等;
4. 特征筛选的目的和需求
目的:
- 简化模型,增加模型的可解释性,降低过拟合风险
- 缩短模型训练时间
- 避免维度灾难
需求:
- 可解释性好,与目标变量在业务上有解释
- 时间维度上稳定
- 有较好的覆盖度;
5. 特征筛选方法和各自的优缺点
Filter 过滤法:按照发散性、相关性对各个特征进行评分,设定阈值进行选择;
- 方法有相关系数、方法(对连续变量)、卡方校验(类别变量)、信息熵、IV。实际过程主要基于相关系数和IV;
- 优点:算法通用性强,复杂度低,适用于大规模数据集提出不相干变量,可以作为特征预筛选;
- 缺点:由于算法评价标准独立于特征学习算法,特征子集在分类准确方面较低;
Wrapper封装法:利用学习算法的性能评价特征子集的好坏,wrapper法需要一个分类器。
- 方法有完全搜索法、启发式搜索,随机搜索。工作中常用的是启发式搜索,如卡方分布的逐步逻辑回归进行评选;
- 优点:相对于filter法能找到分类性能更好的特征子集
- 缺点:算法复杂度高,当改变学习算法时,需要重新进行特征筛选;
Embedded嵌入法:先使用机器学习算法和模型进行训练,得到各个特征的权值系数,然后按照系数大小进行筛选。
- 常用方法包括基于惩罚性的岭回归、Lasso回归,L1/2正则化,和基于树模型输出的特征重要性。工作中场景的基于随机森林、xgboost和lightgbm。
- 优点:效果好,速度快,模式单调;
- 缺点:参数设置,以及需要对模型算法原理有较好理解;
6. 如何发现和处理特征缺失值
在风控建模过程中,首先要了解缺失值产生的原因,是数据本身采集问题还是用户本身缺少这个属性,以及缺少属性对风险有无影响;
其次,对于缺失率较高的特征,尤其是评分卡模型,大于25%就不建议采用,在10%以内可用中位数或者随机森林来填充,区间内的可以考虑当做一个特殊类别来处理;
7. 特征异常值发现和处理
异常值的发现可采用如极差、四分位间距、均差、标准差等,还可以通过等距方法来检验异常点。,如欧式距离、绝对距离等
对于异常值处理,先判断是否是真正的错误。如果是错误数据,清理掉就行。如果无法判断,则看异常值是否较多,若较多可以采用单独类处理,如果不做也可不做处理。
8. 如何处理特征不平衡问题
- 好坏样本比例不平衡,先确定好坏样本的定义;
- 基于定义尝试扩大数据集,比如信贷中拉长时间线;
- 对数据进行抽样,一种是欠采样,通过减少大类样本呢来降低不平衡;另一种是过采样,通过增加小数据样本来降低不平坦。实际工作中常用SMOTE方法来实现过采样。
- 尝试用xgboost和lightgbm等对不平衡数据处理效果好的模型。
9. 特征离散化和特征交叉