根据交易历史预测贷款违约

数据挖掘 Python 分类 预言
2022-03-02 00:03:18

我有一个包含 25,000 个不同客户的训练数据集,每个客户都有 50-500 次银行交易的交易历史(存款和取款,确切的 # 因客户而异)。每个客户都获得了一笔贷款(从 500 到 2000 美元),他们要么违约,要么没有违约(此信息在训练集中给出)。测试集有大约 15,000 个不同的客户(与上面不同的人),我需要根据他们的交易历史预测他们是否会违约。还有一个与每笔交易相关的字符串,给出交易类型(即,他们是否购买了啤酒、咖啡等)。

我想知道从机器学习的角度解决这个问题的最佳方法是什么?即,哪种模型最适合根据客户的交易历史来预测客户拖欠贷款的概率?

我认为 keras 中的神经网络将是最简单的方法,但由于输入大小可变(每个客户的交易数量不同),我不确定如何训练它。另外,我想知道我是否应该使用交易类型字符串,因为这增加了一个全新的难度元素(解析字符串并将其分类为高/低风险类型的交易等)......除非有库可以自动做到这一点..

谢谢

1个回答

一些上下文:
您尝试解决的问题可以定义为分类问题。
哪里基于特征x1...xn我们试图预测是否y是类default或班级no default.
有几种算法能够学习特征和类之间的不同函数,这些函数可用于预测目的。
神经网络就是这样一种功能。

回答问题:

1) 处理可变输入大小:这在查看基于时间的相关数据时很常见,其中每个实例可能具有不同的历史长度和/或频率。
一种简单的方法是将特征空间推导出为最大的公共空间(IE,将历史长度截断为最短的)。请注意,在这种方法中,您不会使用您拥有的所有数据。
另一种方法是将历史汇总为一个或多个特征:“总交易”、“平均交易金额”、“交易之间的平均时间”等。

2)处理“字符串”列:该数据可能被视为分类特征
将其编码为几个不同的变量(每个变量代表该特征具有的一个(或多个)可能值)是一种常用方法,将其作为学习算法中的一个特征。

还有其他方法可以处理每个问题,但这些应该是一个很好的起点。