Skip to page content
SAVRN
Search Plan a project

Open-weight model · Tabular regression

ghost-gk-sweeper-v1

by (Ministry of) Silly Kicks silly-kicks/ghost-gk-sweeper-v1

ghost-gk-sweeper-v1 is an open-weight model for tabular regression from (Ministry of) Silly Kicks, released under MIT License. Its published files total 2.4 MB.

Predicts where a league-average goalkeeper would position themselves, including the in-possession high-sweeper regime that the standard Ghost-GK v1 model cannot represent.

Parameters—
Context—
Weights2.4 MB
Licensemit
AccessOpen weights
Monthly Downloads—

Model Card

By (Ministry of) Silly Kicks, published under mit, revision 883409b054d2.

Predicts where a league-average goalkeeper would position themselves, including the in-possession high-sweeper regime that the standard Ghost-GK v1 model cannot represent. Point-estimate (ghostgkx/y) served as the exact pickle-free boosted HistGradientBoostingRegressor mean. Part of the silly-kicks soccer analytics library (TF-60 rest-defense; ADR-083). The bundled Ghost-GK default/full variants train on a fixed goal-relative box x ∈ [0, 30] m from the defended goal: a keeper who has swept far upfield falls outside it and is dropped as a "sweeper rush". That is correct for normal in-goal positioning, but it makes the model hard-saturate at 30 m — it cannot place an in-possession keeper who…

Read (Ministry of) Silly Kicks's full model card

Ghost-GK Sweeper v1 — Extended-Grid Goalkeeper Positioning (Rest-Defense)

Predicts where a league-average goalkeeper would position themselves, including the in-possession high-sweeper regime that the standard Ghost-GK v1 model cannot represent. Point-estimate (ghost_gk_x/y) served as the exact pickle-free boosted HistGradientBoostingRegressor mean.

Part of the silly-kicks soccer analytics library (TF-60 rest-defense; ADR-083).

Why a separate model

The bundled Ghost-GK default/full variants train on a fixed goal-relative box x ∈ [0, 30] m from the defended goal: a keeper who has swept far upfield falls outside it and is dropped as a "sweeper rush". That is correct for normal in-goal positioning, but it makes the model hard-saturate at 30 m — it cannot place an in-possession keeper who has pushed up to 30–45 m to blunt a counter-attack (the rest-defense regime). This sweeper variant lifts the label ceiling to x_max = 52.5 m so it represents the high-sweeper regime, for TF-60 rest-defense / TF-19 GKDV counterfactual arms.

The frozen default/position_only/full variants are unchanged — this is an additive variant; consumers opt in via from_variant("sweeper").

Variants

Variant Repo Features Use
sweeper (this repo) silly-kicks/ghost-gk-sweeper-v1 26 (velocity-bearing) Continuous tracking (Sportec, SkillCorner, Gradient Sports)
sweeper_position_only silly-kicks/ghost-gk-sweeper-position-only-v1 21 (5 velocity features dropped) Velocity-less StatsBomb-360 freeze-frames

Model description

  • Point estimate only. ghost_gk_x/y serve the exact boosted HGBR mean, reconstructed pickle-free (baseline + Σ_trees leaf_value; no sklearn at inference). The KDE density read-out (predict_density) is not supported on this extended grid and raises — the density path stays on the default 30 m grid (ADR-083). Use compute_ghost_gk / serve_ghost_gk_positions.
  • Grid: first-class per-model GhostGridSpec — x ∈ [0, 52.5] m, y ∈ [18, 50] m, 0.5 m resolution (105 × 64 cells).
  • Parameters-only, pickle-free: npz (tree ensembles + baselines) + JSON metadata + SHA-256 checksums. No per-sample training data, no raw provider tracking data (ADR-044).
  • Hyperparameters: HistGradientBoostingRegressor, 500 trees, max depth 8, 5-fold CV.

Metrics

Metric Value
Held-out CV euclidean MAE 1.135 m (per-provider: Gradient Sports 1.071 / SkillCorner 1.166 / Sportec 1.717)
Boosted-reconstruction parity vs sklearn 1.14e-13 (exact — safe to publish)
> 30 m high-sweeper stratum MAE 1.96 m (the sweeper places high keepers where the default is blind)
Training corpus 179 games / 1048834 frames

The > 30 m (high-sweeper) coverage of the training corpus is IDSSE/Sportec-dominated (11.5 %); SkillCorner 0.24 %; Gradient Sports 0.0 % — see the data caveat below.

