金融机构信用评估系统中的业务数据审核流程设计

内容分享3小时前发布 食方
0 0 0

一、真题

试题代码
试题名称
金融机构信用评估系统中的业务数据审核流程设计

场地设备要求
人工智能训练师主机:CPU(intel i5 及以上)、内存(不少于 16GB)、操作系统(windows10)、支持深度学习训练;

考核时间
30min

工作任务
某金融机构计划引入智能信用评估系统,通过分析客户的历史交易数据和信用记录,使用机器学习算法预测客户的信用风险等级,从而辅助贷款审批和风险控制。为了确保数据的准确性和可靠性,该机构需要设计并实现一套全面的业务数据审核流程,确保数据在进入信用评估系统之前经过严格的审核和清洗。

我们提供一个客户信用数据集(credit_data.csv),包含以下字段:

CustomerID: 客户ID

Name: 客户姓名

Age: 年龄

Income: 收入

LoanAmount: 贷款金额

LoanTerm: 贷款期限(月)

CreditScore: 信用评分

Default: 是否违约(0: 否,1: 是)

TransactionHistory: 历史交易记录(JSON格式)

你作为人工智能训练师,根据提供的credit_data.csv数据集和Python代码框架(1.1.3.ipynb),完成以下数据的审核和处理任务,确保数据的准确性和可靠性。请按照以下要求完成任务,确保结果准确并保存相应的截图。

(1)数据完整性审核:

通过运行Python代码(1.1.3.ipynb)检查数据集中的每个字段是否存在缺失值和重复值。将上述审核结果截图以JPG的格式保存,命名为“1.1.3-1”。

(2)数据合理性审核:

通过运行Python代码(1.1.3.ipynb)审核以下字段的合理性:

年龄:应在18到70岁之间。

收入:应大于2000。

贷款金额:应小于收入的5倍。

信用评分:应在300到850之间。

对不合理的数据进行标记,并将审核结果截图以JPG的格式保存,命名为“1.1.3-2”。

(3)通过运行Python代码(1.1.3.ipynb)对数据进行清洗,处理异常值。具体要求如下:

将不合理的数据进行标记,并对异常值所在行进行删除;

清洗后的数据保存为新文件cleaned_credit_data.csv。

所有结果文件储存在桌面新建的考生文件夹中,文件夹命名为“准考证号+身份证号后六位”。

技能要求
(1)能结合人工智能技术要求和业务特征,设计整套业务数据处理流程;

(2)能结合人工智能技术要求和业务特征,设计整套业务数据审核流程

质量指标
(1)完整性指标:数据集中无缺失值和重复记录。

(2)合理性指标:所有数据点符合业务规则,无异常值存在。

(3)清洗效果指标:清洗后的数据集完整、合理,且适于建模分析。

二、真题

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

读取数据集

data = pd.read_csv(‘credit_data.csv’)

1. 数据完整性审核

missing_values = data.isna().sum() #数据缺失值统计 2分
duplicate_values = data.duplicated().sum() #数据重复值统计 2分

输出结果

print(“缺失值统计:”)
print(missing_values)
print(“重复值统计:”)
print(duplicate_values)
缺失值统计:
CustomerID 0
Name 0
Age 1
Income 1
LoanAmount 0
LoanTerm 0
CreditScore 0
Default 0
TransactionHistory 0
dtype: int64
重复值统计:
0

2. 数据合理性审核

data[‘is_age_valid’] = data[‘Age’].between(18, 70) #Age数据的合理性审核 2分
data[‘is_income_valid’] = data[‘Income’] > 2000 #Income数据的合理性审核 2分
data[‘is_loan_amount_valid’] = data[‘LoanAmount’] < (data[‘Income’] * 5) #LoanAmount数据的合理性审核 2分
data[‘is_credit_score_valid’] = data[‘CreditScore’].between(300, 850) #CreditScore数据的合理性审核 2分

合理性检查结果

validity_checks = data[[‘is_age_valid’, ‘is_income_valid’, ‘is_loan_amount_valid’, ‘is_credit_score_valid’]].all(axis=1)
data[‘is_valid’] = validity_checks

输出结果

print(“数据合理性检查:”)
print(data[[‘is_age_valid’, ‘is_income_valid’, ‘is_loan_amount_valid’, ‘is_credit_score_valid’, ‘is_valid’]].describe())
数据合理性检查:
is_age_valid is_income_valid is_loan_amount_valid
count 1000 1000 1000
unique 2 2 2
top True True True
freq 999 999 796


   is_credit_score_valid is_valid  

count 1000 1000
unique 1 2
top True True
freq 1000 795

3. 数据清洗和异常值处理

标记不合理数据

invalid_rows = data[~data[‘is_valid’]]

删除不合理数据行

cleaned_data = data[data[‘is_valid’]]

删除标记列

cleaned_data = cleaned_data.drop(columns=[‘is_age_valid’, ‘is_income_valid’, ‘is_loan_amount_valid’, ‘is_credit_score_valid’, ‘is_valid’])

保存清洗后的数据

cleaned_data.to_csv(‘cleaned_credit_data.csv’, index=False)
print(“数据清洗完成,已保存为 ‘cleaned_credit_data.csv’”)

© 版权声明

相关文章

暂无评论

none
暂无评论...