Количественный анализ старой школы Runescape Hiscores.
Этот репозиторий вносит следующее:
Набор данных состоит из следующих файлов:
player-stats.csv : Уровни квалификации во всех 23 навыках для 2 миллионов учетных записей OSRS.cluster-centroids.csv : центральные значения для кластеров, которые возникают из набора данных по разделению игроков в группы на основе сходства учетных записей. Каждый центроид представляет собой вектор значений от 1 до 99 в пространстве «навыки OSRS».player-clusters.csv : идентификаторы кластера на одного игрока для трех отдельных классов, группируя аналогичные учетные записи, рассматривая (i) все навыки, (ii) только навыки боевых действий и (iii) только навыки не-бортовых.player-stats-raw.csv : ранжирование, уровень, XP, подсказки, мини-игра и статистика босса для 2 миллионов игроков OSRS. Этот файл является необработанным выходом из процесса очистки (1,7 ГБ).Эти файлы не регистрируются в репо из -за ограничений размера файла. Они могут быть загружены отдельно от Google Drive: https://bit.ly/osrs-hiscores-dataset
Статистика игроков была собрана у официального OSRS Hiscores за 24-часовой период 21 июля 2022 года.
├── LICENSE
├── Makefile <- Top-level Makefile for building and running project.
├── README.md <- The top-level README for developers using this project.
│
├── app <- Application code and assets.
├── bin <- Utility executables.
│
├── data
│ ├── final <- The final, canonical data set.
│ ├── interim <- Intermediate data that has been transformed.
│ └── raw <- The original, immutable data dump.
│
├── ref <- Reference files used in data processing.
├── scripts <- Scripts for the stages of the data processing pipeline.
│
├── src
│ ├── analysis <- Data science and analytics.
│ └── scrape <- Scraping hiscores data.
│
├── test <- Unit tests.
│
├── Procfile <- Entry point for deployment as a Heroku application.
├── requirements.txt <- Dependencies file for reproducing the project environment.
├── runapp.py <- Main script for Dash application.
└── setup.py <- Setup file for installing this project through pip.
На высоком уровне этот репозиторий реализует научную конвейеру данных:
scrape OSRS hiscores data
↓
cluster players by stats
↓
project clusters to 3D
↓
build application data
наряду с приложением Dash для визуализации результатов.
Стадии конвейера данных обусловлены Makefile с верхним уровнем. make цели для каждой стадии обработки:
make init : установить среду проекта и установить зависимости.make scrape : соскажите данные из официальных OSRS Hiscores и превращайтесь в очищенный набор данных.make cluster : кластерные игроки в группы аналогичных счетов в соответствии с их статистикой. Использует K-средние в качестве алгоритма кластеризации, реализованного библиотекой FAISS.make postprocess : Проектируйте центроиды кластера от высокого размера до 3D для целей визуализации (UMAP-это алгоритм, используемый для уменьшения размерности). Вычислите квартили для каждого кластера на основе популяции игрока, который он содержит.make build-app : создайте данные приложения и базу данных, используя все предыдущие аналитические результаты. Эта цель запустит экземпляр MongoDB внутри контейнера Docker на URL localhost:27017 (по умолчанию). Шаги 2 и 3 могут (и должны быть пропущены, просто запустившись make download-dataset , который получает скрещенные данные и кластеризацию из ведра S3. Это требует учетной записи AWS с учетными данными, расположенными в каталоге ~/.aws .
Чтобы запустить приложение, запустите make run-app и посетите URL localhost:8050 в веб-браузере.
Окончательное приложение может быть построено и запустить в одном снимке с помощью make app , в котором используются загруженные данные, а не соскабливание и кластеризацию данных с нуля. Цель make all , - это то, что использовалось для создания окончательных результатов для этого репо. Если очистите данные, обратите внимание, что высокое использование API Hiscores может привести к тому, что ваш IP -адрес заблокирован. Пожалуйста, будьте щадя и уважают ресурсы сервера Jagex при использовании этого кода.
Запустите make help , чтобы увидеть больше целей верхнего уровня.
Для настройки приложения установлено ряд переменных среды.
OSRS_APPDATA_URI : Путь к данным приложения .pkl файл (S3 или локальный)OSRS_MONGO_URI : URL, на котором работает экземпляр MongoDBOSRS_MONGO_COLL : хранить/извлечь данные игрока из коллекции с этим именемСуществуют также переменные среды, определяющие имена файлов на каждом этапе трубопровода данных.
По умолчанию для всех переменных среды определяются в .env.default и импортируются всякий раз, когда запускается make . .env.default существует файл, вызванный .env
~/.aws (создайте учетную запись здесь) all : все 23 навыки OSRScb : 7 боевых навыковnoncb : 16 навыков не-бортовыхn_neighbors=10 и min_dist=0.25 были использованы для разделений all и noncb ; n_neighbors=20 и min_dist=0.25 были использованы для разделения cb .Вот некоторые идеи для научных проектов.