Datawhale&天池贷款违约预测——Task2 EDA
目录
1.EDA目的
- EDA价值主要在于熟悉了解整个数据集的基本情况(缺失值,异常值),对数据集进行验证是否可以进行接
下来的机器学习或者深度学习建模. - 了解变量间的相互关系、变量与预测值之间的存在关系。
- 为特征工程做准备
2. 主要内容
2.1 了解数据基本信息
- 读取数据集,了解数据集大小和原始维度
- 通过info函数了解数据大致信息
- 粗略查看数据集各特征的基本统计量(均值,中位数,极差,方差等统计量)
代码示例
#导入库
import pandas as pd
pd.set_option('display.max_columns',None)
pd.set_option('display.max_rows',None)
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
import seaborn as sns
import warnings
warnings.filterwarnings('ignore')
import datetime
# 读取文件,查看维度,查看示例数据
train=pd.read_csv('train.csv')
testA=pd.read_csv('testA.csv')
print('train datashape:',train.shape)
print('testA datashape:',testA.shape)
print(train.head(10))
print(testA.head(10))
补充知识读取大文件
- 通过nrows参数,读取指定前几行数据
- 分块读取
# 读取前5行数据
data_train_sample = pd.read_csv("./train.csv",nrows=5)
#分块读取
#设置chunksize参数,来控制每次迭代数据的大小
chunker = pd.read_csv("./train.csv",chunksize=5)
for item in chunker:
print(type(item))
#<class 'pandas.core.frame.DataFrame'>
print(len(item))
#通过info函数了解数据大致信息
train.info()
#缺失情况还少,大多都是数值类型
train.describe()
#其中有几列变量的方差较大,数值差异较大
2.2 缺失值与唯一值
- 查看缺失值
- 查看缺失的特征及其缺失率
- 查看只有一值的特征
代码示例
# 查看缺失的特征数量
print(f'there are {train.isnull().any().sum()} columns in train dataset with missing values.')
#缺失率大于50%的特征有哪些
have_null_fea_dict=(train.isnull().sum()/len(train)).to_dict()
fea_null_more_than_half={
}
for key,value in have_null_fe