利用机器学习进行金融数据风险评估(3)

简介: 利用机器学习进行金融数据风险评估(3)
  • 检查是否有空值


for col in var_all:
    x = transaction_risk_sample[col].isnull().sum()
    if x != 0:
        print(col, x)
循环遍历每一个列
统计当前列的空值数据
得到rat_timelong_lst_avg这个列有47个空值


image.png


  • 填充空值 用均值填充 训练和预测样本集都需要做处理


rat_timelong_lst_avg_mean = np.mean(transaction_risk_sample['rat_timelong_lst_avg'])#获取该列的均值
transaction_risk_sample['rat_timelong_lst_avg'].fillna(rat_timelong_lst_avg_mean, inplace = True) #对训练集补充空值
transaction_risk_score_sample['rat_timelong_lst_avg'].fillna(rat_timelong_lst_avg_mean, inplace = True) #对训练集补充空值


  • 异常值处理


观察到所有的变量都是数值型(原数据未给出具体变量信息,只能从数据类型上判断)
由于未给出具体变量信息,无法判断是否异常值,故此处不做异常值处理


  • 分组操作


transaction_risk_sample.groupby(['cnt_result', 'target']).size()
先以cnt_result字段分组 再根据target字段分组 最后统计每一组的大小
和数据库分组的概念是一样的


image.png


  • 导入画图的库


import matplotlib.pyplot as plt
import seaborn as sns


如果报错


ImportError: No module named 'seaborn'


安装此库


pip3 install seaborn


  • 画图探索每组违约率差异


df = pd.DataFrame() #创建一个新的表
df['total'] = transaction_risk_sample.groupby(['type_lst_login'])['target'].count() #计算每组的总数
df['bad'] = transaction_risk_sample.groupby(['type_lst_login'])['target'].sum() #计算每组违约总数
df['default_rate'] = df['bad']/df['total'] #计算每组违约率
df = df.reset_index()
sns.barplot(data = df, x = 'type_lst_login', y = 'default_rate')


image.png


简单分析下这个逻辑


1、对样本结果表 transaction_risk_sample 先按照type_lst_login最后登陆时间分组 再按照target(是否违约 1违约0没有违约)进行分组
得到每一个登陆时间用户是否违约的情况
2、count()是包含target为0和1的情况 即每一个登陆时间内访问的用户数(总数)
3、sum() 仅包含target=1的情况 对所有的1进行求和 得到的是每一个登陆时间内 违约的用户数
4、每组违约的用户数 / 总数 得到每组的违约率
5、reset_index 设置索引 加快数据处理速度
6、barplot画图  x轴是登陆时间 y轴是每个登陆时间的违约率


  • 对于连续型变量做箱线图 观察数据分布


var_num = []
for col in transaction_risk_sample.columns:
    x =  transaction_risk_sample[].nunique() #观察每个变量里有多少个不同的值
    print(col, x)
    var_num.append(col)


image.png


代码分析


训练遍历每一个列
获取当前列的不同值个数


  • 箱线图


plt.boxplot(transaction_risk_sample['city_lst_login'])
获取city_lst_login最后的登陆城市这一列数据画箱线图


image.png



相关文章
|
1月前
|
机器学习/深度学习 数据采集 存储
【机器学习】机器学习流程之收集数据
【机器学习】机器学习流程之收集数据
47 1
|
1月前
|
机器学习/深度学习 数据采集 传感器
机器学习开发流程和用到的数据介绍
机器学习开发流程和用到的数据介绍
|
1月前
|
机器学习/深度学习 算法 数据可视化
机器学习-生存分析:如何基于随机生存森林训练乳腺癌风险评估模型?
机器学习-生存分析:如何基于随机生存森林训练乳腺癌风险评估模型?
29 1
|
1月前
|
机器学习/深度学习 数据处理
机器学习在金融风控中的应用
金融风控是一项重要的工作,它能够帮助金融机构识别和应对各种风险,保护客户资产。目前,机器学习技术在金融风控领域得到了广泛应用,本文将介绍机器学习在金融风控中的具体应用场景和效果。
|
2月前
|
机器学习/深度学习 消息中间件 人工智能
机器学习PAI报错问题之读取kafka数据报错如何解决
人工智能平台PAI是是面向开发者和企业的机器学习/深度学习工程平台,提供包含数据标注、模型构建、模型训练、模型部署、推理优化在内的AI开发全链路服务;本合集将收录PAI常见的报错信息和解决策略,帮助用户迅速定位问题并采取相应措施,确保机器学习项目的顺利推进。
|
2月前
|
机器学习/深度学习 数据采集 算法
Python中的机器学习入门:从数据预处理到模型评估
Python中的机器学习入门:从数据预处理到模型评估
194 35
|
3月前
|
机器学习/深度学习 人工智能 算法
PAI:一站式机器学习平台,让你的数据智能之旅更加便捷
PAI:一站式机器学习平台,让你的数据智能之旅更加便捷 随着大数据和人工智能的飞速发展,越来越多的企业和开发者开始涉足机器学习的领域。然而,对于许多初学者来说,机器学习的复杂性和难度可能会让人望而生畏。这时,一个功能强大、易于使用的机器学习平台就显得尤为重要。今天,我就来为大家详细介绍一个来自阿里巴巴的PAI一站式机器学习平台,看看它是如何帮助开发者们轻松应对机器学习挑战的。
34 2
|
3月前
|
人工智能
全方位解析PAI:数据准备、模型开发、模型训练一网打尽
全方位解析PAI:数据准备、模型开发、模型训练一网打尽 随着人工智能技术的飞速发展,越来越多的企业开始关注并投入到AI的研发中。然而,AI的研发并非易事,从数据准备、模型开发、模型训练到模型服务,每一个环节都需要专业的工具和平台来支持。阿里云的PAI(Powered by AI)正是一个涵盖了数据准备、模型开发、模型训练、模型服务全流程的AI工作平台。本文将为您详细介绍PAI的各个子产品的产品线上规格及使用指引。
39 2
|
3月前
|
机器学习/深度学习 算法 数据挖掘
机器学习第2天:训练数据的获取与处理
机器学习第2天:训练数据的获取与处理
56 0
|
1月前
|
机器学习/深度学习 存储 搜索推荐
利用机器学习算法改善电商推荐系统的效率
电商行业日益竞争激烈,提升用户体验成为关键。本文将探讨如何利用机器学习算法优化电商推荐系统,通过分析用户行为数据和商品信息,实现个性化推荐,从而提高推荐效率和准确性。