金融贷款逾期的模型实现
数据集的下载地址为 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