Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 类型错误:uuu init_uuuu()获取了意外的关键字参数';reg_alpha';_Python_Machine Learning_Jupyter Notebook_Xgboost - Fatal编程技术网

Python 类型错误:uuu init_uuuu()获取了意外的关键字参数';reg_alpha';

Python 类型错误:uuu init_uuuu()获取了意外的关键字参数';reg_alpha';,python,machine-learning,jupyter-notebook,xgboost,Python,Machine Learning,Jupyter Notebook,Xgboost,使用随机搜索CV查找CATBoostClassifier模型的参数时。我收到类型错误: 这是我的代码片段。 我查找了有关该问题的catboost库,但找不到它。是什么导致了这种类型的错误 para={ "n_estimators" : [1000,5000,10000], "learning_rate" : [0.05, 0.10, 0.15, 0.20, 0.25, 0.30 ] , "max_depth"

使用随机搜索CV查找CATBoostClassifier模型的参数时。我收到类型错误: 这是我的代码片段。 我查找了有关该问题的catboost库,但找不到它。是什么导致了这种类型的错误

para={
 "n_estimators"     : [1000,5000,10000],
 "learning_rate"    : [0.05, 0.10, 0.15, 0.20, 0.25, 0.30 ] ,
 "max_depth"        : [ 3, 4, 5, 6, 8, 10, 12, 15],
 "reg_alpha"        : [0.4,0.7,1,3],
 "reg_lambda"       : [0.2,0.4,0.7,1,3],  
 "colsample_bytree" : [ 0.3, 0.4, 0.5 , 0.7 ],
 "subsample"        : [ 0.3, 0.5, 0.7, 1] 
    
}

import catboost as cb
cbg = cb.CatBoostClassifier()
random_search=RandomizedSearchCV(cbg,
                                 param_distributions=para,
                                 n_iter=5,
                                 scoring='roc_auc',
                                 n_jobs=-1,
                                 cv=5,
                                 verbose=3)
random_search.fit(X,y)




TypeError                                 Traceback (most recent call last)
<ipython-input-18-68719ca71dd9> in <module>
----> 1 random_search.fit(X,y)

~\Anaconda3\envs\py3.6-TF2.3\lib\site-packages\sklearn\utils\validation.py in inner_f(*args, **kwargs)
     70                           FutureWarning)
     71         kwargs.update({k: arg for k, arg in zip(sig.parameters, args)})
---> 72         return f(**kwargs)
     73     return inner_f
     74 

~\Anaconda3\envs\py3.6-TF2.3\lib\site-packages\sklearn\model_selection\_search.py in fit(self, X, y, groups, **fit_params)
    760             # of the params are estimators as well.
    761             self.best_estimator_ = clone(clone(base_estimator).set_params(
--> 762                 **self.best_params_))
    763             refit_start_time = time.time()
    764             if y is not None:

~\Anaconda3\envs\py3.6-TF2.3\lib\site-packages\sklearn\utils\validation.py in inner_f(*args, **kwargs)
     70                           FutureWarning)
     71         kwargs.update({k: arg for k, arg in zip(sig.parameters, args)})
---> 72         return f(**kwargs)
     73     return inner_f
     74 

~\Anaconda3\envs\py3.6-TF2.3\lib\site-packages\sklearn\base.py in clone(estimator, safe)
     86     for name, param in new_object_params.items():
     87         new_object_params[name] = clone(param, safe=False)
---> 88     new_object = klass(**new_object_params)
     89     params_set = new_object.get_params(deep=False)
     90 

TypeError: __init__() got an unexpected keyword argument 'reg_alpha'
第={
“n_估计数”:[1000500010000],
“学习率”:[0.05,0.10,0.15,0.20,0.25,0.30],
“最大深度”:[3,4,5,6,8,10,12,15],
“reg_alpha”:[0.4,0.7,1,3],
“reg_lambda”:[0.2,0.4,0.7,1,3],
“colsample_bytree”:[0.3,0.4,0.5,0.7],
“子样本”:[0.3,0.5,0.7,1]
}
将catboost作为cb导入
cbg=cb.CatBoostClassifier()
随机搜索=随机搜索CV(cbg,
参数分布=第,
n_iter=5,
得分='roc_auc',
n_jobs=-1,
cv=5,
冗长的(3)
随机搜索拟合(X,y)
TypeError回溯(最近一次调用上次)
在里面
---->1随机搜索拟合(X,y)
内部文件中的~\Anaconda3\envs\py3.6-TF2.3\lib\site packages\sklearn\utils\validation.py(*args,**kwargs)
70未来警告)
71 kwargs.update({k:arg代表k,arg在zip中(sig.parameters,args)})
--->72返回f(**kwargs)
73返回内部\u f
74
~\Anaconda3\envs\py3.6-TF2.3\lib\site packages\sklearn\model\u selection\\u search.py in fit(self、X、y、groups、**fit\u参数)
760个参数也是估计量。
761 self.best_estimator=克隆(克隆(基本_estimator)。设置参数(
-->762**self.best(最佳参数)
763重新安装\u开始\u时间=时间。时间()
764如果y不是无:
内部文件中的~\Anaconda3\envs\py3.6-TF2.3\lib\site packages\sklearn\utils\validation.py(*args,**kwargs)
70未来警告)
71 kwargs.update({k:arg代表k,arg在zip中(sig.parameters,args)})
--->72返回f(**kwargs)
73返回内部\u f
74
克隆中的~\Anaconda3\envs\py3.6-TF2.3\lib\site packages\sklearn\base.py(估计器,安全)
86对于名称,在新的\u对象\u params.items()中使用参数:
87新对象参数[名称]=克隆(参数,安全=假)
--->88新对象=klass(**新对象参数)
89参数集=新对象。获取参数(深=假)
90
TypeError:\uuuu init\uuuuuuuuuuuuu()获取了意外的关键字参数“reg\u alpha”

问题在于
reg_alpha
不是
init
序列化
CatBoostClassifier
的参数。您会发现,
reg_alpha
未列出。对于
colsample\u bytree
,您会发现同样的情况。从参数字典中删除这些参数可以解决此错误