XGBClassifier速度较慢且即使传递verbose参数也不会打印任何输出。

9
我来翻译您的内容。这是我翻译的结果:

我有以下代码:

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需要如此长的时间?
2个回答

0

4
您不需要使用 setattr。您可以在实例化 model 时设置详细程度:model = XGBClassifier(verbosity = 2) - Luis Chaves Rodriguez
这对我不起作用 @LuisChavesRodriguez - Nick Camarda
对我来说,这个方法很有效。 - Nathan B

-3

你应该首先初始化你想要使用的模型,在你的情况下是XGBClassifier()

一个常见的流程是:

from xgboost import XGBClassifier

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,