利用網格搜尋打發+k折交叉驗證來調參,一般模型調參基本上都這樣用,但是查閱了一下資料,還有很多神仙操作,特此宣告,本文僅僅用到了最簡答的方法。。。捂臉。
上**
#調包俠de日常
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import standardscaler
from sklearn import metrics
from sklearn.model_selection import gridsearchcv
from sklearn.linear_model import logisticregression
from sklearn.svm import svc
from sklearn.tree import decisiontreeclassifier
from sklearn.ensemble import randomforestclassifier
from sklearn.ensemble import gradientboostingclassifier
from xgboost import xgbclassifier
from lightgbm import lgbmclassifier
#資料預處理
data_all = pd.read_csv(
'data_all.csv'
)print
('資料的行列'
,data_all.shape)
x = data_all.drop(
['status'
],axis=1)
y = data_all[
'status'
]x_train,x_test,y_train,y_test = train_test_split(x,y,test_size=
0.3,random_state=
2018
)from sklearn import preprocessing
x_scaled = preprocessing.scale(x_train)
x_scaled_test = preprocessing.scale(x_test)
#錄入模型
lr = logisticregression(
)svc = svc(
)clfclf = decisiontreeclassifier(
)rfc = randomforestclassifier(
)gbc = gradientboostingclassifier(
)xgb = xgbclassifier(probability=
true
)lgb = lgbmclassifier(probability=
true
)#匯入本次最終的包
from sklearn.model_selection import gridsearchcv
#開始表演
#lr回歸
param_grid =
grid=gridsearchcv(estimator=lr,param_grid=param_grid,cv=
5,scoring=
'accuracy'
)grid.fit(x_scaled,y_train)
print
('網格搜尋-最佳度量值:'
,grid.best_score_)
# 獲取最佳度量值,
print
('網格搜尋-最佳引數:'
,grid.best_params_)
# 獲取最佳度量值時的代定引數的值。是乙個字典
print
('網格搜尋-最佳模型:'
,grid.best_estimator_)
# 獲取最佳度量時的分類器模型
#svm
param_grid =
grid=gridsearchcv(estimator=svc,param_grid=parameters,cv=5)
grid.fit(x_scaled,y_train)
print
('網格搜尋-最佳度量值:'
,grid.best_score_)
# 獲取最佳度量值,
print
('網格搜尋-最佳引數:'
,grid.best_params_)
# 獲取最佳度量值時的代定引數的值。是乙個字典
print
('網格搜尋-最佳模型:'
,grid.best_estimator_)
# 獲取最佳度量時的分類器模型
#desicion tree
param_grid =
grid=gridsearchcv(estimator=clf,param_grid=param_grid,cv=5)
grid.fit(x_scaled,y_train)
print
('網格搜尋-最佳度量值:'
,grid.best_score_)
# 獲取最佳度量值,
print
('網格搜尋-最佳引數:'
,grid.best_params_)
# 獲取最佳度量值時的代定引數的值。是乙個字典
print
('網格搜尋-最佳模型:'
,grid.best_estimator_)
# 獲取最佳度量時的分類器模型
#random forest
param_grid =
grid=gridsearchcv(estimator=rfc,param_grid=param_grid,cv=5)
grid.fit(x_scaled,y_train)
print
('網格搜尋-最佳度量值:'
,grid.best_score_)
# 獲取最佳度量值,
print
('網格搜尋-最佳引數:'
,grid.best_params_)
# 獲取最佳度量值時的代定引數的值。是乙個字典
print
('網格搜尋-最佳模型:'
,grid.best_estimator_)
# 獲取最佳度量時的分類器模型
#gbdt
param_grid =
grid=gridsearchcv(estimator=gbc,param_grid=param_grid,cv=5)
grid.fit(x_scaled,y_train)
print
('網格搜尋-最佳度量值:'
,grid.best_score_)
# 獲取最佳度量值,
print
('網格搜尋-最佳引數:'
,grid.best_params_)
# 獲取最佳度量值時的代定引數的值。是乙個字典
print
('網格搜尋-最佳模型:'
,grid.best_estimator_)
# 獲取最佳度量時的分類器模型
#xgb
param_grid =
grid=gridsearchcv(estimator=xgb,param_grid=param_grid,cv=5)
grid.fit(x_scaled,y_train)
print
('網格搜尋-最佳度量值:'
,grid.best_score_)
# 獲取最佳度量值,
print
('網格搜尋-最佳引數:'
,grid.best_params_)
# 獲取最佳度量值時的代定引數的值。是乙個字典
print
('網格搜尋-最佳模型:'
,grid.best_estimator_)
# 獲取最佳度量時的分類器模型
#lgbm
param_grid =
grid=gridsearchcv(estimator=lgb,param_grid=param_grid,cv=5)
grid.fit(x_scaled,y_train)
print
('網格搜尋-最佳度量值:'
,grid.best_score_)
# 獲取最佳度量值,
print
('網格搜尋-最佳引數:'
,grid.best_params_)
# 獲取最佳度量值時的代定引數的值。是乙個字典
print
('網格搜尋-最佳模型:'
,grid.best_estimator_)
# 獲取最佳度量時的分類器模型
Python 多工之協程(3)實現多工
學習理解迭代器和生成器之後,開始使用協程來實現多工 當乙個函式中包含yield關鍵字,那麼這個函式就不再是乙個普通的函式,它的返回值是乙個生成器物件。我們可以使用next 或send 函式來啟動喚醒生成器物件,當程式第一次執行到yield時,程式暫停執行,並返回yield後邊跟的變數,當再次喚醒時,...
上機任務3
1 求斐波那契數列中的第n個數的值 1,1,2,3,4,5,8,13,21,34.while true n int input 請輸入斐波那契數的序號 qian 1 hou 1 if n 0 print 請輸入正數 elif n 2 print 斐波那契數列第 n,位是 1 else for i i...
團隊任務3
ui設計師 軟體測試師 任務完成情況 遊戲介面搭建 完成更改遊戲介面及外觀 完成增加模式選擇介面 完成增加開始遊戲介面 完成增加遊戲死亡介面 完成蛇移動及分數顯示 完成增加倒計時功能 完成遊戲結束儲存最高分數 完成問題 改進措施 ui任務導致拖延 產品 專案經理幫助ui設計師工作 程式打包出現問題 ...