Both-axes goal-relative re-fit (silly-kicks 4.111.0 / ADR-089; training_commit=4bda048). These weights were re-fit after the ghost-GK feature extractor was corrected to apply the full 180° goal-relative point reflection (both axes) — the previous convention flipped only x, leaving the signed-y features and the target gk_y in absolute frame coordinates, mislocating away-team keepers in y. The served ghost_gk_x/y change (chiefly for away-team keepers) and the feature-contract + chirality fingerprints change, so pre-4.111.0 artifacts fail closed on load. The aggregate MAE is essentially unchanged (the correction affects the away-team subset).

Training data

179 matches / ~1.05M frames of licensed professional tracking (Sportec/DFL Bundesliga, SkillCorner, Gradient Sports FIFA World Cup 2022). Only the learned parameters are published; no raw provider tracking data is redistributed (parameters-only artifact). Trained from a clean, CI-green commit.

Gradient Sports goalkeeper clamp. Gradient Sports' tracking clamps the goalkeeper's position to a hard 27.5 m from goal (a source-data limitation, verified on the raw provider data; silly-kicks passes it through faithfully). Consequently GS contributes no high-sweeper training signal, and any GS goalkeeper-depth analysis is invalid past 27.5 m. The high-sweeper regime this model represents is learned from IDSSE/Sportec. silly-kicks flags this at conversion time via validate_gk_position_clamp / GoalkeeperClampWarning. See docs/research/gs_keeper_clamp/.

Usage

import silly_kicks.tracking as tracking

# The extended-grid sweeper (velocity-keyed within its family on velocity-less frames)
model = tracking.GhostGkModel.from_variant("sweeper")
out = tracking.compute_ghost_gk(frames, model=model, home_team_id=1)  # ghost_gk_x / ghost_gk_y

# predict_density is NOT supported on the extended grid (raises); use the mean/serve path above.

Input frames must be LTR-normalized (home attacks right). All coordinates are goal-relative.

Limitations

  • League-average positioning, not a specific keeper's style; no shot-stopping ability.
  • No KDE density on the extended grid (mean/serve path only).
  • Inherits tracking-system noise; Gradient Sports keeper positions are unusable past 27.5 m (above).
  • LTR normalization required; static per-frame estimate.

References

Le et al. 2017 (Data-Driven Ghosting, MIT Sloan); Dutta et al. 2024 (NFL Ghosts, arXiv:2406.17220); Pospisil & Lee 2018 (RFCDE, arXiv:1804.05753). See the silly-kicks NOTICE for full citations.

More information

  • License: MIT · Library: silly-kicks (v4.111.0+ for these both-axes weights) · GitHub · ADR-083 / ADR-089.

TF-65 velocity-gap re-fit (4.134.0)

TF-65 velocity-gap re-fit (silly-kicks 4.134.0 / ADR-120; training_commit=a34e992). Re-fit on the dense-grid-corrected floor velocities (TF-65 removed fabricated through-gap velocity on broadcast providers — the prior F1b float32 re-fit at 4.128.0 / ADR-106 is superseded); the metrics table above reflects this re-fit, and the mirror is republished to match the wheel.

Identity and Version

Repository
silly-kicks/ghost-gk-sweeper-v1
Publisher
(Ministry of) Silly Kicks
Task
Tabular regression
Modality
Tabular
Library
silly-kicks
Parameters
Not stated by the source
Languages
en
Revision
883409b054d23b45409562d9a8faa3e3d94cc479
First published
2026-09-01
Last updated
2026-10-13

Files and Weights

6 files, 2.4 MB in total. The weights are 1 file totalling 2.4 MB in npz.

Weights1 file · 2.4 MB
Configuration2 files · 4.9 KB
Documentation1 file · 6.8 KB
Other1 file · 164 B
Repository1 file · 1.5 KB
Every file
FileTypeSizeSHA-256
rfcde_weights.npzWeights2.4 MB 61563b4c40fc
metadata.jsonConfiguration2.3 KB —
metrics.jsonConfiguration2.7 KB —
README.mdDocumentation6.8 KB —
SHA256SUMSOther164 B —
.gitattributesRepository1.5 KB —

License and Download

License
mit
Access
Open weights, no gate
Download size
2.4 MB
Download from (Ministry of) Silly Kicks

Released by (Ministry of) Silly Kicks through its official repository on Hugging Face. Read the license.

Built From

  • Described by arXiv:1804.05753
  • Described by arXiv:2406.17220

Memory Requirements

PrecisionWeights in memory
As published2.4 MB

Weights only, from the published parameter count; the key-value cache and runtime add to this.

