为什么XGBoost适配速度慢,即使数据集非常小?

3
作为一个完全的Python机器学习新手,我正在尝试训练一个XGBoost模型来预测鸢尾花数据集(https://www.kaggle.com/uciml/iris)。
目前我正在专注于XGBoost,试图获得一些经验。我的第一个模型训练,在66%的数据集上,仅使用了2个特征,但从未完成(在20分钟后被中断)。我还尝试将其缩小成一个非常小的样本(5个样本,2个特征),但仍然无法完成。
环境详细信息: MacBook Pro 2017,运行MacOS 10.14.5,使用Anaconda Navigator 1.9.7的Python 3.7.3。
# File downloaded from Kaggle Link above
iris = pd.read_csv('Iris.csv')
iris['Species'] = iris.apply(lambda r: r['Species'][5:], axis = 1)

features = iris[['PetalLengthCm', 'PetalWidthCm']]
species, labels = pd.factorize(iris['Species'])

X_train, X_test, y_train, y_test = train_test_split(features, species, test_size=0.33, random_state=42)

xgb_x_train = X_train.head()
xgb_y_train = y_train[:5]

print(xgb_x_train.shape)
print(len(xgb_y_train))

(5, 2)
5

xgbclf = xgb.XGBClassifier()
xgbclf.fit(xgb_x_train, xgb_y_train)

我希望上述代码能够产生一个训练好的模型(由于只使用了5个样本,因此没有进行微调),在“合理”的时间内即不到4-5分钟内完成拟合阶段,但实际情况是拟合阶段从未完成。我是否做错了什么导致了这么长的拟合时间?感谢每一个建议!Mattia
1个回答

2
也许您没有正确安装Xgboost(我在Windows上曾经遇到过这种情况),我建议尝试使用conda install重新安装。但是对于您的情况,您可以尝试将代码上传到Google Colabhttps://colab.research.google.com(他们提供免费GPU并且所有内容已经安装好)。这个训练只需要几秒钟就可以完成。

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