我有以下代码:

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中读取的 Pandas 。

上面的代码打印:
(1460, 7)
(1460,)

但是,在10分钟内没有任何其他内容打印出来,这意味着代码卡在了clf.fit上,因此我假设算法不应该花很长时间。

如您所见,只有1460示例,所以我假设算法不应该花很长时间。

此外,自从我传递了verbose=True以来,我希望模型能够输出一些输出,但是那没有发生。

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

最佳答案

查看文档:
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)

10-06 05:22