1、本项目为预测贷款用户是否逾期的数据预处理部分,主要包括特征处理、数据类型分析、数据类型转换以及缺失值处理。
一、数据查看
选择的IDE为pycharm,首先导入pandas库与numpy库,查看数据的大小,所包含的特征,每个特征的缺失值情况,需要转换数据类型的特征等。下面为具体的代码。
#导入numpy和pandas库
import numpy as np
import pandas as pd
dataset=pd.read_csv('D:/data/data.csv',encoding='gbk')
dataset.info()
二、特征处理
删除无关的特征,比如日期,用户名,卡号等,具体代码如下。
# 删除无关信息
dataset = dataset.drop(["custid","trade_no","bank_card_no","id_name","first_transaction_time","latest_query_time","loans_latest_time","source"],axis=1)
分析每列数据, 若值两两不同,则判断线性无关,进行删除。
for i in dataset.columns:
count = dataset[i].count()
if len(list(dataset[i].unique())) in [1,count,count-1]:
dataset.drop(i,axis = 1,inplace=True )
三、缺失值处理
在reg_preference_for_trad中出现了缺失值,需要对其进行处理,这里选择众数进行填充;将student_feature中将NAN转换为0。具体代码如下:
# reg_preference_for_trad 缺失值填充
dataset['reg_preference_for_trad'] = dataset['reg_preference_for_trad'].fillna(dataset['reg_preference_for_trad'].mode()[0])
# student_feature 缺失值填充
dataset["student_feature"] = dataset["student_feature"].fillna(0)
四、数据类型转换
对reg_preference_for_trad特征进行编码,{'一线城市':1,'二线城市':2,'三线城市':3,,'其他城市': 4, '境外':0}
代码如下:
data_map = dataset['reg_preference_for_trad'].map({'一线城市': 1, '二线城市': 2,'三线城市': 3, '其他城市': 4, '境外':0})
#数字转码
n=set(dataset['reg_preference_for_trad'])
dic={}
for i,j in enumerate(n):
dic[j]=i
dataset['reg_preference_for_trad'] = dataset['reg_preference_for_trad'].map(dic)
数据处理结果如下: