任务
使用网格搜索对模型进行调优并采用五折交叉验证的方式进行模型评估
实现
之前已经进行过数据探索,缺失值和异常值处理、特征生成、特征删除、缩放等处理,具体可见前几篇博客。本文只进行带交叉验证的网格搜索调参,然后与调参前评分做比较。
from sklearn.model_selection import GridSearchCV,train_test_split
from sklearn.linear_model import LogisticRegression
from sklearn.svm import SVC
from sklearn.tree import DecisionTreeClassifier
from xgboost.sklearn import XGBClassifier
from lightgbm.sklearn import LGBMClassifier
X_std_train,X_std_test,y_train,y_test = train_test_split(X_std,y,test_size=0.3,random_state=1122)
#网格搜索调参
def gridSearch_vali(model,param_grid,cv=5):
print("parameters:{}".format(param_grid))
grid_search = GridSearchCV(estimator=model,param_grid=param_grid,cv=cv,scoring='f1_micro')
grid_search.fit(X_std_train,y_train)
print("Best parameters for",model,"is:{}".format(grid_search.best_params_)