我有以下代码:
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_train
和df_train_labels
是我从CSV中读取的大熊猫。
以上代码打印:
(1460, 7)
(1460,)
然而,10分钟内没有打印任何其他内容,这意味着代码停留在clf.fit
,所以我假设算法不应该在此花费很长时间。
正如您所看到的,只有1460
个例子,所以我假设算法不应该花费很长时间。
此外,由于我通过verbose=True
,我原本期望模型打印一些输出,但这种情况不会发生。
知道为什么没有打印输出以及为什么XGBClassifier
花了这么长时间?
答案 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)