# 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 ```bash # Python-Abhängigkeiten installieren pip install pandas numpy scikit-learn requests # Optional: Deep Learning pip install tensorflow ``` ### 2. Telegram-Bot einrichten 1. Erstelle einen Bot mit [@BotFather](https://t.me/botfather) 2. Kopiere den Bot-Token 3. Hole deine Chat-ID (z.B. mit [@userinfobot](https://t.me/userinfobot)) 4. Konfiguriere `config/notifications.json`: ```json { "telegram": { "enabled": true, "bot_token": "YOUR_BOT_TOKEN", "chat_id": "YOUR_CHAT_ID" } } ``` ### 3. Manuell Tipps generieren ```bash 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: ```bash # Anleitung lesen cat TELEGRAM_BOT_SETUP.md # Bot-Token in config/notifications.json eintragen # Siehe detaillierte Anleitung in TELEGRAM_BOT_SETUP.md ``` **Kurzanleitung**: 1. Erstelle Bot mit @BotFather auf Telegram 2. Trage Bot-Token in `config/notifications.json` ein 3. Setze `"enabled": true` ### 5. Automatisierung einrichten ```bash # Cron-Job erstellen (Dienstag & Freitag um 9 Uhr) ./setup_cron.sh ``` ## 📊 Verwendung ### Tipps manuell generieren ```bash # 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 ```bash cd scripts/generators python ultimate_ai_ml_hybrid_generator.py ``` ### Test-Benachrichtigung senden ```bash python scripts/utils/notifier.py --test ``` ## 🧠 Generator-Strategien Der Ultimate AI/ML Hybrid Generator verwendet **4 verschiedene Strategien**: 1. **PURE-AI** (30%): Basierend ausschließlich auf Machine Learning Predictions 2. **PURE-PATTERN** (25%): Historische Pattern-Analyse (NNMMHH-Kombinationen) 3. **HYBRID-OPT** (30%): Multi-objektive Optimierung (AI + Pattern + Diversity) 4. **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: ```json { "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 ```bash crontab -e ``` Füge hinzu: ```bash # 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 ```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](https://www.lotto.de) ## 📝 Datenformat CSV-Datei `AlleLottozahlen.csv`: ```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: ```bash 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: ```bash cd scripts/utils python update_from_web.py ``` Optionen: ```bash # 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: ```bash cd scripts/utils python simple_update.py ``` **Zwei Modi:** 1. **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 ``` 2. **CSV-Import:** ```csv 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 1. **Versuche zuerst API:** ```bash python scripts/utils/update_from_api.py ``` 2. **Fallback auf Web-Scraping:** ```bash python scripts/utils/update_from_web.py ``` 3. **Letzter Fallback - Manuelle Eingabe:** ```bash python scripts/utils/simple_update.py ``` ### Nach dem Update Nach dem erfolgreichen Update der Daten: ```bash # 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:** 1. Nach `update_from_api.py` wird CSV aktualisiert 2. Beim nächsten Generator-Start: CSV-Timestamp > Cache-Timestamp 3. ✅ Automatisches Retraining mit neuen Daten 4. Neue ML-Modelle berücksichtigen aktuelle Ziehungen **Manuelles Retraining erzwingen:** ```bash # 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 1. Öffne `scripts/generators/ultimate_ai_ml_hybrid_generator.py` 2. Füge neue Strategie in `strategy_weights` hinzu 3. Implementiere `_generate__tip()` Methode 4. Update `_generate_tips_by_strategy()` ### Logging aktivieren ```python 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: 1. Check die Logs: `logs/weekly_tips.log` 2. Test-Benachrichtigung: `python scripts/utils/notifier.py --test` 3. Historie prüfen: `python scripts/automation/weekly_tip_generator.py --history` --- **🍀 Viel Glück bei der nächsten Ziehung! 🍀**