osrs hiscores
1.0.0
对旧派符号Hiscores的定量分析。
该存储库贡献以下内容:
数据集由以下文件组成:
player-stats.csv
:所有23个技能的技能水平,用于前200万个OSRS帐户。cluster-centroids.csv
:基于帐户相似性将播放器数据集分为组的群集的中心值。每个质心是“ OSRS技能”空间中1-99之间的值的向量。player-clusters.csv
:三个单独的群集运行的每个播放器群集ID,通过查看(i)所有技能,(ii)仅战斗技能以及(iii)非战斗技能来分组类似的帐户。player-stats-raw.csv
:排名,级别,XP,线索,迷你游戏和老板统计数据,是前200万OSRS播放器的。该文件是刮擦过程(1.7 GB)的原始输出。由于文件大小约束,这些文件未进入存储库。它们可以从Google Drive分开下载:https://bit.ly/osrs-hiscores-dataset
2022年7月21日的24小时内,从官方OSRS HISCORES收集了播放器统计数据。
├── 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
以及可视化结果的破折号应用程序。
数据管道的阶段是由每个处理阶段具有顶级make
目标的Makefile驱动的:
make init
:设置项目环境并安装依赖关系。make scrape
:从官方OSRS HISCORES中刮擦数据,然后转换为清洁的数据集。make cluster
:根据他们的统计数据将群体群体分成类似帐户的组。 FAISS库实现的使用K-均值作为聚类算法。make postprocess
:将簇质心从高维空间到3D投影(用于可视化目的)(UMAP是用于降低维度的算法)。根据其中包含的玩家群体为每个群集计算四分位数。make build-app
:使用所有先前的分析结果构建应用程序数据和数据库。该目标将在URL localhost:27017
(默认情况下)的Docker容器内启动MongoDB实例。步骤2和3可以通过简单地运行make download-dataset
来跳过(并且应该),从而从S3存储桶中获取了刮擦数据和聚类的结果。这需要一个AWS帐户,该帐户具有位于~/.aws
目录中的凭据。
要启动该应用程序,请在Web浏览器中访问make run-app
并访问URL localhost:8050
。
最终应用程序可以通过make app
构建并运行,该应用程序使用下载的数据,而不是从头开始刮擦和群集数据。目标make all
是用来构建此存储库的最终结果的方法。如果刮擦数据,请注意,HISCORS API的高使用可能会导致您的IP被阻止。在您使用此代码时,请保留和尊重Jagex的服务器资源。
运行make help
以查看更多顶级目标。
设置了许多环境变量以配置应用程序。
OSRS_APPDATA_URI
:应用程序数据.pkl文件(S3或local)的路径OSRS_MONGO_URI
:MongoDB实例的URLOSRS_MONGO_COLL
:以此名称从收集中存储/检索播放器数据在数据管道的每个阶段,也有定义文件名的环境变量。
所有环境变量的默认值是在.env.default
中定义的,并且每当运行make
目标时导入。如果存在称为.env
的文件,则任何设置都将覆盖.env.default
中的文件。
~/.aws
目录中的凭据(在此处创建帐户) all
:所有23个OSR技能cb
:7个战斗技能noncb
:16个非战斗技能n_neighbors=10
, min_dist=0.25
用于all
和noncb
; n_neighbors=20
, min_dist=0.25
用于分裂cb
。以下是数据科学项目的一些想法。