Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to install xgboost in python on MacOS?

Tags:

I am a newbie and learning python. Can someone help me- how to install xgboost in python. Im using Mac 10.11. I read online and did the below mentioned step, but not able to decode what to do next:

pip install xgboost -  
like image 707
aman sanduja Avatar asked Sep 04 '16 08:09

aman sanduja


People also ask

Is XGBoost a Python library?

XGBoost library in Python is used for supervised learning problems, where we use the training data (with multiple features) to predict a target variable.

How do I download XGBoost in Jupyter notebook?

Installing xgboost in AnacondaStep 1: Install the current version of Python3 in Anaconda. Step 2: Check pip3 and python3 are correctly installed in the system. Step 3: To install xgboost library we will run the following commands in conda environment.


1 Answers

It's a little more complicated if you want to use multi-threading. For the record, I am using a Mac with OS X 10.10 (Yosemite). It took me a while to work through the various issues, but it is now running nicely in my Anaconda (Py36) environment.

For multi-threading you need to do the following first (install homebrew if you have not done so):

brew install gcc --without-multilib 

You might get some warnings to unlink directories or delete them if you have other versions installed; follow the warnings/instructions.

Next get the xgboost files from Github. I downloaded it to Anaconda/pkgs directory.

git clone --recursive https://github.com/dmlc/xgboost 

The next series of steps differ from the documentation on the xgboost site, and I cobbled it together from lots of sources and also experimenting. The problem is that some key lines in the make files are commented out and also not fully specified.

cd xgboost; cp make/config.mk ./config.mk 

Now, use your favorite editor (I used vi), and go into the file that you copied from /make to /xgboost

vi config.mk 

Uncomment the lines near the top of the file:

export CC = gcc

export CXX = g++

Change them to the following:

export CC = gcc-6  export CXX = g++-6 

It is possible that simply uncommenting the lines solves the problem. It did not for me; I needed to add the -6 to both lines. Save the file.

Also, make changes to the file xgboost/Makefile; change lines:

export CC = $(if $(shell which clang), clang, gcc) ... ... export CXX = $(if $(shell which clang++), clang++, g++) 

to the following:

export CC = $(if $(shell which clang), clang, gcc-6) ... ... export CXX = $(if $(shell which clang++), clang++, g++-6) 

Again, I used vi for this editing.

Save the file and now you need to run a cleaning step since you changed the Makefile.

make clean_all && make -j4 

This should configure it cleanly and build the library. You still need to install it.

cd python-package; python setup.py install 

Now restart Python/Anaconda and you should be able to import the library.

like image 183
Bryan Butler Avatar answered Sep 21 '22 03:09

Bryan Butler