Questions About ghost-gk-sweeper-v1

Can I use ghost-gk-sweeper-v1 commercially?

Yes. ghost-gk-sweeper-v1 is released under MIT License. The MIT License is a short permissive license. It permits commercial use, modification and redistribution, provided the copyright notice and permission notice are included.

Similar Models

Model · Tabular regression

nordic-price-forecast

Elpriser.org

Day-ahead electricity price forecasts 2 to 9 days out, hourly, in EUR/MWh, for every bidding zone in Denmark, Norway, Sweden, Finland and the Netherlands: Retrained and re-uploaded daily, so the weights here are what production runs. A companion model specialised to Denmark alone lives at A single LightGBM quantile model covers all 13 zones, with zone as a categorical feature. The zones share nearly all their structure — the same calendar effects, the same weather physics, the same lag behaviour — so pooling lets a thin zone borrow strength from a busy one, and leaves one thing to maintain instead of thirteen. Pooling only works because the model can identify a zone's price level before it…

Open weights cc-by-4.0 lightgbm

Model · Tabular regression

canrun-fps-predictor

Bartosz Lenart

A small tabular model that estimates the native frame rate of a PC game at 1080p, 1440p or 4K from two things you can know before buying or installing: the PC's hardware scores and the game's Steam store requirements. It is the FPS engine of the CanRun G-Assist plugin and runs with the Python standard library alone. Real-world accuracy: on independent benchmarks the model alone is a median 18.9% off on recent games and NVIDIA cards, and 37% to 39% off on other test sets. The full CanRun app, which adds benchmark curves and live Steam store lookups, is 15.2% off end to end. No Steam player FPS data is used anywhere. Treat every prediction as a rough estimate, good for "will this run at 60…

Open weights apache-2.0 generic

Sentinel-Mumbai Hybrid PINN is an attention-augmented Physics-Informed Neural Network (PINN) developed in Keras 3 and optimized for high-throughput GPU inference (Tesla T4 mixed-precision float16). The network incorporates a 24-hour temporal sequence lookback and enforces hydraulic mass conservation via a partial differential equation (PDE) continuity constraint during gradient descent: $$\text{PDE Residual} = \frac{\partial \hat{y}}{\partial t} - (\text{Rainfall} - \text{Infiltration}) = 0$$ Where $\text{Infiltration} \approx 0.0$ on impervious urban concrete surfaces (landcover class 80). Released under the MIT License.

Open weights mit keras

Model · Tabular regression

sentinel-v7-deep-flood-lstm

Abdullah Ashraf

Sentinel-V7 Deep Hydrological Bi-LSTM is a specialized recurrent neural sequence model engineered for real-time flood risk scoring and inundated area forecasting. It maps multi-sensor remote sensing inputs (Copernicus Sentinel-1 SAR radar backscatter, digital elevation models, river network proximity, ECMWF GEOGloWS river discharge, and precipitation metrics) to a continuous flood vulnerability metric. The model is packaged in Keras 3 format along with its fitted Scikit-Learn MinMaxScaler (scaler.joblib), ensuring seamless deployment on edge systems and cloud microservices. Released under the MIT License.

Open weights mit keras

Model · Tabular regression

sentinel-mumbai-pinn-v1

Abdullah Ashraf

Sentinel-Mumbai PINN v1 is a high-capacity Physics-Informed Neural Network (PINN) engineered for hyper-local urban flood depth forecasting and storm surge dynamics across Mumbai / Salsette Island. Trained across multi-decadal telemetry (rainfall, cumulative precipitation, tidal surge oscillations, elevation, urban impermeability, and drainage networks), the model embeds physical boundary laws directly into its optimization objective, preventing unphysical mass disappearance during coastal hydraulic lock events. The model optimizes a composite objective balancing empirical data fidelity against hydraulic conservation of mass: $$\mathcal{L}{\text{total}} = \alpha \cdot…

Open weights mit pytorch

Model · Tabular regression

green-home-score-rf

Reddy

A multi-output Random Forest regressor for predicting residential property energy consumption and valuation, built for the Lloyds Green Home Score ESG intelligence platform. This model predicts three targets simultaneously from 13 property features: - Synthetic simulator consistency only, not real-world accuracy - Current value model validation is synthetic, not historical UK transaction validation - Value ranges are sensitivity bands, not calibrated confidence intervals Part of the Lloyds Green Home Score platform for ESG risk assessment, retrofit recommendation, and green lending analytics. Not intended for direct property valuation or energy certificate prediction. - multioutputrf.joblib…

Open weights mit sklearn