一、背景
很多农民因为缺乏资金,在每年耕种前会向相关机构申请贷款来购买种地需要的物资,等丰收之后偿还。农业贷款发放问题是一个典型的数据挖掘问题。贷款发放人通过往年的数据,包括贷款人的年收入、种植的作物种类、历史借贷信息等特征来构建经验模型,通过这个模型来预测受贷人的还款能力。
本文借助真实的农业贷款业务场景,利用回归算法解决贷款发放业务。 线性回归,是利用数理统计中回归分析,来确定两种或两种以上变量间相互依赖的定量关系的一种统计分析方法,运用十分广泛。本文通过农业贷款的历史发放情况,预测是否给预测集的用户发放他们需要的金额的贷款。
二、数据集介绍
具体字段如下:
字段名 | 含义 | 类型 | 描述 |
---|---|---|---|
id | 数据唯一标识符 | string | 人 |
name | 用户名 | string | 人 |
region | 用户所属地区 | string | 从北到南排列 |
farmsize | 拥有土地大小 | double | 土地面积 |
rainfall | 降雨量 | double | 降雨量 |
landquality | 土地质量 | double | 土地质量数值越大越好 |
farmincome | 收入 | double | 年收入 |
maincrop | 种植作物 | string | 种植作物的种类 |
claimtype | 贷款类型 | string | 两种 |
claimvalue | 贷款金额 | double | 贷款金额 |
数据截图:
三、数据探索流程
首先,实验流程图:
1.数据源
数据的输入有两部分,贷款训练集用来进行回归模型的训练,共二百条数据,是历史贷款数据,包括一些farmsize、rainfall等特征,claimvalue是贷款收回的金额。贷款预测集是今年申请贷款者,claimvalue是农民申请的贷款金额,共71人。我们通过已有的二百多条历史数据,预测给七十一人中的哪些申请贷款人发放贷款。
2.特征工程
将一些字符串类型的数据,根据他们的含义映射成数字。比如说region字段,我们将其中的north、middle、south按照从北到南的顺序分别映射成0、1、2。然后通过类型转换将字段转换成double类型,这样就可以进行下面的回归计算了。
如下图:
3.回归及预测
线性回归组件对于历史数据训练并生成回归模型,在预测组件中利用回归模型对于预测集数据进行了预测。通过合并列组件将用户ID、预测值、申请的贷款值合并。预测值表示的是用户的还贷能力(预期可以归还的金额)。
4.回归模型评估
通过回归模型评估组件对于回归模型进行评估。
5.发放贷款人
通过过滤与映射组件筛选出可以获得贷款的人,这里的业务逻辑是针对每个客户,如果他被预测得到的还款能力大于他申请贷款的金额,就对他发放贷款。
四、其它
关注作者微信公众号:
参与讨论:云栖社区公众号
免费体验:阿里云数加机器学习平台