如何存储包含 Gridsearchcv 对象的管道?

问题描述

我构建了以下模型:

def gen_binary_lightgbm(X_train,y_train,round_num,metric):
params = {
'learning_rate' : [0.001,0.01,0.05,0.08,0.1],'reg_lambda' : [0,0.5,1]
}

gkf = KFold(n_splits=5,shuffle=True,random_state=42).split(X_train,y_train)
lgb_estimator = lgb.LGBMClassifier(objective='binary',num_boost_round=round_num)

gsearch = Pipeline([('scaler',StandardScaler()),('model',gridsearchcv(
        estimator=lgb_estimator,param_grid=params,n_jobs=-1,scoring = metric,refit= metric,cv=gkf,verbose=-1,pre_dispatch=8,error_score=-999,return_train_score=True
        ))])

lgb_model = gsearch.fit(X_train,y_train)
return lgb_model

当我尝试腌制模型时:

with open(filename,'wb') as file:
    joblib.dump(lightgbm_model,file)

它出现了:

TypeError: can't pickle generator objects

谁能帮助我存储可以检索和进行预测的最佳模型?

非常感谢。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)