尽管传递了详细参数,XGBC分类器很慢并且不打印任何输出

时间:2017-12-29 17:55:29

标签: python dataframe xgboost

我有以下代码:

from xgboost import XGBClassifier

print(df_train.shape)
print(df_train_labels.shape)

clf = clf.fit(df_train, df_train_labels, verbose=True)
print("after fit")

此处df_traindf_train_labels是我从CSV中读取的大熊猫。

以上代码打印:

(1460, 7)
(1460,)

然而,10分钟内没有打印任何其他内容,这意味着代码停留在clf.fit,所以我假设算法不应该在此花费很长时间。

正如您所看到的,只有1460个例子,所以我假设算法不应该花费很长时间。

此外,由于我通过verbose=True,我原本期望模型打印一些输出,但这种情况不会发生。

知道为什么没有打印输出以及为什么XGBClassifier花了这么长时间?

2 个答案:

答案 0 :(得分:0)

查看文档: https://xgboost.readthedocs.io/en/latest/python/python_api.html#module-xgboost.sklearn

看起来用于打印进度的参数称为详细程度。 将其设置为0到3之间的任何值(调试时为3)。

from xgboost import XGBClassifier
model = XGBClassifier()
setattr(model, 'verbosity', 2)

答案 1 :(得分:-1)

在您的情况下,XGBClassifier()首先应初始化要使用的模型。 常用的管道是:

from xgboost import XGBClassifier

model = XGBClassifier()
model.fit(df_train, df_train_labels)
y_pred = model.predict(df_test)