f7e0042ef8283e79761bf7123e3ab825338ed52f
New dashboard tab that rates current park crowding:
- Tiers: k-means on park-wide mean wait yields 4 ordinal levels
("Walk right on" / "Pleasant" / "Packed" / "What were you
thinking?!"), with the rare 0.6% zoo tail isolated as its own
tier rather than buried in a quartile.
- Board-reading model: multinomial LR on per-ride waits -> tier.
Drives the live gauge (current avg wait + predicted tier +
confidence + class-probability bar). Near-perfect by construction
-- honest framing baked into the model card.
- Calendar-forecast model: LR on hour/dow/month/weekend -> tier,
evaluated with GroupKFold by date to avoid same-day leakage.
Drives the "expected vs actual" verdict for the current moment.
- Bellwether rides bar (top tier coefficients) and a confusion-
matrix expander tell the honest story: forecast barely beats
baseline on everyday tiers, but pins the zoo tier nearly 100% --
because Knoebels' worst crowds are locked to specific October
festival weekends. "The chaos has a schedule."
Implementation notes: trained models cached via st.cache_resource
(6h), live snapshot fetched separately on a 5-min ttl. Context
features use a fixed column set so live inference always aligns.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
The file is empty.
Description
Code for scraping website/attractions.io API for data related to attraction status and queue times
20 MiB
Languages
Jupyter Notebook
95.3%
Python
4.7%