信贷数据中的异常值

Python 信用风险建模

Michael Crabtree

Data Scientist, Ford Motor Company

数据处理

  • 处理后的数据使模型训练更快
  • 往往能提升模型表现

三个不同模型的 ROC 曲线图

Python 信用风险建模

异常值与性能

异常值可能来源:

  • 数据录入系统问题(人为错误)
  • 数据摄取工具问题
Python 信用风险建模

异常值与性能

异常值可能来源:

  • 数据录入系统问题(人为错误)
  • 数据摄取工具问题
特征 含异常值的系数 去除异常值的系数
利率 0.2 0.01
就业年限 0.5 0.6
收入 0.6 0.75
Python 信用风险建模

用交叉表检测异常值

  • 使用交叉表配合聚合函数
pd.crosstab(cr_loan['person_home_ownership'], cr_loan['loan_status'],
            values=cr_loan['loan_int_rate'], aggfunc='mean').round(2)

Python 信用风险建模

可视化检测异常值

可视化检测异常值

  • 直方图
  • 散点图

就业年限与贷款利率的散点图

Python 信用风险建模

移除异常值

  • 在 Pandas 中使用 .drop() 方法
indices = cr_loan[cr_loan['person_emp_length'] >= 60].index
cr_loan.drop(indices, inplace=True)

去除异常值后的利率与就业年限散点图

Python 信用风险建模

Passons à la pratique !

Python 信用风险建模

Preparing Video For Download...