NotFittedError:在将 CatBoostClassifier 与 GridSearchCV

问题描述

我正在尝试将 gridsearchcvcatboostClassifier 一起用于多类 (3),但出现错误代码this Kaggle notebook 中似乎可以正常工作。估算器在没有 gridsearchcv 的情况下也能成功运行。

这是代码错误

model = catboostClassifier()
params = {'iterations': [500],'depth': [4,5,6],'loss_function': ['Logloss','CrossEntropy'],'l2_leaf_reg': np.logspace(-20,-19,3),'leaf_estimation_iterations': [10],'eval_metric': ['Accuracy'],'use_best_model': ['True'],'logging_level':['Silent'],'random_seed': [42]
         }

scorer = make_scorer(accuracy_score)
clf_grid = gridsearchcv(estimator=model,param_grid=params,scoring=scorer,cv=10)
clf_grid.fit(X_train,y_train)

错误

NotFittedError                            Traceback (most recent call last)
<ipython-input-49-d6ecb7a4f83f> in <module>
----> 1 clf_grid.fit(X_train,y_train,eval_set=(X_train,y_train))

~\anaconda3\lib\site-packages\sklearn\utils\validation.py in inner_f(*args,**kwargs)
     61             extra_args = len(args) - len(all_args)
     62             if extra_args <= 0:
---> 63                 return f(*args,**kwargs)
     64 
     65             # extra_args > 0

~\anaconda3\lib\site-packages\sklearn\model_selection\_search.py in fit(self,X,y,groups,**fit_params)
    839                 return results
    840 
--> 841             self._run_search(evaluate_candidates)
    842 
    843             # multimetric is determined here because in the case of a callable

~\anaconda3\lib\site-packages\sklearn\model_selection\_search.py in _run_search(self,evaluate_candidates)
   1286     def _run_search(self,evaluate_candidates):
   1287         """Search all candidates in param_grid"""
-> 1288         evaluate_candidates(ParameterGrid(self.param_grid))
   1289 
   1290 

~\anaconda3\lib\site-packages\sklearn\model_selection\_search.py in evaluate_candidates(candidate_params,cv,more_results)
    825                 # of out will be done in `_insert_error_scores`.
    826                 if callable(self.scoring):
--> 827                     _insert_error_scores(out,self.error_score)
    828                 all_candidate_params.extend(candidate_params)
    829                 all_out.extend(out)

~\anaconda3\lib\site-packages\sklearn\model_selection\_validation.py in _insert_error_scores(results,error_score)
    295 
    296     if successful_score is None:
--> 297         raise NotFittedError("All estimators Failed to fit")
    298 
    299     if isinstance(successful_score,dict):

NotFittedError: All estimators Failed to fit

解决方法

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

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

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