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), меняем директорию:
8. Там же запускаем установщик:
Вот и всё. Запускаете удобную вам среду Python и пишете традиционное:
Библиотека 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
knagaev
Тёплая ламповая фраза.
Спасибо за инструкцию.