首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >XGBClassifier num_class无效

XGBClassifier num_class无效
EN

Stack Overflow用户
提问于 2016-02-13 20:31:25
回答 1查看 6.6K关注 0票数 7

我使用XGBClassifier (在xgboost中)进行多类分类。在执行分类器时,我收到一个错误,该错误声明:

代码语言:javascript
复制
unexpected keyword argument 'num_class'

引起此错误的代码列在下面(params是xgb的有效参数集):

代码语言:javascript
复制
xgb.XGBClassifier(params, num_class=100)

我搜索了一下,发现'num_class‘参数名为'n_classes’,用于XGBClassifier的scikit实现。我尝试了这个更改,并收到了一个类似的错误:

代码语言:javascript
复制
unexpected keyword argument 'n_classes'

引起此错误的代码列于下:

代码语言:javascript
复制
xgb.XGBClassifier(params, num_class=100)

任何帮助修复此错误将不胜感激!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-02-21 22:55:24

在Sklearn中,您不需要显式地指定num_class参数。如果目标有两个以上的级别,XGBClassifier会自动切换到多类分类模式。

代码语言:javascript
复制
evals_result = {}
self.classes_ = list(np.unique(y))
self.n_classes_ = len(self.classes_)

 if self.n_classes_ > 2:
 # Switch to using a multiclass objective in the underlying XGB instance
 xgb_options["objective"] = "multi:softprob"
 xgb_options['num_class'] = self.n_classes_

在这里查看完整的源代码:https://github.com/dmlc/xgboost/blob/master/python-package/xgboost/sklearn.py

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35384977

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档