为什么即使只有很小的数据集,XGBoost的拟合速度也会很慢?

时间:2019-07-06 08:05:51

标签: python machine-learning data-science xgboost

作为Python机器学习的完全新手,我正在尝试训练XGBoost模型来预测虹膜数据集(https://www.kaggle.com/uciml/iris)。

我目前正在专注于XGBoost,试图获得一些经验。 我的第一个模型训练仅占数据集的66%,仅包含2个要素,但从未完成(20分钟后中断)。我还尝试过用它做一个很小的示例(5个示例,2个功能),但仍然无法完成。

环境详细信息: 通过Anaconda Navigator 1.9.7使用MacOS 10.14.5,Python 3.7.3的MacBook Pro。

# 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)

我希望上面的代码能够在“合理的”时间内(即少于4-5分钟)生成训练好的模型(由于仅使用5个样本,因此无法进行微调),但是拟合阶段永远不会完成。

我做错什么了吗,可能会导致健身时间太长?

感谢每个建议! Mattia

1 个答案:

答案 0 :(得分:0)

也许您没有正确安装Xgboost(在Windows中曾与我发生过一次),建议您尝试使用conda install重新安装。

但是对于您而言,您可以尝试将代码上传到Google colab https://colab.research.google.com(它们为您提供了免费的GPU,并且所有内容都已安装)。该培训只需几秒钟。