金融贷款逾期的模型构建1
生活随笔
收集整理的這篇文章主要介紹了
金融贷款逾期的模型构建1
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
數據
data_all.csv文件是非原始數據,已經處理過了。數據是金融數據, 我們要做的是預測貸款用戶是否會逾期。表格中, status是標簽: 0表示未逾期, 1表示逾期。
任務——模型構建
給定數據集,數據三七分,隨機種子2018。(在任務1中什么都不用考慮,即不需數據處理和模型調參)
調用sklearn的包,簡單構建邏輯回歸、SVM和決策樹3個模型,評分方式任意(e.g. 準確度和auc值)。
一、相關庫
import pandas as pd from sklearn.model_selection import train_test_split from sklearn.linear_model import LogisticRegression from sklearn.svm import SVC from sklearn.tree import DecisionTreeClassifier二、數據讀取與劃分
由于數據中,status的列為標簽,且status列不是第一列和最后一列。==》訓練集如何便捷獲取???
==》使用 pandas 的 drop 函數獲取訓練集。
1、drop() 函數
drop() 函數用于刪除表中的某一行或某一列,它不改變原有的dataframe中的數據,而是返回另一個dataframe來存儲刪除后的數據。
(1)drop函數的使用:刪除行、刪除列
drop函數默認刪除行,列需要加axis = 1
print frame.drop(['a']) print frame.drop(['Ohio'], axis = 1)(2)drop函數的使用:inplace參數
inplace參數默認為False,若 inplace=True 表示原數組直接就被替換。也就是說,采用inplace=True之后,原數組名(如2和3情況所示)對應的內存值直接改變;
而采用inplace=False之后,原數組名對應的內存值并不改變,需要將新的結果賦給一個新的數組或者覆蓋原數組的內存位置。
## 下面三種方式等價 DF= DF.drop('column_name', axis=1); DF.drop('column_name',axis=1, inplace=True) DF.drop([DF.columns[[0,1, 3]]], axis=1, inplace=True) # Note: zero indexed三、模型構建與評估
基本流程:模型構建model;model.fit();model.score()
## 邏輯回歸模型 lr = LogisticRegression(random_state=2018) lr.fit(x_train,y_train) score1 = lr.score(x_test,y_test) print(score1)## SVM模型 svm = SVC(random_state=2018) svm.fit(x_train,y_train) score2 = svm.score(x_test, y_test) print(score2)## 決策樹模型 dt = DecisionTreeClassifier(random_state=2018) dt.fit(x_train, y_train) score3 = dt.score(x_test,y_test) print(score3)疑問:使用SVM和線性回歸測出得準確率一模一樣?
總結
以上是生活随笔為你收集整理的金融贷款逾期的模型构建1的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Python】编程笔记2
- 下一篇: 金融贷款逾期的模型构建2——集成模型