LoLA is a historical League of Legends data-analysis project. The committed project reports describe the 2016 course project and its results; they are not evidence that the current checkout can reproduce those results.
The default branch is an archival legacy baseline. It has no locked dependency environment or CI workflow, and it has not been validated against current Riot APIs or current Cassiopeia releases.
| Area | Current default-branch status |
|---|---|
| Crawling | Legacy single-seed crawler; not an implementation of the reports' three-seed 100k/60k/60k stopping protocol |
| Matrix/preprocessing | Implemented; synthetic SQLite tests cover event identity, idempotent preprocessing, and pick normalization |
| Clustering | Legacy prototype; requires the historical scientific-Python stack and a compatible database |
| Match prediction | Historical/report prototype; match_predict.py does not reproduce the reports' 220k/31-feature or six-cluster experiments |
| Cheating detection | Listed as a historical objective, but not implemented in this tree |
The files under results/ and report/ are historical artifacts without a
committed source-data fingerprint, run manifest, or environment lock. Do not
treat them as a fresh reproduction or current academic validation.
The crawler was built around the Riot API and the historical Cassiopeia wrapper. Before a legacy run, initialize an empty database explicitly:
sqlite3 lola.db < sqlite_schema.sqlProvide the API key outside the repository:
export LOLA_RIOT_API_KEY=your-key
python3 data_crawl.pyLOLA_REGION, LOLA_SEED_SUMMONER_ID, LOLA_SEASON, and
LOLA_RANKED_QUEUE can override the historical defaults. This entry point runs
one seed. Multi-seed orchestration, stopping thresholds, database merging, API
compatibility, and retry recovery still require separate operator validation.
The project reports state that the original team collected more than 220,000
North American Ranked-SOLO-5x5 matches from Pre-Season 2016. A historical
copy was linked on Google Drive.
The current default branch does not include a data card, checksum/manifest, license, permission record, or privacy review. The schema includes summoner IDs and names. Verify provenance, Riot terms, redistribution permission, and identity handling before downloading, using, or republishing that dataset.
The legacy tree contains champion ranking, relationship matrices, clustering, recommendation experiments, and a match-prediction prototype. The narrow test suite uses only generated SQLite fixtures:
python3 -m unittest discover -s tests -vPassing these tests validates the covered code contracts only. It does not validate the historical dataset, report figures, model quality, licensing, or real-data reproducibility.