首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >xgboost.sklearn.XGBClassifier和xgboost.XGBClassifier有什么区别?

xgboost.sklearn.XGBClassifier和xgboost.XGBClassifier有什么区别?
EN

Data Science用户
提问于 2021-12-09 09:07:42
回答 1查看 1.2K关注 0票数 1

xgboost.sklearnxgboost.XGBClassifier

下面是我尝试从make_moons训练sklearn.datasets数据集的代码,并看到了这些数据集与函数的区别,但结果是相同的:

数据:

代码语言:javascript
运行
复制
from sklearn import datasets
from sklearn import model_selection
X, y = datasets.make_moons(n_samples=100000, noise=0.4, random_state=341)
x_train, x_test, y_train, y_test = model_selection.train_test_split(X, y, test_size=0.2, random_state=431)

分类器:

代码语言:javascript
运行
复制
xgb1 = xgboost.sklearn.XGBClassifier(max_depth=2)
xgb2 = xgboost.XGBClassifier(max_depth=2)

列车部分:

代码语言:javascript
运行
复制
xgb1.fit(x_train, y_train)
xgb2.fit(x_train, y_train)

试验部分:

代码语言:javascript
运行
复制
print(xgb1.score(x_test, y_test))
print(xgb2.score(x_test, y_test))

结果:

代码语言:javascript
运行
复制
xgb1:   0.8626
xgb2:   0.8626

正如你所看到的,结果是一样的,所以,为什么有两种不同的方法来接近呢?如果他们是不同的,你能解释一下有什么不同吗?哪一种更适合使用?我的问题不在于分类器本身,而在于xgboost.sklearn,我想知道我可以只使用xgboostxgboost.sklearn吗?为什么?

EN

回答 1

Data Science用户

发布于 2021-12-09 09:40:33

它们完全相同,并为它们的xgboost模型提供了一个scikit-learn API,而不是同样可用的学习API。您可以在源代码中看到,在xgboost中,他们从xgboost.sklearn导入XGBClassifier,这与您使用的第二个模型完全相同。至于要使用的两个类中的哪一个,因为它们完全相同,所以这并不重要,但我可能会使用xgboost.XGBClassifier,因为这是已经在包的顶层公开的类。

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

https://datascience.stackexchange.com/questions/104917

复制
相关文章

相似问题

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