首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >原始xgboost (Learning API)和sklearn XGBClassifier (Scikit-Learn API)的区别

原始xgboost (Learning API)和sklearn XGBClassifier (Scikit-Learn API)的区别
EN

Stack Overflow用户
提问于 2016-06-21 19:38:31
回答 3查看 8.8K关注 0票数 15

我使用下面的xgboot sklearn接口来创建和训练xgb model-1。

代码语言:javascript
复制
clf = xgb.XGBClassifier(n_estimators = 100, objective= 'binary:logistic',)
clf.fit(x_train, y_train,  early_stopping_rounds=10, eval_metric="auc", 
    eval_set=[(x_valid, y_valid)])

xgboost模型可以由原始的xgboost创建,如下面的model-2所示:

代码语言:javascript
复制
param = {}
param['objective'] = 'binary:logistic'
param['eval_metric'] = "auc"
num_rounds = 100
xgtrain = xgb.DMatrix(x_train, label=y_train)
xgval = xgb.DMatrix(x_valid, label=y_valid)
watchlist = [(xgtrain, 'train'),(xgval, 'val')]
model = xgb.train(plst, xgtrain, num_rounds, watchlist, early_stopping_rounds=10)

我认为模型1和模型2之间的所有参数都是相同的。但是验证分数是不同的。模型1和模型2之间有什么区别吗?

EN

回答 3

Stack Overflow用户

发布于 2016-08-22 16:08:05

据我所知,xgb中的默认参数和sklearn界面中的默认参数有很多不同之处。例如:默认的xgb有eta=0.3,而另一个有eta=0.1。您可以在此处查看有关每个实现的默认参数的更多信息:

https://github.com/dmlc/xgboost/blob/master/doc/parameter.md http://xgboost.readthedocs.io/en/latest/python/python_api.html#module-xgboost.sklearn

票数 8
EN

Stack Overflow用户

发布于 2016-06-21 19:49:10

结果应该是相同的,因为XGBClassifier只是一个sklearn的接口,它最终调用xgb库。

您可以尝试将相同的seed添加到这两种方法,以获得相同的结果。例如,在sklearn的界面中:

代码语言:javascript
复制
clf = xgb.XGBClassifier(n_estimators = 100, objective= 'binary:logistic',seed=1234)
票数 3
EN

Stack Overflow用户

发布于 2021-02-02 14:31:19

在我的例子中,我在sklearn中给出了XGVRegressor的n_esetimators10,它代表了原始xgboost的num_boost_round,两者显示了相同的结果,虽然是线性回归。其他参数设置为默认值。

代码语言:javascript
复制
#1
param = {
    'objective': 'reg:squarederror'
}
bst = xgb.train(param, dtrain)

#2
sk_xgb = xgb.XGBRegressor(objective="reg:squarederror", n_estimators=10)

# #1 and #2 result same

我的环境是xgboost1.3.0和scikit-learn 0.24.1 on conda 4.9.2。

试试看。

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

https://stackoverflow.com/questions/37943403

复制
相关文章

相似问题

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