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:
2026-05-19 10:35:57 +02:00
co-authored by Claude Sonnet 4.6
parent 98a74ff2a7
commit 4fc488c668
13 changed files with 1022 additions and 112 deletions
+273
View File
@@ -132,6 +132,279 @@
"file": "weekly_tips_20260112_210015.csv",
"avg_confidence": 0.49425787623829,
"avg_quality": 0.6145839981272502
},
{
"timestamp": "2026-01-15T21:00:36.397005",
"num_tips": 10,
"file": "weekly_tips_20260115_210036.csv",
"avg_confidence": 0.47344565270354505,
"avg_quality": 0.5904032822464804
},
{
"timestamp": "2026-01-19T21:00:16.311402",
"num_tips": 10,
"file": "weekly_tips_20260119_210016.csv",
"avg_confidence": 0.5070366197890103,
"avg_quality": 0.6226148247071303
},
{
"timestamp": "2026-01-22T21:00:14.287352",
"num_tips": 10,
"file": "weekly_tips_20260122_210014.csv",
"avg_confidence": 0.47075732576357926,
"avg_quality": 0.5803838357908581
},
{
"timestamp": "2026-01-26T21:00:17.434360",
"num_tips": 10,
"file": "weekly_tips_20260126_210017.csv",
"avg_confidence": 0.49936013462178497,
"avg_quality": 0.6116474055527096
},
{
"timestamp": "2026-01-29T21:00:16.110547",
"num_tips": 10,
"file": "weekly_tips_20260129_210016.csv",
"avg_confidence": 0.5027779055427531,
"avg_quality": 0.6187842481123684
},
{
"timestamp": "2026-02-02T21:00:16.361899",
"num_tips": 10,
"file": "weekly_tips_20260202_210016.csv",
"avg_confidence": 0.5083071846982502,
"avg_quality": 0.6241986235247045
},
{
"timestamp": "2026-02-05T21:00:16.014229",
"num_tips": 10,
"file": "weekly_tips_20260205_210016.csv",
"avg_confidence": 0.47884710375116424,
"avg_quality": 0.5928701100797202
},
{
"timestamp": "2026-02-09T21:00:11.982561",
"num_tips": 10,
"file": "weekly_tips_20260209_210011.csv",
"avg_confidence": 0.506005904420015,
"avg_quality": 0.6214382457606871
},
{
"timestamp": "2026-02-12T21:00:17.021168",
"num_tips": 10,
"file": "weekly_tips_20260212_210017.csv",
"avg_confidence": 0.516596004507797,
"avg_quality": 0.6331268375743684
},
{
"timestamp": "2026-02-16T21:00:16.623850",
"num_tips": 10,
"file": "weekly_tips_20260216_210016.csv",
"avg_confidence": 0.5310911070168177,
"avg_quality": 0.646703887932404
},
{
"timestamp": "2026-02-19T21:00:20.011565",
"num_tips": 10,
"file": "weekly_tips_20260219_210020.csv",
"avg_confidence": 0.46533191116318023,
"avg_quality": 0.5782823546857643
},
{
"timestamp": "2026-02-23T21:00:17.473274",
"num_tips": 10,
"file": "weekly_tips_20260223_210017.csv",
"avg_confidence": 0.5473864222555807,
"avg_quality": 0.664821754795175
},
{
"timestamp": "2026-02-26T21:00:20.683783",
"num_tips": 10,
"file": "weekly_tips_20260226_210020.csv",
"avg_confidence": 0.48232944543098605,
"avg_quality": 0.5979756965479743
},
{
"timestamp": "2026-03-02T21:00:16.983767",
"num_tips": 10,
"file": "weekly_tips_20260302_210016.csv",
"avg_confidence": 0.48588377032008034,
"avg_quality": 0.5990305136121646
},
{
"timestamp": "2026-03-05T21:00:16.042941",
"num_tips": 10,
"file": "weekly_tips_20260305_210016.csv",
"avg_confidence": 0.48148432120929235,
"avg_quality": 0.5954960663012538
},
{
"timestamp": "2026-03-09T21:00:44.719111",
"num_tips": 10,
"file": "weekly_tips_20260309_210044.csv",
"avg_confidence": 0.47513731607893117,
"avg_quality": 0.5901054825014217
},
{
"timestamp": "2026-03-12T21:00:12.672070",
"num_tips": 10,
"file": "weekly_tips_20260312_210012.csv",
"avg_confidence": 0.5165879893938297,
"avg_quality": 0.631957616666093
},
{
"timestamp": "2026-03-16T21:00:15.064301",
"num_tips": 10,
"file": "weekly_tips_20260316_210015.csv",
"avg_confidence": 0.4437112546020575,
"avg_quality": 0.5636041119770521
},
{
"timestamp": "2026-03-19T21:02:48.840594",
"num_tips": 10,
"file": "weekly_tips_20260319_210248.csv",
"avg_confidence": 0.520967549190745,
"avg_quality": 0.6380107770109229
},
{
"timestamp": "2026-03-23T21:00:16.623635",
"num_tips": 10,
"file": "weekly_tips_20260323_210016.csv",
"avg_confidence": 0.4511070123898933,
"avg_quality": 0.5706980214609187
},
{
"timestamp": "2026-03-26T21:00:35.316354",
"num_tips": 10,
"file": "weekly_tips_20260326_210035.csv",
"avg_confidence": 0.45118965830170754,
"avg_quality": 0.5677275907732668
},
{
"timestamp": "2026-03-31T11:49:39.227248",
"num_tips": 10,
"file": "weekly_tips_20260331_114939.csv",
"avg_confidence": 0.4916429475874513,
"avg_quality": 0.6106521030019004
},
{
"timestamp": "2026-04-02T21:00:24.425902",
"num_tips": 10,
"file": "weekly_tips_20260402_210024.csv",
"avg_confidence": 0.4519687967653286,
"avg_quality": 0.5709825204600992
},
{
"timestamp": "2026-04-06T21:00:15.654198",
"num_tips": 10,
"file": "weekly_tips_20260406_210015.csv",
"avg_confidence": 0.4519687967653286,
"avg_quality": 0.5709825204600992
},
{
"timestamp": "2026-04-09T21:00:17.621420",
"num_tips": 10,
"file": "weekly_tips_20260409_210017.csv",
"avg_confidence": 0.4519687967653286,
"avg_quality": 0.5709825204600992
},
{
"timestamp": "2026-04-13T21:13:31.089816",
"num_tips": 10,
"file": "weekly_tips_20260413_211331.csv",
"avg_confidence": 0.4519687967653286,
"avg_quality": 0.5709825204600992
},
{
"timestamp": "2026-04-16T21:00:15.952947",
"num_tips": 10,
"file": "weekly_tips_20260416_210015.csv",
"avg_confidence": 0.4519687967653286,
"avg_quality": 0.5709825204600992
},
{
"timestamp": "2026-04-20T21:00:14.991940",
"num_tips": 10,
"file": "weekly_tips_20260420_210014.csv",
"avg_confidence": 0.4519687967653286,
"avg_quality": 0.5709825204600992
},
{
"timestamp": "2026-04-23T21:12:08.255403",
"num_tips": 10,
"file": "weekly_tips_20260423_211208.csv",
"avg_confidence": 0.4519687967653286,
"avg_quality": 0.5709825204600992
},
{
"timestamp": "2026-04-27T21:00:13.534906",
"num_tips": 10,
"file": "weekly_tips_20260427_210013.csv",
"avg_confidence": 0.48127824496557114,
"avg_quality": 0.5980047795669126
},
{
"timestamp": "2026-04-30T21:00:18.020165",
"num_tips": 10,
"file": "weekly_tips_20260430_210018.csv",
"avg_confidence": 0.48127824496557114,
"avg_quality": 0.5980047795669126
},
{
"timestamp": "2026-05-04T21:00:17.575648",
"num_tips": 10,
"file": "weekly_tips_20260504_210017.csv",
"avg_confidence": 0.48127824496557114,
"avg_quality": 0.5980047795669126
},
{
"timestamp": "2026-05-07T21:00:21.292869",
"num_tips": 10,
"file": "weekly_tips_20260507_210021.csv",
"avg_confidence": 0.48127824496557114,
"avg_quality": 0.5980047795669126
},
{
"timestamp": "2026-05-11T21:00:15.718384",
"num_tips": 10,
"file": "weekly_tips_20260511_210015.csv",
"avg_confidence": 0.48127824496557114,
"avg_quality": 0.5980047795669126
},
{
"timestamp": "2026-05-14T21:00:17.802557",
"num_tips": 10,
"file": "weekly_tips_20260514_210017.csv",
"avg_confidence": 0.48127824496557114,
"avg_quality": 0.5980047795669126
},
{
"timestamp": "2026-05-18T21:00:15.215525",
"num_tips": 10,
"file": "weekly_tips_20260518_210015.csv",
"avg_confidence": 0.48127824496557114,
"avg_quality": 0.5980047795669126
},
{
"timestamp": "2026-05-19T09:06:31.632241",
"num_tips": 10,
"file": "weekly_tips_20260519_090631.csv",
"avg_confidence": 0.4653688395892314,
"avg_quality": 0.5851349854679404
},
{
"timestamp": "2026-05-19T09:28:02.588177",
"num_tips": 10,
"file": "weekly_tips_20260519_092802.csv",
"avg_confidence": 0.49658478135540934,
"avg_quality": 0.6106212035500489
},
{
"timestamp": "2026-05-19T09:30:17.610297",
"num_tips": 10,
"file": "weekly_tips_20260519_093017.csv",
"avg_confidence": 0.47597948672799795,
"avg_quality": 0.5941141824821975
}
]
}