人工智能训练师(三级)实操考试 — 2.1.3 信用评分模型数据清洗和标注流程设计

← 返回题目列表 考核时间:20 分钟 20:00
工作任务

互联网金融飞速发展,使得个人金融理财变得越来越容易。而其中信用评分技术是一种对贷款申请人做风险评估分值的统计模型,可以根据客户提供的资料、客户的历史数据、第三方平台数据,对客户的信用进行评估。

现要求根据提供的Finance数据集,选择合适的特征,开发一个申请的评分模型,对未来一段时间内借贷人出现违约的概率进行预测。提供的数据集样本数据共15000条,10个自变量,1个因变量(SeriousDlqin2yrs)。

具体要求

(1) 正确加载数据集,并显示前五行数据;

(2) 检查数据集中的异常值并处理:使用箱线图检测异常值,使用IQR方法处理异常值;设置图像尺寸为12x8英寸,画布分成3行4列;

(3) 检查数据集中的重复值并删除,记录删除行数;

(4) 对数据进行归一化处理;

(5) 创建新的特征IncomeToDebtRatio、MonthlyIncome,并添加到数据集中;

(6) 将SeriousDlqin2yrs设为目标变量并标注;

(7) 对数据进行划分(训练集80%);

(8) 保存处理后的数据为 2.1.3_cleaned_data.csv。

注意事项
  • 在代码的 橙色下划线 处填写正确的 Python 代码
  • 请勿修改源代码的其他部分
  • 填写完成后点击 "检查答案" 查看评分
  • 点击 "显示答案" 可直接查看所有参考答案
  • 点击 "重置" 清空所有填写内容
请在下划线处填写代码
当前得分
0 / 17
In [1] — 导入库 & 加载数据 2分
import pandas as pd # 加载数据 1分 data = # 显示前五行的数据 1分
In [2] — 箱线图检测 & IQR处理异常值 5分
import matplotlib.pyplot as plt import seaborn as sns # 设置图像尺寸 plt.figure(figsize=(12, 8)) # 识别数值列用于箱线图 numeric_cols = data.select_dtypes(include=['float64', 'int64']).columns # 创建箱线图 for i, col in enumerate(numeric_cols, 1): plt.subplot(3, 4, i) sns.boxplot(x=data[col]) plt.title(col) plt.tight_layout() plt.show() # 使用IQR处理异常值 2分 Q1 = (0.25) Q3 = (0.75) IQR = # 移除异常值 2分 data_cleaned = data[~((data[numeric_cols] < (Q1 - 1.5 * )) | (data[numeric_cols] > (Q3 + 1.5 * ))).any(axis=1)]
In [3] — 检查并删除重复值 1分
# 检查处理重复值 1分 duplicates = () num_duplicates = duplicates.sum() data_cleaned = data_cleaned[~duplicates] print(f'删除的重复行数: {num_duplicates}')
In [4] — 归一化处理 1分
# 对数据进行归一化处理 from sklearn.preprocessing import MinMaxScaler scaler = MinMaxScaler() # 归一化 1分 data_cleaned[numeric_cols] =
In [5] — 设定目标变量 1分
# 设定目标变量 1分 target_variable =
In [6] — 特征与目标划分 & 数据集拆分 5分
from sklearn.model_selection import train_test_split # 定义特征和目标 2分 X = (columns=[]) y = # 划分数据(训练集占80%) 2分 X_train, X_test, y_train, y_test = (, random_state=42) # 显示划分后的数据形状 print(f'训练数据形状: {X_train.shape}') print(f'测试数据形状: {X_test.shape}')
In [7] — 保存清洗后的数据 2分
# 保存清洗后的数据到CSV 2分 cleaned_file_path = '2.1.3_cleaned_data.csv' (, index=False)
答案检查结果