Downloads · 30 days
0
fport/super-lig-xpts
super-lig-xpts is a tabular regression model from fport. Use it for the tabular regression task on the model card, and read the license before you ship it in a product. It is set up for lightgbm. The card lists the license as other.
Bir oyuncunun önümüzdeki maçta kaç TFF Fantezi Lig puanı toplayacağını tahmin eden LightGBM modeli.
Downloads · 30 days
0
Access
Public
Updated Aug 18, 2026
Repo size
—
Likes
0
Public
Click a slice to open those files.
.txt589 KB · 99%
From the Hugging Face model README
Bir oyuncunun önümüzdeki maçta kaç TFF Fantezi Lig puanı toplayacağını tahmin eden LightGBM modeli.
Test kümesi zaman bazlı ayrıldı (son %20), 20,433 satır, 62 özellik.
| model | MAE | RMSE | Haftalık Spearman |
|---|---|---|---|
| baseline: son 5 mac ort. | 1.868 | 2.797 | 0.518 |
| baseline: sezon ort. | 1.827 | 2.758 | 0.516 |
| LightGBM xPts | 1.709 | 2.598 | 0.579 |
Asıl metrik haftalık Spearman: fantezide önemli olan kimin kaç puan yapacağı değil, kimin daha çok yapacağıdır. Sıralama doğruysa kaptan doğru seçilir. Model en iyi baseline'ı sıralamada %12 geçiyor.
MAE ve RMSE de veriliyor çünkü tek bir metriğe bakmak yanıltır — ama fantezi kararları için Spearman'a bakın.
Bunu "sızıntı yok" diye yazmıyoruz, çünkü bu projede bir sızıntı bulundu ve düzeltildi — aşağıda anlatılıyor. Yazabileceğimiz şey, alınan önlemler:
Model yalnızca kadro seçiminin yapıldığı ana kadar bilinebilecek şeyleri görür. Özellikle dışarıda bırakılanlar:
Tüm form özellikleri shift(1) ile kaydırıldı: her satır yalnızca o maçtan
önceki maçları görür.
Veri kaynağı iki tarih alanı veriyor: matchTimeUTC insan okunur bir metin
("Sat, Aug 17, 2019, 18:45 UTC"), matchTimeUTCDate ise ISO formatında.
İlk sürüm yanlışlıkla metin olanı kullanıyordu. Metin olarak sıralanınca
kayıtlar gün adına göre alfabetik sıralanıyor, dolayısıyla shift(1)
"önceki maç" yerine rastgele bir maç döndürüyordu — yani form özellikleri
geleceğe bakıyordu. Zaman bazlı train/test bölmesi de aslında zaman bazlı
değildi.
Düzeltildikten sonra modelin skoru neredeyse değişmedi (Spearman 0.576 → 0.579) ama baseline'lar ciddi şekilde yükseldi (0.429 → 0.518), çünkü "son 5 maç ortalaması" ancak doğru kronolojiyle anlamlı. Yani modelin baseline'a üstünlüğü ilk ölçümde olduğundan büyük görünüyordu. Yukarıdaki tablo düzeltilmiş hâldir.
İkinci bir hata: points_per_game_season sezon puanını kariyer maç sayısına
bölüyordu. Sezon bazlı sayaç eklendi.
Model, fport/super-lig-fantasy veri setindeki kolonlarla kendi kendine yeter. Sağlayıcı türevi hiçbir özellik kullanılmadı, dolayısıyla indiren herkes çalıştırabilir.
Özellikler: oyuncu form ortalamaları (3/5/10 maç), mevki, yaş, ev/deplasman, takım formu, rakip formu, fikstür zorluğu.
import lightgbm as lgb
from huggingface_hub import hf_hub_download
path = hf_hub_download("fport/super-lig-xpts", "xpts_model.txt")
model = lgb.Booster(model_file=path)
xpts = model.predict(X) # features.json'daki sırayla
total_points oyunun yayınlanmış
kurallarından hesaplandı ama gerçek puanlarla karşılaştırılmadı. Kural
kodlamasında sapma varsa model de o sapmayı öğrenmiş olur. Bkz. veri seti
kartındaki uyarı.