Пользователь
0,0
рейтинг
17 декабря 2015 в 14:06

Разработка → Сборка XGBoost для Python под Windows из песочницы

Windows is so evil that consumes extra energy to make the things running.



Библиотека XGBoost гремит на всех соревнованиях по машинному обучению и помогает завоёвывать призовые места. Однако, стать обладателем этого пакета для Python под Windows не так просто.

Процесс установки скудно описан на GitHub и немногим шире на форуме Kaggle. Поэтому попробую описать пошагово и более подробно. Надеюсь это поможет сохранить много времени неопытным пользователям.

Допустим у вас уже установлен Python. В моём случае это сборка Anaconda с Python 3.4.

1. Устанавливаем JDK от Oracle. Потому что для компиляции нам потребуется библиотека JNI.

2. Устанавливаем Visual Studio 2013 по ссылке выделенной на скриншоте. Более поздние версии просят править код решения, поэтому для простых людей не подходят. Само решение xgboost, опубликованное на GitHub, собрано в Visual Studio 2010.



3. Скачиваем всю библиотеку XGBoost c GitHub:



4. Распаковываем архив, получаем папку C:\xgboost-master.

5. Открываем с помощью Visual Studio файл решения C:\xgboost-master\windows\xgboost.sln. Выбираем Release и вариант платформы, под которую будем собирать. Далее Build -> Build Solution. В результате должны получить «4 succeeded»:



Уже на этом этапе можно собрать проблемы.

«Не удалось обнаружить CL.exe» — при установке не был выбран C#/Visual C++. Доустанавливаем компоненты.

«Cannot open include file: 'corecrt.h'» — ищете файл поиском, скорее всего он тут: ProgramFiles(x86)\Windows Kits\10\Include\10.0.10150.0\ucrt и добавляете директорию в $IncludePath, либо поступаете грубо и копируете все *.h файлы куда-нибудь на видное место, например в Program Files\Microsoft Visual Studio 12.0\VC\include.

«Cannot open include file: 'jni.h'» — после установки JDK ошибки не должно быть.

Однако всё может пройти гладко и никаких проблем не будет. У меня получалось и так, и так, на разных ЭВМ.

Далее.

6. Из папки C:\xgboost-master\windows\Release нам нужны файлы xgboost.exe и xgboost_wrapper.dll.
Копируем их в папку с пакетом для Python: C:\xgboost-master\python-package.

7. Открываем консоль (cmd), меняем директорию:
cd "C:\xgboost-master\python-package"


8. Там же запускаем установщик:
python setup.py install


Вот и всё. Запускаете удобную вам среду Python и пишете традиционное:

import xgboost as xgb
@chechevatov
карма
8,0
рейтинг 0,0
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Спецпроект

Самое читаемое Разработка

Комментарии (5)

  • 0
    У меня получалось и так, и так, на разных ЭВМ.

    Тёплая ламповая фраза.

    Спасибо за инструкцию.
  • 0
    Здравствуйте! Можете ли Вы подсказать как можно подключить xbgboost к с++? Не нашёл, к сожалению, ни одного примера.
    • 0
      Под С++ этой библиотеки нет.
  • 0
    Вдруг кому пригодится:
    актуальная на 18.04.2016 инструкция по установке XGBoost под виндой.
    Там есть ещё ссылка про установку под OSX.
  • 0
    По состоянию на 04.12.2016 помогает инструкция https://dnc1994.com/2016/03/installing-xgboost-on-windows/

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.