任务
本次以信用贷款数据作为练习数据,目的是学会使用常用的机器学习模型,用它们预测贷款客户是否会逾期,给到的数据已经包含了标签,列名是status,有0和1两种值,0表示未逾期,1表示逾期,所以这是一个二分类的问题。
数据处理
在拿到数据之后,首先我们需要探索数据的构成和分布情况以及缺失情况。对于缺失值处理常用众数或者中位数、平均数填补。为了处理方便,一开始可以先将数据的数值型特征和非数值型特征分开,根据对数据的理解挑选特征,比如在本次任务中,用于识别客户身份的特征对于预测结果没有影响,所以可以将用户名、卡号等特征去除。如果有非序关系的多分类变量可以将其转换为哑变量,比如本次任务中的reg_preference_for_trad特征。reg特征有{‘一线城市’,‘二线城市’,‘三线城市’,‘境外’}等,可能有人会想用数字代替字符,但是这样的话在特征空间中会产生距离关系,而特征本身是没有序关系的,所以才将之转换为哑变量。
实现
# -*- coding: utf-8 -*-
"""
Created on Thu Nov 15 13:02:11 2018
@author: keepi
"""
import pandas as pd
from sklearn.linear_model import LogisticRegression
from sklearn.tree import DecisionTreeClassifier
from sklearn.model_selection import train_test_split
from sklearn.preprocessing impor