RudrakshhGupta/Loan-Eligibility-Prediction-MLModel
GitHub: RudrakshhGupta/Loan-Eligibility-Prediction-MLModel
基于 Kaggle 贷款审批数据集构建的机器学习分类项目,通过多种算法预测贷款批准状态以辅助金融机构风险评估。
Stars: 0 | Forks: 0
# 贷款资格预测 ML 模型
这是一个机器学习项目,旨在探索 Kaggle 的贷款审批数据集以构建预测分类模型。该项目涵盖了完整的机器学习工作流程,包括探索性数据分析、数据预处理、特征工程、模型训练、超参数调优以及多种分类算法的评估。
## 概述
金融机构每天处理成千上万份贷款申请。预测贷款申请是否应该被批准是一个重要的分类问题,有助于降低财务风险并改善决策。
在本项目中,我们实现并比较了多种机器学习算法,以根据申请人信息预测贷款审批状态。
## 数据集
* 来源:Kaggle 贷款预测数据集
* 记录数:614
* 特征数:13
* 目标变量:`Loan_Status`
该数据集包含的申请人信息如下:
* 性别
* 婚姻状况
* 抚养人数
* 教育程度
* 自雇状态
* 申请人收入
* 共同申请人收入
* 贷款金额
* 贷款期限
* 信用记录
* 财产区域
* 贷款批准状态
## 项目工作流程
### 1. 探索性数据分析 (EDA)
* 数据集检查
* 汇总统计
* 缺失值分析
* 分布图
* 用于异常值检测的箱线图
* 相关性热图
* 贷款批准分布
* 收入与贷款金额的可视化
* 按性别划分的贷款批准分析
### 2. 数据预处理
* 使用中位数填补缺失的数值
* 缺失的分类值替换为 "missing"
* 目标变量的标签编码
* 数值特征的标准化
* 分类变量的 One-Hot 编码
* 针对基于树的模型进行序数编码
* 训练集与测试集划分 (70:30)
### 3. 机器学习模型
实现并比较了以下模型:
* 逻辑回归
* 决策树
* 随机森林
* 梯度提升分类器
### 4. 超参数调优
使用 GridSearchCV 来优化模型性能。
进行调优的模型包括:
* 逻辑回归
* 随机森林
* 梯度提升
### 5. 模型评估
使用以下指标评估性能:
* 准确率
* ROC-AUC 分数
* 精确率
* 召回率
* F1 分数
* 分类报告
* 混淆矩阵
* 排列特征重要性
## 结果
| 模型 | 准确率 |
| ------------------- | -------- |
| 逻辑回归 | 84.86% |
| 梯度提升 | 84.32% |
| 随机森林 | 79.46% |
| 决策树 | 77.29% |
在所有模型中,逻辑回归和梯度提升在测试数据集上取得了最佳的整体表现。
## 使用的技术
* Python
* Pandas
* NumPy
* Matplotlib
* Seaborn
* Scikit-learn
* Jupyter Notebook
## 仓库结构
```
.
├── Loan_Fraud_Detection.ipynb
└── README.md
```
## 未来改进
* 尝试使用 XGBoost、CatBoost 和 LightGBM
* 使用 SMOTE 解决类别不平衡问题
* 执行更高级的特征工程
* 使用交叉验证进行更稳健的评估
* 将训练好的模型部署为 Flask Web 应用程序
## 学习成果
通过这个项目,我获得了以下方面的实践经验:
* 数据清理与预处理
* 探索性数据分析
* 特征工程
* 分类算法
* 超参数调优
* 模型评估
* 使用 Scikit-learn 的机器学习流水线
## 致谢
* 感谢 Kaggle 提供贷款预测数据集。
* 感谢 Scikit-learn 文档提供的机器学习实现指南。
## 注意事项
本项目最初是作为第一学期机器学习课程作业的一部分开发的。原始的协作仓库和数据集已不可用。本仓库包含了基于课程期间完成的项目工作重建的实现和文档。所使用的数据集是公开可用的 Kaggle 贷款预测数据集。
标签:Apex, NoSQL, 信贷风控, 数据科学, 数据预处理, 机器学习, 资源验证, 逆向工具, 金融科技