Improve generator quality and fix data gaps (Apr-May 2026)
Data: - Add 12 missing draws (2026-01-09, 2026-04-03 to 2026-05-15) - Retrain LSTM and RF models on complete 952-draw dataset - Run retroactive learning for all 12 skipped draws Automation: - Add eurojackpot-zahlen.eu web scraper as fallback when APIs fail - Fixes recurring gap problem caused by Sazka detail-endpoint change Generator improvements: - Add hard structural filters (sum 95-165, min 1 even + 1 odd per tip) - Add long-term frequency prior as learner dampener (alpha=0.2) - Fix ENSEMBLE strategy generating duplicate tips (greedy → weighted random) - Fix non-vectorized frequency calculation (stack().value_counts()) - Fix Division-by-Zero edge case in set_frequency_prior - Fix potential KeyError on euro_ai_score in structural filter loop .gitignore: - Exclude data/backups/, weekly tip CSVs, performance reports Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
1 parent
98a74ff2a7
commit
4fc488c668
13 files changed
+1022
-112
No files matched your search
@@ -27,6 +27,7 @@ project_dir = os.path.dirname(os.path.dirname(script_dir))
|
||||
sys.path.insert(0, project_dir)
|
||||
|
||||
from scripts.utils.update_from_api import EurojackpotAPIUpdater
|
||||
from scripts.utils.update_from_eurojackpot_zahlen_eu import EurojackpotUpdater as WebScraper
|
||||
from scripts.generators.ultimate_ai_ml_eurojackpot_generator import UltimateAIMLEurojackpotGenerator
|
||||
from scripts.utils.notifier import EurojackpotNotifier
|
||||
|
||||
@@ -129,7 +130,16 @@ class AutoUpdateAndLearn:
|
||||
if success:
|
||||
print(" ✅ Daten erfolgreich aktualisiert")
|
||||
else:
|
||||
print(" ⚠️ Update ohne neue Daten")
|
||||
print(" ⚠️ API-Update ohne neue Daten, versuche Web-Scraper...")
|
||||
try:
|
||||
scraper = WebScraper(self.data_file)
|
||||
success = scraper.update(create_backup=False)
|
||||
if success:
|
||||
print(" ✅ Web-Scraper erfolgreich")
|
||||
else:
|
||||
print(" ⚠️ Web-Scraper ohne neue Daten")
|
||||
except Exception as scrape_err:
|
||||
print(f" ❌ Web-Scraper Fehler: {scrape_err}")
|
||||
|
||||
return success
|
||||
|
||||
|
||||
Reference in new issue
Block a user