資料分析集訓營 第三次任務(模型構建)

2021-09-26 02:04:31 字數 2517 閱讀 5132

匯入包

import pandas as pd

import warnings

from sklearn.preprocessing import scale

from sklearn.model_selection import cross_val_score

from sklearn.linear_model import logisticregression

from sklearn.tree import decisiontreeclassifier

from sklearn.svm import svc

from sklearn.ensemble import randomforestclassifier

from sklearn.ensemble import gradientboostingclassifier

from xgboost.sklearn import xgbclassifier

import lightgbm as lgb

讀取資料
data_all = pd.read_csv(

'data_all.csv'

, encoding=

'gbk'

)df_y=data_all[

'status'

]df_x=data_all.drop(columns=

['status'])

df_x=scale(df_x,axis=0)

#將資料轉化為標準資料

模型構建
lr = logisticregression(random_state=

2018

,tol=1e-

6)# 邏輯回歸模型

tree = decisiontreeclassifier(random_state=

2018

)#決策樹模型

svm = svc(probability=

true

,random_state=

2018

,tol=1e-

6)# svm模型

forest=randomforestclassifier(n_estimators=

100,random_state=

2018

)# 隨機森林

gbdt=gradientboostingclassifier(random_state=

2018

)#cbdt

xgbc=xgbclassifier(random_state=

2018

)#xgbc

gbm=lgb.lgbmclassifier(random_state=

2018

)#lgb

五折交叉驗證
def

muti_score

(model)

: warnings.filterwarnings(

'ignore'

) accuracy = cross_val_score(model, df_x, df_y, scoring=

'accuracy'

, cv=5)

precision = cross_val_score(model, df_x, df_y, scoring=

'precision'

, cv=5)

recall = cross_val_score(model, df_x, df_y, scoring=

'recall'

, cv=5)

f1_score = cross_val_score(model, df_x, df_y, scoring=

'f1'

, cv=5)

auc = cross_val_score(model, df_x, df_y, scoring=

'roc_auc'

, cv=5)

print

("準確率:"

,accuracy.mean())

print

("精確率:"

,precision.mean())

print

("召回率:"

,recall.mean())

print

("f1_score:"

,f1_score.mean())

print

("auc:"

,auc.mean(

))

執行
model_name=

["lr"

,"tree"

,"svm"

,"forest"

,"gbdt"

,"xgbc"

,"gbm"

]for name in model_name:

model=

eval

(name)

print

(name)

muti_score(model)

第三次任務

一 整數反轉 給出乙個 32 位的有符號整數,你需要將這個整數中每位上的數字進行反轉。示例 1 輸入 123輸出 321示例 2 輸入 123輸出 321示例 3 輸入 120輸出 21解 主要是將所給數的位置顛倒,以獲得乙個新的數,我們可以預先檢測向原整數附加另一數是否溢位。class solut...

資料分析集訓營 第二次任務(特徵工程)

特徵衍生 特徵挑選 分別用iv值和隨機森林等進行特徵選擇 以及你能想到特徵工程處理 def calcwoe dataset,col,target 對特徵進行統計分組 subdata df dataset.groupby col col count 每個分組中響應客戶的數量 suby df datas...

團隊任務(第三次)

蛇的 時間設定 b 好處 對玩家的好處 既有遊戲體驗又防止玩家的沉迷 c 競爭對手 競爭對手 d 交付推廣方式 軟體原型和說明書。原型 原型說明書 使用者開啟軟體執行程式,點選 開始遊戲 按鈕,進入遊戲介面。使用者需使用鍵盤上的 上下左右 方向鍵控制蛇頭的前進方向。遊戲裡有病毒及特定區域,如果吃到病...