作为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
答案 0 :(得分:0)
也许您没有正确安装Xgboost(在Windows中曾与我发生过一次),建议您尝试使用conda install
重新安装。
但是对于您而言,您可以尝试将代码上传到Google colab https://colab.research.google.com(它们为您提供了免费的GPU,并且所有内容都已安装)。该培训只需几秒钟。