Skip to content

nikitxskv/comp

Repository files navigation

experiments

Docker

docker run --workdir /root -v <path_to_local_folder>:/root/shared -p 80:8888 -it nikitxskv/comparison sh -c "ipython notebook --ip=* --no-browser"

Files

  • experiment.py:

    • Родительский класс, в котором реализованы функции считывания данных, разбиение на подвыборки, подсчет счетчиков, функция кросс-валидации и функция run, которая запускает эксперимент.
  • *_experiment.py:

    • Дочерние классы, в которых реализованы функции перевода данных под формат конкретного алгоритма, задание перебираемых параметров и распределений, откуда они выбираются, а так же функции запуска обучения.
  • run.py:

    • Файл запуска экспериментов.
  • install.sh:

    • Скрипт, который устанавливает все необходимое для проведения экспериментов, а так же XGBoost и LightGBM.
  • comparison_description.*:

    • PDF и TEX файлы с описанием формата сравнения.

Как запускать

  • Можно запускать либо из командной строки, либо из интерпретатора, импортируя нужный класс.

  • Параметры:

    Позиционные (обязательные) аргументы:
      algo                           Имя алгоритма {xgb, lgb}
      learning_task                  Вид задачи {classification, regression}
    
    Опциональные аргументы:
      -h [ --help ]                  Хелп
      -i [ --dataset_path ]          Путь к папке с датасетом (str, по умолчанию "./")
      -o [ --output_folder_path ]    Путь к папке с результатом (str, по умолчанию "./")
      -t [ --n_estimators ]          Количество деревьев (int, по умолчанию 2000)
      -n [ --n_iters ]               Количество итераций hyperopt'a (int, по умолчанию 50)
      -s [ --save_pred ]             Сохранять предсказания на тесте (bool, по умолчанию False)
      --holdout                      Размер Holdout части (float, по умолчанию -1 (не используется))
    
  • Usage:

    python run.py algo learning_task [-h] [-i DATASET_PATH] [-o OUTPUT_FOLDER_PATH] [-t N_ESTIMATORS]
              [-n N_ITERS] [--holdout HOLDOUT] [-s]
    
  • Примеры запуска

    • Из командной строки:

      python run.py xgb classification -i ./amazon/ -n 2 -t 10
      
    • Из интерпретатора:

      from xgboost_experiment import XGBExperiment
      xgb_exp = XGBExperiment("classification", "./amazon/", n_iters=2, n_estimators=10)
      xgb_exp.run()
      

Releases

No releases published

Packages

No packages published