No description
  • Jupyter Notebook 73.2%
  • Python 22.9%
  • HTML 1.5%
  • CSS 1.3%
  • JavaScript 1.1%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-07-18 16:58:18 +00:00
hugo_output rm themes 2021-07-24 14:01:29 +03:00
counter.py fix typo in releases generation 2021-07-24 13:58:37 +03:00
naive_trueskill.py mild refactor; add ndcg 2021-06-14 23:24:40 +03:00
naive_trueskill.yaml point hugo generator at content dir, not root 2021-07-24 13:47:51 +03:00
rating_downloader.ipynb initial commit 2021-04-23 03:02:42 +03:00
README.md Add canonical repository notice 2026-07-18 16:58:18 +00:00
releases_downloader_for_true_dl.ipynb add true_dl downloader 2021-06-14 12:51:22 +03:00
requirements.txt Добавлена зависимость от pyexcel-xlsx 2021-05-10 21:17:43 +03:00
test_stand.py mild refactor; add ndcg 2021-06-14 23:24:40 +03:00

Основной репозиторий этого проекта — https://code.pecheny.me/pecheny/rating_test_stand, пожалуйста, создавайте issues там.

Тестовый стенд сайта рейтинга

Тестовый стенд предназначен для тестирования и сравнения различных формул рейтинга. Стенд рассчитывает рейтинг за заданные даты по вашей формуле, создаёт excel-таблички с рейтингами команд и сравнивает результаты со стандартной формулой сайта рейтинга. На данный момент для примера в качестве формулы для сравнения имплементирован наивный классический trueskill, который ничего не знает о составах команд. В качестве метрики — сравнение коэффициентов корреляции у тестируемой формулы со стандартной формулой сайта рейтинга на последних N турнирах.

Что нужно для работы

Поставьте необходимые пакеты: pip install -r requirements.txt

Скачайте данные для работы: ZIP-архив с json-ами (59 Мб), pickle (338 Мб). Данные в архиве и pickle идентичны, так что можете брать любой. JSON-ы проще читать и править руками при необходимости, pickle быстрее грузится питоном.

Пример запуска

python test_stand.py -pp ~/rating_test_stand_data/tournaments.pkl -m naive_trueskill.py -c naive_trueskill.yaml

-pp — путь к файлу pickle (вместо этого можно использовать -d и дать путь к папке с JSON-ами)
-m — модуль, в котором реализована формула. Название формулы пишется в модуле в переменной CLASSNAME
-c — путь к файлу конфигурации в YAML

Пример файла конфигурации с комментариями

start_date: 2018-03-08  # дата, от которой начинается расчёт
end_date: 2018-08-23  # дата, на которой заканчивается расчёт
step_days: 7  # шаг расчёта рейтинга (первый релиз считается в день start_date + step_days)
top_n_teams: 1000  # cколько топовых команд выводить в каждой эксельке
games_threshold: 10  # сколько минимум игр должно быть у команды, чтобы она была выведена в рейтинге
base_threshold: 365  # сколько дней назад у команды должен быть в последний раз определён БС для участия в рейтинге
benchmark_size: 30  # сколько последних турниров использовать в бенчмарке
benchmark_count: 1  # сколько раз посчитать бенчмарк
output: "output"  # путь к выходной папке для экселек
hugo_output: "hugo_output"  # путь к выходной папке для сгенерированных сорцов hugo (https://gohugo.io)
benchmarks: ["pearsonr", "ndcg"]  # что использовать в качестве бенчмарка (сейчас доступны коэффициент корреляции Пирсона, как на сайте рейтинга, и NDCG)