Also adds a Superzahl frequency analysis (results/superzahl_haeufigkeit.md). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Lotto 6aus49 Analyse & Generator
Automatisiertes System zur Analyse von Lotto 6aus49-Daten und Generierung von KI-gestützten Tipps mit Telegram-Benachrichtigungen.
🎲 Features
- 🧠 AI/ML-basierte Tipp-Generierung: Random Forest, Gradient Boosting & Neural Networks
- 🎨 Pattern-Analyse: Historische Verteilungsmuster (NNMMHH, etc.)
- ⚡ Hybrid-Optimization: Multi-objektive Optimierung mit 4 Strategien
- 📚 Real-Time Learning: Kontinuierliche Anpassung der Modelle
- 🤖 Automatisierung: Wöchentliche Tipp-Generierung via Cron
- 📲 Telegram-Benachrichtigungen: Automatische Tipps direkt aufs Smartphone
- 🔄 Data-Updates: 3 verschiedene Methoden (API, Web-Scraping, Manuelle Eingabe)
📁 Verzeichnisstruktur
Lotto/
├── README.md # Diese Datei
├── config/ # Konfigurationsdateien
│ ├── notifications.json # Telegram/Email Config
│ └── notifications.json.example # Beispiel-Konfiguration
├── data/ # Generierte Daten
│ └── generated_tips/ # Hier landen die generierten Tipps
├── scripts/
│ ├── generators/ # Tipp-Generatoren
│ │ └── ultimate_ai_ml_hybrid_generator.py
│ ├── automation/ # Automatisierungs-Scripts
│ │ └── weekly_tip_generator.py
│ ├── analysis/ # Analyse-Scripts
│ └── utils/ # Hilfsfunktionen
│ ├── notifier.py # Benachrichtigungs-System
│ ├── update_from_api.py # API-basiertes Update
│ ├── update_from_web.py # Web-Scraping Update
│ └── simple_update.py # Manuelle Eingabe
├── results/ # Auswertungen & Grafiken
├── logs/ # Log-Dateien
└── setup_cron.sh # Cron-Job Einrichtung
🚀 Quick Start
1. Installation
# Python-Abhängigkeiten installieren
pip install pandas numpy scikit-learn requests
# Optional: Deep Learning
pip install tensorflow
2. Telegram-Bot einrichten
- Erstelle einen Bot mit @BotFather
- Kopiere den Bot-Token
- Hole deine Chat-ID (z.B. mit @userinfobot)
- Konfiguriere
config/notifications.json:
{
"telegram": {
"enabled": true,
"bot_token": "YOUR_BOT_TOKEN",
"chat_id": "YOUR_CHAT_ID"
}
}
3. Manuell Tipps generieren
cd scripts/automation
python weekly_tip_generator.py --force --num-tips 10
4. Telegram-Bot einrichten (optional)
Richte einen eigenen Lotto-Bot für Benachrichtigungen ein:
# Anleitung lesen
cat TELEGRAM_BOT_SETUP.md
# Bot-Token in config/notifications.json eintragen
# Siehe detaillierte Anleitung in TELEGRAM_BOT_SETUP.md
Kurzanleitung:
- Erstelle Bot mit @BotFather auf Telegram
- Trage Bot-Token in
config/notifications.jsonein - Setze
"enabled": true
5. Automatisierung einrichten
# Cron-Job erstellen (Dienstag & Freitag um 9 Uhr)
./setup_cron.sh
📊 Verwendung
Tipps manuell generieren
# Standard: 10 Tipps
python scripts/automation/weekly_tip_generator.py --force
# Anzahl Tipps anpassen
python scripts/automation/weekly_tip_generator.py --force --num-tips 20
# Nur Historie anzeigen
python scripts/automation/weekly_tip_generator.py --history
Generator direkt aufrufen
cd scripts/generators
python ultimate_ai_ml_hybrid_generator.py
Test-Benachrichtigung senden
python scripts/utils/notifier.py --test
🧠 Generator-Strategien
Der Ultimate AI/ML Hybrid Generator verwendet 4 verschiedene Strategien:
- PURE-AI (30%): Basierend ausschließlich auf Machine Learning Predictions
- PURE-PATTERN (25%): Historische Pattern-Analyse (NNMMHH-Kombinationen)
- HYBRID-OPT (30%): Multi-objektive Optimierung (AI + Pattern + Diversity)
- ENSEMBLE (15%): Best-of-all kombiniert alle Ansätze
Ausgabe-Beispiel:
Nr 6 Numbers SZ Strategy AI-Score Pattern-W Confidence Quality
----------------------------------------------------------------------------------------
1 7-14-21-28-35-42 3 PURE-AI 0.7234 0.3456 0.7123 ⭐ 0.756
2 2-11-19-27-36-45 7 HYBRID-OPT 0.6891 0.4123 0.6987 🌟 0.689
3 5-12-23-31-38-47 6 PURE-PATTERN 0.5234 0.5678 0.6234 🌟 0.621
...
📈 Performance Tracking
Alle Generierungen werden in data/generated_tips/generation_history.json getrackt:
{
"generations": [
{
"timestamp": "2024-11-27T09:00:00",
"num_tips": 10,
"file": "weekly_lotto_tips_20241127_090000.csv",
"avg_confidence": 0.6834,
"avg_quality": 0.6521
}
]
}
🤖 Automatisierung
Cron-Job Zeitplan
Der setup_cron.sh Script richtet folgende Zeitpunkte ein:
- Dienstag 09:00: Tipps für Mittwoch-Ziehung
- Freitag 09:00: Tipps für Samstag-Ziehung
Cron-Job manuell einrichten
crontab -e
Füge hinzu:
# Lotto 6aus49 - Dienstag & Freitag 09:00
0 9 * * 2,5 cd /path/to/Lotto && python3 scripts/automation/weekly_tip_generator.py >> logs/weekly_tips.log 2>&1
📲 Telegram-Benachrichtigungen
Bei erfolgreicher Generierung erhältst du automatisch:
- ⭐ Bester Tipp (höchste Confidence)
- 📊 Statistiken (Ø Confidence & Quality)
- 🏆 Top 3 Tipps nach Confidence sortiert
Beispiel-Nachricht:
🎲 LOTTO 6AUS49 - NEUE TIPPS GENERIERT
========================================
📅 Generiert: 2024-11-27 09:00
📊 Anzahl Tipps: 10
⭐ BESTER TIPP:
🎯 Zahlen: 07 - 14 - 21 - 28 - 35 - 42
🌟 Superzahl: 3
📈 Confidence: 0.7234
🎨 Strategie: PURE-AI
🍀 Viel Glück!
🔧 Konfiguration
notifications.json
{
"telegram": {
"enabled": true,
"bot_token": "YOUR_BOT_TOKEN",
"chat_id": "YOUR_CHAT_ID"
},
"email": {
"enabled": false,
"smtp_server": "smtp.gmail.com",
"smtp_port": 587,
"smtp_user": "",
"smtp_password": "",
"from_email": "",
"to_email": ""
}
}
🎰 Lotto 6aus49 Regeln
- 6 Zahlen aus 50 (1-49)
- 1 Superzahl aus 10 (0-9)
- Ziehungen: Mittwoch und Samstag
- Quoten: www.lotto.de
📝 Datenformat
CSV-Datei AlleLottozahlen.csv:
datum;Z1;Z2;Z3;Z4;Z5;Z6;SZ
2024-11-23;7;14;21;28;35;42;3
2024-11-20;2;11;19;27;36;45;7
...
🔄 Daten Aktualisieren
Das System bietet 3 verschiedene Methoden zum Aktualisieren der Lottozahlen:
Methode 1: API-Update (Empfohlen)
Automatisches Laden von öffentlichen Lotto-APIs:
cd scripts/utils
python update_from_api.py
Vorteile:
- ✅ Automatisch
- ✅ Schnell
- ✅ Keine manuelle Eingabe
Hinweis: Funktioniert nur wenn APIs verfügbar sind.
Methode 2: Web-Scraping
Scrapt aktuelle Ziehungen direkt von lotto.de:
cd scripts/utils
python update_from_web.py
Optionen:
# Mehr Seiten laden (mehr historische Daten)
python update_from_web.py --pages 10
# Spezifische Datei
python update_from_web.py /pfad/zur/datei.csv 5
Vorteile:
- ✅ Offizielle Quelle (lotto.de)
- ✅ Zuverlässig
- ✅ Viele historische Daten
Nachteile:
- ⚠️ Kann bei Struktur-Änderungen der Website fehlschlagen
Methode 3: Manuelle Eingabe (Fallback)
Für den Fall dass API und Web-Scraping nicht funktionieren:
cd scripts/utils
python simple_update.py
Zwei Modi:
-
Einzelne Ziehung eingeben:
Format: YYYY-MM-DD Z1 Z2 Z3 Z4 Z5 Z6 SZ Beispiel: 2024-11-27 7 14 21 28 35 42 3 -
CSV-Import:
datum;Z1;Z2;Z3;Z4;Z5;Z6;SZ 2024-11-27;7;14;21;28;35;42;3 2024-11-23;2;11;19;27;36;45;7
Vorteile:
- ✅ Funktioniert immer
- ✅ Volle Kontrolle
- ✅ CSV-Batch-Import möglich
Automatisches Backup
Alle Update-Methoden erstellen automatisch ein Backup vor der Änderung:
- Gespeichert in:
Lotto/data/backups/ - Format:
AlleLottozahlen.csv.backup_YYYYMMDD_HHMMSS
Update-Workflow Empfehlung
-
Versuche zuerst API:
python scripts/utils/update_from_api.py -
Fallback auf Web-Scraping:
python scripts/utils/update_from_web.py -
Letzter Fallback - Manuelle Eingabe:
python scripts/utils/simple_update.py
Nach dem Update
Nach dem erfolgreichen Update der Daten:
# Neue Tipps generieren (mit automatischem Retraining)
python scripts/automation/weekly_tip_generator.py --force
# Oder direkt den Generator aufrufen
python scripts/generators/ultimate_ai_ml_hybrid_generator.py
🤖 Automatisches ML-Retraining
Das System verwendet intelligentes Retraining:
- ✅ Automatische Erkennung: Prüft ob CSV neuer als ML-Cache
- ✅ Smart Caching: Nutzt Cache wenn Daten unverändert
- ✅ Auto-Retrain: Trainiert neu wenn neue Daten verfügbar
So funktioniert es:
- Nach
update_from_api.pywird CSV aktualisiert - Beim nächsten Generator-Start: CSV-Timestamp > Cache-Timestamp
- ✅ Automatisches Retraining mit neuen Daten
- Neue ML-Modelle berücksichtigen aktuelle Ziehungen
Manuelles Retraining erzwingen:
# Cache löschen für komplettes Retraining
rm -rf ultimate_ml_models/
python scripts/generators/ultimate_ai_ml_hybrid_generator.py
🛠️ Entwicklung
Neue Strategie hinzufügen
- Öffne
scripts/generators/ultimate_ai_ml_hybrid_generator.py - Füge neue Strategie in
strategy_weightshinzu - Implementiere
_generate_<strategy>_tip()Methode - Update
_generate_tips_by_strategy()
Logging aktivieren
import logging
logging.basicConfig(
filename='logs/generator.log',
level=logging.INFO,
format='%(asctime)s - %(levelname)s - %(message)s'
)
⚠️ Hinweise
- Keine Gewinngarantie: Dies ist ein statistisches Analyse-Tool
- Historische Daten: Vergangene Ziehungen garantieren keine zukünftigen Ergebnisse
- Verantwortungsvoll spielen: Lotto ist Glücksspiel
- Bot-Token: Niemals öffentlich teilen!
📜 Lizenz
Dieses Projekt ist für private Zwecke. Keine kommerzielle Nutzung.
🙋 Support
Bei Fragen oder Problemen:
- Check die Logs:
logs/weekly_tips.log - Test-Benachrichtigung:
python scripts/utils/notifier.py --test - Historie prüfen:
python scripts/automation/weekly_tip_generator.py --history
🍀 Viel Glück bei der nächsten Ziehung! 🍀