Установка XGBoost на Windows
XGBoost - это очень эффективная библиотека, которая реализует алгоритмы адаптивного бустинга. Если вам понадобилось ее установить, то я предполагаю что вы знаете что это и зачем нужно.
Update: 02.03.2017
Вместо самостоятельной сборки можно воспользоваться неофициальными бинарниками.
- плюс: они собраны за вас и вам не придется самостоятельно проходить процесс сборки.
- минус: бинарники неофициальные, со всеми вытекающими последствиями.
Скачать можно здесь и сразу переходить к пункту 7.
Но, перед началом использования, пользователей Windows ожидает нетривиальный квест с установкой данной библиотеки. Об этом и пойдет речь в данной заметке.
Нижеописанное представляет собой микс из официальной документации и различных ответов на Stack Oveflow и Kaggle, с помощью которого мне удалось установить x64 пакет Python на Windows 8.1.
Если у вас есть возможность использовать XGBoost под *nix системой - так и сделайте. Весь процесс установки для *unix: pip install xgboost.
Пошаговая инструкция для Windows
1. Устанавливаем mingw64.
Путь установки не должен содержать кириллицы и желательно избежать пробелов. При установке выбираем:
Architecture: x86_64
Threads: win32
2. Добавляем папку ...\mingw64\bin в переменные среды.
3. Находим в папке ...\mingw64\bin файл mingw32-make.exe, копируем и переименовываем в make.exe.
4. Устанавливаем Cygwin-x86_64.
5. Если по какой-то причине не установлен Git, устанавливаем и добавляем в переменные среды.
6. Переходим непосредственно к процессу установки. Вместо обычного терминала открываем Cygwin64 и выполняем:
cd c:\
>
git clone --recursive https://github.com/dmlc/xgboost
cd xgboost
git submodule init
git submodule update
cp make/mingw64.mk ./config.mk
Если необходимо внести какие-то изменения в конфигурацию, это можно сделать в файле config.mk.
Остается одна команда:
make -j4
Возможно, у вас она выполнится нормально и в папке C:\xgboost появится файл xgboost.exe. Значит билд выполнен успешно.
У меня билд падал с ошибкой g++: error: unrecognized option '-pthread'.
Лечится эта ошибка изменением аргумента -pthread на -lpthread в 42 строке файла C:\xgboost\Makefile.
После этого наконец должен появиться файл xgboost.exe, это значит что мы все сделали правильно.
7. Осталось сделать из всего этого python пакет.
cd python-package
python setup.py install
Для выполнения этой команды могут понадобиться distutils, которые входят в setuptools.
8. Тестируем
python
>>> import xgboost
>>> xgboost.__version__
'0.4'
XGBoost установлен. Радуемся и начинаем обучать адаптивные леса.
Дополнительно проверить надежность установки можно на официальных примерах.