阿里云天池学习赛【金融风控-贷款违约预测】task 2

零基础入门金融风控-贷款违约预测TASK 2

  • 2.探索性数据分析(EDA)
    • 2.1数据载入
    • 2.2初步观察
      • 2.2.1基本信息
      • 2.2.2 统计数值型数据的各个统计量
    • 2.3 数据清洗
      • 2.3.1 缺省值观察以及处理
      • 2.3.2 重复值观察以及处理
      • 2.3.3 特征值观察
    • 2.4用pandas-profiling直接生成数据报告


2.探索性数据分析(EDA)

了解数据,熟悉数据,为后续的特征工程做准备。

探索性数据分析(Exploratory Data Analysis,简称EDA),是指一种分析数据集以概括其主要特征的方法,通常使用可视化方法。

为之后的数据预处理特征工程提供必要的结论。

目的

1.EDA价值主要在于熟悉了解整个数据集的基本情况(缺失值,异常值),对数据集进行验证是否可以进行接 下来的机器学习或者深度学习建模;

2.了解变量间的相互关系、变量与预测值之间的存在关系;

3.为特征工程做准备.

其集中于检查模型拟合和假设检验所需的假设,以及处理缺少的值,并根据需要进行变量转换。

2.1数据载入

载入数据语句:

train = pd.read_csv('./train.csv')// 前几行的显示语句
train.head()

显示结果:
阿里云天池学习赛【金融风控-贷款违约预测】task 2_第1张图片

2.2初步观察

导入数据后,对数据的整体结构和样例进行概览。

2.2.1基本信息

train.info()

显示结果:
阿里云天池学习赛【金融风控-贷款违约预测】task 2_第2张图片阿里云天池学习赛【金融风控-贷款违约预测】task 2_第3张图片

2.2.2 统计数值型数据的各个统计量

train.describe()

阿里云天池学习赛【金融风控-贷款违约预测】task 2_第4张图片

2.3 数据清洗

2.3.1 缺省值观察以及处理

缺省值观察:

//每列缺省值总和
traind.isnull().sum()

阿里云天池学习赛【金融风控-贷款违约预测】task 2_第5张图片

缺省值处理方法:

// 方法一:直接删除
train.dropna()
// 方法二:进行填充
train.fillna(0)

2.3.2 重复值观察以及处理

重复值观察:

// 方法二:重复值查看
train[train.duplicated()]

显示结果
在这里插入图片描述

2.3.3 特征值观察

特征大概可分为两类: 数值型特征以及类别型特征

数值型特征:又可分为离散型数值特征,以及连续型数值特征。

类型观察:

//以列表形式显示;list函数
//Select_dtypes函数根据对数据类型设置的条件返回数据帧列的子集;
//它允许使用include和exlude参数包含或排除某些数据类型。
numerical_fea = list(data_train.select_dtypes(exclude=['object']).columns)//选择非object类型的特征
category_fea = list(filter(lambda x: x not in numerical_fea,list(data_train.columns)))//过滤

显示结果

category_fea(类别型为):

在这里插入图片描述
划分数值型变量中的连续变量和离散型变量:

def get_numerical_serial_fea(data,feas):
    numerical_serial_fea = []
    numerical_noserial_fea = []
    for fea in feas:
        temp = data[fea].nunique()//nuique函数可统计每列的不同值的个数;
        if temp <= 10:
            numerical_noserial_fea.append(fea)
            continue
        numerical_serial_fea.append(fea)
    return numerical_serial_fea,numerical_noserial_fea
numerical_serial_fea,numerical_noserial_fea = get_numerical_serial_fea(data_train,numerical_fea)

numerical_noserial_fea:(即离散型为):

阿里云天池学习赛【金融风控-贷款违约预测】task 2_第6张图片

数值离散型分析

train['term'].value_counts()//value_counts()函数可用计算每个不同值有在该列中个数,并且按降序输出;

在这里插入图片描述
即term(即贷款期限)为三年的有606902个,5年的为193098个。

2.4用pandas-profiling直接生成数据报告

import pandas_profiling;
pfr = pandas_profiling.ProfileReport(data_train)
pfr

你可能感兴趣的:(数据分析)