目录
一、设计要求
1、客户数据预处理。对数据集进行缺失值处理,包含删除缺失值、填充数据等,同时对数据进行归一化处理。 2、确定影响客户等级的特征值。剔除无效以及贡献较小的特征值,确定影响客户等级预测的因素。 3、利用决策树算法对客户等级进行预测,并对预测的准确率进行评估。
二、技术综述
本项目基于Jupyter Notebook平台进行银行信用卡客户等级预测,使用PyCharm和MySQL平台构建银行信用卡客户管理系统。
三、需求分析
随着市场的不断发展,银行之间的竞争也越来越激烈。银行需要更多地了解用户以能在最短的时间里响应他们的需求。银行的主要业务之---信用卡业务正逐步完善,银行的信用卡业务逐渐体现出发行数量大、客户众多、交易频繁、交易信息全面准确等特点,客观上具备了进行多维数据分析和数据挖据的条件。同时,信用卡业务数据分析和挖掘能够为业务管理人员和决策者动态地制作各类报表,利用智能数据挖据工具发现信用卡行为模式,分析信用卡市场并进行市场预测,这也正好与银行提高服务质量、拓展市场、降低经营风险、提高经营效率的目标相符合。信用卡客户等级预测系统正是为了适应银行目前的这种需求而研发的。
四、系统实现
4.1数据预处理
1、首先导入相关包,对整体情况进行概览。
#使输出的图像更清晰
%config InlineBackend.figure_format = 'retina'
import seaborn as sns
plt.style.use("fivethirtyeight")
#Pandas中只显示3位小数
pd.set_option('display.float_format', lambda x:'{:.3f}'.format(x))
import time
观察数据信息,看是否存在缺失
train = pd.read_csv('贷款预测2.csv')
train.head() #观察数据表头
2、统计缺失值的个数
#将每列中缺失值的个数统计出来
null_all = train.isnull().sum()
print(null_all)
3、将特殊值存在缺失值的行丢失,对其余行缺失则进行均值或者中位数填补
#均值填充(Balance:存贷款情况,EstimatedSalary:估计收入)
#中位数填充(Age:年龄,NumOfProducts:使用产品数量)
#查看Balance列有缺失值的数据
Balance_null = train[pd.isnull(tra