ITPub博客

首页 > 数据库 > Oracle > 在大型金融数据集上使用机器学习的特征工程测试

在大型金融数据集上使用机器学习的特征工程测试

原创 Oracle 作者:格伯纳 时间:2018-09-23 16:49:34 0 删除 编辑


 对于从事银行大型金融数据集的数据科学家和分析师来说,确定信用违约或坏账的可能性是他们所做的最重要的活动之一。这一行动是确定银行信贷政策、风险管理和信贷业务的重要任务,对于向潜在客户销售信贷产品的银行而言,这是真正的竞争优势。

 

然而,对于具有大量数据集的情况,对于具有下游金融影响的分析师来说,这就变成了一种极端基于判断的调用(通常是不准确的)。此外,在不消除决策制定的非关键特性的情况下,最先进的机器学习算法也变得无能为力,因为它们被灌输了“无意义”的数据。

 

最近的机器学习范例提供了使用内置算法的解决方案,这些算法可以帮助数据分析师为销售和运营团队提供业务洞察,从而在客户获取和活动管理方面采取积极主动的行动。

 

以下流程是使用Lending Club的真实客户数据(公共信息)开发的。当然,这不包括机密的客户信息,如姓名、地址、联系方式和社会保障信息。但是,就本活动而言,我们不需要任何机密的客户信息。公共数据集中提供的功能应该足以让我们提出预期见解。

 

我们将使用Jupyter Notebook编写一个简短的python程序,涵盖以下活动- 

数据采购

数据探索和清理

特征重要性

情节和可视化

让我们开始吧。

第1步- 采购数据

我们可以使用具有真实世界贷款和信用默认数据点的公共领域中可用的LendingClub数据。一旦下载了数据(csv文件),就可以将其上传到Jupyter笔记本中的相应文件夹。

注意:如果你没有Jupyter笔记本,强烈建议下载/安装和anaconda(https://www.anaconda.com/download/)

 

第2步- 数据探索和清理

导入必要的包并读取数据集

 

删除不相关的字段

 

做一些基本的探索

 

 

作为来自该领域的人,直观的是,就业长度是信用管理的关键因素之一,就业长度数据完全搞砸了。我们需要清理它。

 

同样清理可用于条款和利率的信息。

 

使用dummy将关键分类值转换为相关数字

 

现在开始研究目标功能,即“贷款状态”。除了“全额支付”和“当前”客户,我们可以让所有客户处于拖欠状态,因此具有更高的违约倾向。

 

利率领域似乎完全搞砸了,我们需要清理它。

 

现在看来我们有一个相当干净的数据,我们可以使用算法来获得一些下降结果。但在此之前,最好以csv格式备份干净文件,以备将来参考和离线报告。

 

让我们做一些基本的探索,使用一些绘图技术来研究数据属性。

 

第3步 –使用随机森林做特征选择

 

这是本文中最重要的一步,重点介绍了使用随机森林进行分析的最重要特征的技术。这对于评估特征在机器学习任务中的重要性非常有用,尤其是在我们处理大量特征时。换句话说,我们可以说这是数据清理的高级阶段,用于删除对我们的目标功能没有任何有意义的贡献的非必要数据。

 

此步骤可能需要相当长的时间才能运行。所以有一些耐心:-)

所有122个功能现在按其重要性的降序显示,并且作为在此域上工作的数据分析师/科学家,删除非关键功能不应该是一项艰巨的任务。

 

第4步- 绘图和可视化

 

即使我们有一系列重要功能,但始终建议对此列表进行可视化确认,以用于各种操作或管理目的。

 

由于我们有122个特征,上面的情节看起来很混乱。让我们尝试探索10个最关键的功能,看看它是如何出现的

 

现在,我们可以或多或少地假设特征20是确定贷款违约的最关键特征。您可以根据组织的要求处理绘图。此外,您可以通过此机制将特征数量从“数千”减少到不到100。这确实为银行提供了一个强大的选择,可以在数据被提供给复杂的机器/深度学习算法之前运行对数据的优化。

 

 


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/31509949/viewspace-2214739/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
管理员

注册时间:2018-03-30

  • 博文量
    196
  • 访问量
    348803