金融贷款逾期的模型实现

数据集的下载地址为 https://pan.baidu.com/s/1dtHJiV6zMbf_fWPi-dZ95g

我们要做的是预测贷款用户是否会逾期。表格中 "status" 是结果标签:0表示未逾期,1表示逾期。

先对数据进行三七分,随机种子2018。这里利用了LR,SVM,DecisionTree三种模型,并对这三种模型进行评分

数据划分

先导入划分数据和构建模型所需要的各种包。用read_csv函数打开csv文件。接着再对数据集进行三七划分。在获取训练集的时候,可以用列表推导法,也可以用drop函数,不过要注意再删除列的时候要将 axis = 1

import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression
from sklearn.tree import DecisionTreeClassifier
from sklearn import svm

data_all = pd.read_csv('D:\\data_all.csv',encoding='gbk')

#features = [x for x in data_all.columns if x not in ['status']]
#X = data_all[features]
X = data_all.drop(['status'],axis = 1)
y = data_all['status']
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3,random_state=2018)

 

三种模型的训练与评分

下一步就是分别构建是三种模型了。

#LR
lr = LogisticRegression(random_state = 2018)
lr.fit(X_train, y_train)
#DecisionTree
dt = DecisionTreeClassifier(random_state = 2018)
dt.fit(X_train , y_train)
#SVM
svc = svm.SVC(random_state = 2018)
svc.fit(X_train , y_train)
#打印三种模型的得分
print(dt.score(X_test,y_test))
print(lr.score(X_test,y_test))
print(svc.score(X_test,y_test))

 

 最后得到三种模型的评分

0.6846531184302733
0.7484232655921513
0.7484232655921513
posted @ 2018-12-18 13:53  mambakb  阅读(876)  评论(0编辑  收藏  举报