如何在 macOS 上为 Python 安装 XGBoost

原文: https://machinelearningmastery.com/install-xgboost-python-macos/

XGBoost 是一个用于开发非常快速和准确的梯度提升模型的库。

它是 Kaggle 数据科学竞赛中许多获奖解决方案中心的图书馆。

在本教程中,您将了解如何在 macOS 上安装 Python 的 XGBoost 库。

让我们开始吧。

如何在 macOS 上为 Python 安装 XGBoost - 图1

如何在 macOS 上安装 XGBoost for Python
照片来自 auntjojo ,保留一些权利。

教程概述

本教程分为 3 个部分;他们是:

  1. 安装 MacPorts
  2. 构建 XGBoost
  3. 安装 XGBoost

注意:我已经在一系列不同的 macOS 版本上使用了这个程序多年,并且没有改变。本教程是在 macOS High Sierra(10.13.1)上编写和测试的。

1.安装 MacPorts

您需要安装 GCC 和 Python 环境才能构建和安装 XGBoost for Python。

我推荐使用 GCC 7 和 Python 3.6,我建议使用 MacPorts 安装这些先决条件。

  • 1.有关逐步安装 MacPorts 和 Python 环境的帮助,请参阅本教程:

>>如何在 Mac OS X 上安装 Python 3 环境以进行机器学习和深度学习

  • 2.安装 MacPorts 和可用的 Python 环境后,您可以按如下方式安装和选择 GCC 7:
  1. sudo port install gcc7
  2. sudo port select --set gcc mp-gcc7
  • 3.确认您的 GCC 安装成功,如下所示:
  1. gcc -v

你应该看到印刷版的 GCC;例如:

  1. ..
  2. gcc version 7.2.0 (MacPorts gcc7 7.2.0_0)

你看到什么版本?
请在下面的评论中告诉我。

2.构建 XGBoost

下一步是为您的系统下载并编译 XGBoost。

  • 1.首先,从 GitHub 查看代码库:
  1. git clone --recursive https://github.com/dmlc/xgboost
  • 2.转到 xgboost 目录。
  1. cd xgboost/
  • 3.复制我们打算用来将 XGBoost 编译到位的配置。
  1. cp make/config.mk ./config.mk
  • 4.编译 XGBoost;这要求您指定系统上的核心数(例如,8,根据需要进行更改)。
  1. make -j8

构建过程可能需要一分钟,不应产生任何错误消息,尽管您可能会看到一些可以安全忽略的警告。

例如,编译的最后一个片段可能如下所示:

  1. ...
  2. a - build/learner.o
  3. a - build/logging.o
  4. a - build/c_api/c_api.o
  5. a - build/c_api/c_api_error.o
  6. a - build/common/common.o
  7. a - build/common/hist_util.o
  8. a - build/data/data.o
  9. a - build/data/simple_csr_source.o
  10. a - build/data/simple_dmatrix.o
  11. a - build/data/sparse_page_dmatrix.o
  12. a - build/data/sparse_page_raw_format.o
  13. a - build/data/sparse_page_source.o
  14. a - build/data/sparse_page_writer.o
  15. a - build/gbm/gblinear.o
  16. a - build/gbm/gbm.o
  17. a - build/gbm/gbtree.o
  18. a - build/metric/elementwise_metric.o
  19. a - build/metric/metric.o
  20. a - build/metric/multiclass_metric.o
  21. a - build/metric/rank_metric.o
  22. a - build/objective/multiclass_obj.o
  23. a - build/objective/objective.o
  24. a - build/objective/rank_obj.o
  25. a - build/objective/regression_obj.o
  26. a - build/predictor/cpu_predictor.o
  27. a - build/predictor/predictor.o
  28. a - build/tree/tree_model.o
  29. a - build/tree/tree_updater.o
  30. a - build/tree/updater_colmaker.o
  31. a - build/tree/updater_fast_hist.o
  32. a - build/tree/updater_histmaker.o
  33. a - build/tree/updater_prune.o
  34. a - build/tree/updater_refresh.o
  35. a - build/tree/updater_skmaker.o
  36. a - build/tree/updater_sync.o
  37. c++ -std=c++11 -Wall -Wno-unknown-pragmas -Iinclude -Idmlc-core/include -Irabit/include -I/include -O3 -funroll-loops -msse2 -fPIC -fopenmp -o xgboost build/cli_main.o build/learner.o build/logging.o build/c_api/c_api.o build/c_api/c_api_error.o build/common/common.o build/common/hist_util.o build/data/data.o build/data/simple_csr_source.o build/data/simple_dmatrix.o build/data/sparse_page_dmatrix.o build/data/sparse_page_raw_format.o build/data/sparse_page_source.o build/data/sparse_page_writer.o build/gbm/gblinear.o build/gbm/gbm.o build/gbm/gbtree.o build/metric/elementwise_metric.o build/metric/metric.o build/metric/multiclass_metric.o build/metric/rank_metric.o build/objective/multiclass_obj.o build/objective/objective.o build/objective/rank_obj.o build/objective/regression_obj.o build/predictor/cpu_predictor.o build/predictor/predictor.o build/tree/tree_model.o build/tree/tree_updater.o build/tree/updater_colmaker.o build/tree/updater_fast_hist.o build/tree/updater_histmaker.o build/tree/updater_prune.o build/tree/updater_refresh.o build/tree/updater_skmaker.o build/tree/updater_sync.o dmlc-core/libdmlc.a rabit/lib/librabit.a -pthread -lm -fopenmp

这一步对你有用吗?
请在下面的评论中告诉我。

3.安装 XGBoost

您现在可以在系统上安装 XGBoost 了。

  • 1.将目录更改为 xgboost 项目的 Python 包。
  1. cd python-package
  • 2.安装 Python XGBoost 包。
  1. sudo python setup.py install

安装非常快。

例如,在安装结束时,您可能会看到如下消息:

  1. ...
  2. Installed /opt/local/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/xgboost-0.6-py3.6.egg
  3. Processing dependencies for xgboost==0.6
  4. Searching for scipy==1.0.0
  5. Best match: scipy 1.0.0
  6. Adding scipy 1.0.0 to easy-install.pth file
  7. Using /opt/local/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages
  8. Searching for numpy==1.13.3
  9. Best match: numpy 1.13.3
  10. Adding numpy 1.13.3 to easy-install.pth file
  11. Using /opt/local/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages
  12. Finished processing dependencies for xgboost==0.6
  • 3.通过打印 xgboost 版本确认安装是否成功,这需要加载库。

将以下代码保存到名为 version.py 的文件中。

  1. import xgboost
  2. print("xgboost", xgboost.__version__)

从命令行运行脚本:

  1. python version.py

您应该看到 XGBoost 版本打印到屏幕:

  1. xgboost 0.6

你是怎么做的?
在以下评论中发布您的结果。

进一步阅读

如果您希望深入了解,本节将提供有关该主题的更多资源。

摘要

在本教程中,您了解了如何在 macOS 上逐步安装 XGBoost for Python。

你有任何问题吗?
在下面的评论中提出您的问题,我会尽力回答。