金融贷款逾期的模型构建1
數(shù)據(jù)
data_all.csv文件是非原始數(shù)據(jù),已經(jīng)處理過了。數(shù)據(jù)是金融數(shù)據(jù), 我們要做的是預(yù)測貸款用戶是否會逾期。表格中, status是標(biāo)簽: 0表示未逾期, 1表示逾期。
任務(wù)——模型構(gòu)建
給定數(shù)據(jù)集,數(shù)據(jù)三七分,隨機種子2018。(在任務(wù)1中什么都不用考慮,即不需數(shù)據(jù)處理和模型調(diào)參)
調(diào)用sklearn的包,簡單構(gòu)建邏輯回歸、SVM和決策樹3個模型,評分方式任意(e.g. 準(zhǔn)確度和auc值)。
一、相關(guān)庫
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二、數(shù)據(jù)讀取與劃分
由于數(shù)據(jù)中,status的列為標(biāo)簽,且status列不是第一列和最后一列。==》訓(xùn)練集如何便捷獲取???
==》使用 pandas 的 drop 函數(shù)獲取訓(xùn)練集。
1、drop() 函數(shù)
drop() 函數(shù)用于刪除表中的某一行或某一列,它不改變原有的dataframe中的數(shù)據(jù),而是返回另一個dataframe來存儲刪除后的數(shù)據(jù)。
(1)drop函數(shù)的使用:刪除行、刪除列
drop函數(shù)默認刪除行,列需要加axis = 1
print frame.drop(['a']) print frame.drop(['Ohio'], axis = 1)(2)drop函數(shù)的使用:inplace參數(shù)
inplace參數(shù)默認為False,若 inplace=True 表示原數(shù)組直接就被替換。也就是說,采用inplace=True之后,原數(shù)組名(如2和3情況所示)對應(yīng)的內(nèi)存值直接改變;
而采用inplace=False之后,原數(shù)組名對應(yīng)的內(nèi)存值并不改變,需要將新的結(jié)果賦給一個新的數(shù)組或者覆蓋原數(shù)組的內(nèi)存位置。
## 下面三種方式等價 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三、模型構(gòu)建與評估
基本流程:模型構(gòu)建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和線性回歸測出得準(zhǔn)確率一模一樣?
總結(jié)
以上是生活随笔為你收集整理的金融贷款逾期的模型构建1的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Python】编程笔记2
- 下一篇: 【Python】编程笔记3