DataWhale Day1 演算法實踐任務1

2021-09-03 10:22:08 字數 1639 閱讀 6121

這份資料集是金融資料(非原始資料,已經處理過了),我們要做的是**貸款使用者是否會逾期。**中 「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...