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
@@ -1,9 +1,9 @@
{
"trained_at": "2026-01-06T21:00:43.268063",
"num_samples": 895,
"trained_at": "2026-05-19T09:04:48.801117",
"num_samples": 932,
"num_features": 20,
"final_loss": 0.3324819803237915,
"final_val_loss": 0.3310294995705287,
"best_val_loss": 0.3291587332884471,
"epochs_trained": 25
"final_loss": 0.33304641644159955,
"final_val_loss": 0.32588819166024524,
"best_val_loss": 0.32180650532245636,
"epochs_trained": 26
}
@@ -1,9 +1,9 @@
{
"trained_at": "2026-01-06T21:00:33.679894",
"num_samples": 895,
"trained_at": "2026-05-19T09:04:39.307548",
"num_samples": 932,
"num_features": 20,
"final_loss": 0.33361901148505835,
"final_val_loss": 0.33026839792728424,
"best_val_loss": 0.32894887030124664,
"epochs_trained": 21
"final_loss": 0.3328763085107009,
"final_val_loss": 0.32958758374055225,
"best_val_loss": 0.32844950755437213,
"epochs_trained": 22
}
+69 -69
View File
@@ -1,78 +1,78 @@
{
"adjustments_main": {
"1": -0.014850499375000001,
"2": -0.014850499375000001,
"3": -0.014850499375000001,
"4": -0.014850499375000001,
"5": -0.014850499375000001,
"6": -0.014850499375000001,
"7": -0.014850499375000001,
"8": -0.014850499375000001,
"9": -0.014850499375000001,
"10": 0.014775998750000002,
"11": -0.014850499375000001,
"12": -0.014850499375000001,
"13": -0.014850499375000001,
"14": -0.014850499375000001,
"15": 0.014775998750000002,
"16": -0.014850499375000001,
"17": -0.014850499375000001,
"18": -0.014850499375000001,
"19": -0.014850499375000001,
"20": -0.014850499375000001,
"21": 7.450062499999855e-05,
"22": -0.014850499375000001,
"23": 7.450062499999855e-05,
"24": -0.014850499375000001,
"25": -0.014850499375000001,
"26": -0.014850499375000001,
"27": -0.014850499375000001,
"28": -0.014850499375000001,
"29": 0.014775998750000002,
"30": 7.450062499999855e-05,
"31": -0.014850499375000001,
"32": -0.014850499375000001,
"33": 7.450062499999855e-05,
"34": 0.014775998750000002,
"35": -0.014850499375000001,
"36": -0.014850499375000001,
"37": -0.014850499375000001,
"38": 0.029700998750000002,
"39": -0.014850499375000001,
"40": -0.014850499375000001,
"41": -0.014850499375000001,
"42": -0.014850499375000001,
"43": -0.014850499375000001,
"44": -0.014850499375000001,
"45": -0.014850499375000001,
"46": -0.014850499375000001,
"47": -0.014850499375000001,
"48": -0.014850499375000001,
"49": -0.014850499375000001,
"50": -0.014850499375000001
"1": -0.10279380235968341,
"2": -0.13095716137873015,
"3": -0.13124242248231174,
"4": -0.14500126295064525,
"5": -0.14528446311640075,
"6": -0.14417565349659103,
"7": -0.13063873780471033,
"8": -0.10750108984264332,
"9": -0.1310946271473281,
"10": -0.11881089921672196,
"11": -0.130293827736181,
"12": -0.14582604934178367,
"13": -0.10413094415362395,
"14": -0.14616329674563025,
"15": -0.09211480770812712,
"16": -0.09017423391013749,
"17": -0.049600737978451416,
"18": -0.07614090054869561,
"19": -0.08971018550072041,
"20": -0.1310497715983718,
"21": -0.10520101666420224,
"22": -0.1439620032143183,
"23": -0.07798238201251459,
"24": -0.17256771756515152,
"25": -0.13075509390384546,
"26": -0.13311702644877058,
"27": -0.13069306022006943,
"28": -0.130706924524329,
"29": -0.12087771213609635,
"30": -0.13149344990505507,
"31": -0.11517763380456655,
"32": -0.1181751293364082,
"33": -0.14526819693037055,
"34": -0.1198965423651197,
"35": -0.11574265121076999,
"36": -0.13206568352604026,
"37": -0.08004627851465437,
"38": -0.0950011097652101,
"39": -0.09245600556232672,
"40": -0.13225374226263362,
"41": -0.11599365320609464,
"42": -0.17256771756515152,
"43": -0.11483608658156753,
"44": -0.09121964210096198,
"45": -0.13410369632947294,
"46": -0.13042728917431096,
"47": -0.09006064815945719,
"48": -0.10552865925858317,
"49": -0.15913391270414332,
"50": -0.15985457481061624
},
"adjustments_euro": {
"1": -0.014850499375000001,
"2": 0.014775998750000002,
"3": -0.014850499375000001,
"4": -0.014850499375000001,
"5": -0.014850499375000001,
"6": -0.014850499375000001,
"7": -0.014850499375000001,
"8": 7.450062499999855e-05,
"9": 0.014775998750000002,
"10": -0.014850499375000001,
"11": -0.014850499375000001,
"12": 7.450062499999855e-05
"1": -0.10494098821942058,
"2": -0.027056675057008192,
"3": -0.11830793960044857,
"4": -0.1322568921376643,
"5": -0.047440853691181416,
"6": -0.049155618915874,
"7": -0.033897465674045044,
"8": -0.10446160077280368,
"9": -0.09443567741509633,
"10": -0.11645028869966062,
"11": -0.09027104593141426,
"12": -0.11673125927629154
},
"stats": {
"incorrect_main": 135,
"correct_main": 15,
"incorrect_euro": 30,
"correct_euro": 6,
"cycles": 3,
"last_update": "2026-01-06T21:00:43.269037"
"incorrect_main": 1710,
"correct_main": 190,
"incorrect_euro": 380,
"correct_euro": 76,
"cycles": 38,
"last_update": "2026-05-19T09:04:48.805027"
},
"learning_rate": 0.1,
"last_saved": "2026-01-06T21:00:43.269127"
"last_saved": "2026-05-19T09:04:48.805048"
}
Binary file not shown.
Binary file not shown.