Task1 赛题理解
一、赛题
零基础入门金融风控-贷款违约预测
该数据来自某信贷平台的贷款记录,总数据量超过120w,包含47列变量信息,其中15列为匿名变量
训练数据总共有8万条。部分截图如下:

测试数据总共有2万条
变量信息如下:

二、评测标准
提交结果为每个测试样本是1的概率,也就是y为1的概率。评价方法为AUC评估模型效果(越大越好)。
三、结果提交
提交前请确保预测结果的格式与sample_submit.csv中的格式一致,以及提交文件后缀名为csv。
形式如下:
id,isDefault
800000,0.5
800001,0.5
800002,0.5
800003,0.5
Task2 数据分析
一、学习内容
数据总体了解:
- 读取数据集并了解数据集大小,原始特征维度;
data.shape
- 通过info熟悉数据类型;
data.info()

- 粗略查看数据集中各特征基本统计量;
data.describe()

- 缺失值和唯一值:
缺失值
data_train.isnull()

data_train.isnull().any().sum()# 统计有多少列有缺失值
查看缺失值的比例,并形成字典
have_null_fea_dict = (data_train.isnull().sum()/len(data_train)).to_dict()
# nan可视化
missing = data_train.isnull().sum()/len(data_train)
missing = missing[missing > 0]
missing.sort_values(inplace=True)
missing.plot.bar()

纵向了解哪些列存在 “nan”, 并可以把nan的个数打印,主要的目的在于查看某一列nan存在的个数是否真的很大,如果nan存在的过多,说明这一列对label的影响几乎不起作用了,可以考虑删掉。如果缺失值很小一般可以选择填充。 另外可以横向比较,如果在数据集中,某些样本数据的大部分列都是缺失的且样本足够的情况下可以考虑删除。 Tips: 比赛大杀器lgb模型可以自动处理缺失值,Task4模型会具体学习模型了解模型哦!
唯一值–查看训练集测试集中特征属性只有一值的特征
one_value_fea = [col for col in data_train.columns if data_train[col].nunique() <= 1]
2.3.5 查看特征的数值类型有哪些,对象类型有哪些
- 深入数据-查看数据类型
-
- 特征一般都是由类别型特征和数值型特征组成,而数值型特征又分为连续型和离散型。
-
- 类别型特征有时具有非数值关系,有时也具有数值关系。比如‘grade’中的等级A,B,C等,是否只是单纯的分类,还是A优于其他要结合业务判断。
-
- 数值型特征本是可以直接入模的,但往往风控人员要对其做分箱,转化为WOE编码进而做标准评分卡等操作。从模型效果上来看,特征分箱主要是为了降低变量的复杂性,减少变量噪音对模型的影响,提高自变量和因变量的相关度。从而使模型更加稳定
- 类别型数据
numerical_fea = list(data_train.select_dtypes(exclude=['object']).columns)# 数值型,通过列的数据类型区分
category_fea = list(filter(lambda x: x not in numerical_fea,list(data_train.columns)))# 数值型
- 数值型数据
- 离散数值型数据
- 连续数值型数据
#过滤数值型类别特征
def get_numerical_serial_fea(data,feas)

最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



