這份資料集是金融資料(非原始資料,已經處理過了),我們要做的是**貸款使用者是否會逾期。**中 「status」 是結果標籤:0表示未逾期,1表示逾期。
評價指標暫時選定為準確率值
通常金融的是否預期問題為不平衡資料,因此選區auc為評價指標比較有參考意義模型構建的流程如下:
2.1資料匯入
# 匯入資料處理和建模需要使用的python包
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
from sklearn import cross_validation, metrics
# 讀取資料
data = pd.read_csv("../input/datawhale2246/data_all.csv")
#確認下目標變數得分布情況
data.status.value_counts()
專案
value
03561
11193
跟之前猜測差不多,並沒有特別均衡,後續再優化,建議可以採用auc-roc指標替換2.2資料切分
# 切分資料集,引入隨機數,以便模型結果複線
x = data.drop(['status'], axis=1)
y = data['status']
x_train, x_test, y_train, y_test = train_test_split(x, y, test_size=0.3, random_state=2018)
2.3模型訓練# 代入3個模型,引入隨機數,以便模型結果複線
#邏輯回歸
lr = logisticregression(random_state=2018)
lr.fit(x_train, y_train)
#svm
svc = svm.svc(random_state=2018)
svc.fit(x_train, y_train)
#決策樹
dt = decisiontreeclassifier(random_state=2018)
dt.fit(x_train, y_train)
2.3模型評價#利用上述訓練得模型,**test資料,並檢視模型指標
print(lr.score(x_test, y_test))
print(dt.score(x_test, y_test))
print(svc.score(x_test, y_test))
最後結果如下:
0.7484232655921513
0.6846531184302733
0.7484232655921513
演算法(1) 遞迴演算法1
人理解迭代,神理解遞迴。綜上所述,還是不理解地好。遞迴三要素 1 明確遞迴的終止條件 2 給出遞迴終止時的處理辦法 3 提取重複的邏輯,縮小問題的規模 遞迴的兩種解決模式 1 在遞去的過程中解決問題 function recursion 大規模input if end condition endel...
演算法 高斯演算法 1
高斯演算法 1 include stdio.h include math.h include stdlib.h void max ele double af 21 int n,int k 選主元 int gauss double a 20 double f,double x,int n guass ...
演算法1 啊哈演算法!
首先這裡會有乙個簡單的排序演算法。問題 0 10內的數排序,假如有五個人的分數為為9,1,2,4,5 思路 include int main for i 0 i 10 i 依次判斷a 0 a 10 for j 1 j a i j 出現了幾次就列印幾次 printf d i getchar getch...