0


基于Spark的信用卡逾期数据分析与可视化项目【大数据期末作业】

一、功能与要求

1****、实现功能

(1)使用Spark SQL对原始数据集进行数据预处理

(2)使用Spark SQL对预处理后的数据进行分析和统计

(3)通过使用echarts.js组件将进行分析后的数据展示到前端页面中

2****、项目要求

(1)项目中需要包含数据获取、数据清洗、数据分析统计、数据可视化看板展示等功能;

(2)使用工具:Visual Studio Code

 使用技术:python语言,spark

3****、提交作品

项目设计报告、项目源程序(项目工程目录及相关资源文件)、项目演示录屏。

4****、项目组各成员工作分工

项目名称

成员

实现功能

信用卡逾期数据分析

与可视化项目

数据分析

数据可视化

数据采集

数据预处理

5****、对题目的分析与理解

信用卡逾期问题一直是金融行业和个人信用管理中备受关注的议题。逾期情况不仅影响个人信用评级,还可能对金融机构的风险管理产生重大影响。了解逾期情况,尤其是分析导致逾期的因素,可以帮助金融机构更好地了解客户行为,改善信贷政策,降低不良贷款率,提高金融服务的质量。

本项目的目的在于分析信用卡逾期的情况,探究逾期和各种因素之间的关联,为金融机构提供洞见。具体目标包括:

  1. 年龄与逾期关系分析: 探究不同年龄段的人群中逾期率的变化,了解不同年龄层次的信用还款情况,为定向制定信贷政策提供依据。
  2. 逾期记录与逾期关系分析: 分析有逾期记录的人中,30-59天逾期和60-89天逾期的比例,深入了解逾期人群中短期和长期逾期的情况。
  3. 房产抵押与逾期关系分析: 探究有无房产抵押的人中逾期率的差异,了解房产抵押与信用还款情况的关系,为信贷政策的制定提供数据支持。
  4. 家属人数与逾期关系分析: 分析有无家属的人中逾期率的比例,探究家庭结构对逾期情况的影响,为个性化信贷服务提供依据。
  5. 月收入与逾期关系分析: 比较超过均值月收入和低于均值月收入人群的逾期情况,了解月收入对信用还款的影响,为信贷额度的确定提供数据支持。

二、方案设计

(一)系统总体设计

(1)系统总体架构设计

(2)系统模块设计

data_preprocessing.py:数据预处理模块

data_analysis.py:数据分析模块

data_web.py:数据可视化模块

字段名称

字段含义

SeriousDlqin2yrs

是否逾期

RevolvingUtilizationOfUnsecuredLines

信用卡和个人信贷额度的总余额

Age

年龄

NumberOfTime30-59DaysPastDueNotWorse

借款人逾期30-59天的次数

DebtRatio

负债比率

MonthlyIncome

月收入

NumberOfOpenCreditLinesAndLoans

未偿还贷款数量

NumberOfTimes90DaysLate

借款人逾期90天以上的次数

NumberRealEstateLoansOrLines

房地产贷款的数量

NumberOfTime60-89DaysPastDueNotWorse

借款人逾期60-89天的次数

NumberOfDependents

家庭中的家属人数

三、项目的实现

1****、系统开发环境

Linux: Ubuntu 22.04.3

Hadoop3.1.3

Python:3.6

Spark:2.4.0

Jupyter Notebook

Pyecharts

2****、各模块功能实现

(1)年龄与是否逾期情况分析

共有逾期10026人,139974没有逾期,总人数150000

total_y = []

for i in range(2):

    total_y.append(df.filter(df['y'] == i).count())

all_list.append(total_y)

# 年龄分析

df_age = df.select(df['age'],df['y'])

agenum = []

bin = [0,30,45,60,75,100]

# 统计各个年龄段的人口

for i in range(5):

agenum.append(df_age.filter(df['age'].between(bin[i],bin[i+1])).count())

all_list.append(agenum)

# 统计各个年龄段逾期与不逾期的数量

age_y = []

for i in range(5):

    y0 = df_age.filter(df['age'].between(bin[i],bin[i+1])).\

        filter(df['y']=='0').count()

    y1 = df_age.filter(df['age'].between(bin[i],bin[i+1])).\

        filter(df['y']=='1').count()

    age_y.append([y0,y1])

all_list.append(age_y)

源码及详细文章获取请添加下方名片


本文转载自: https://blog.csdn.net/wt133/article/details/143429285
版权归原作者 码力源 所有, 如有侵权,请联系我们删除。

“基于Spark的信用卡逾期数据分析与可视化项目【大数据期末作业】”的评论:

还没有评论