Files
Lotto-Tip-Generator/README.md
T
cbazzaandClaude Sonnet 4.5 f6106b8333 Initial commit: Lotto number generator project
This project includes multiple AI/ML-based lottery number generators for
German Lotto 6aus49, including pattern analysis, weighted predictions,
and hybrid approaches. Features automated weekly tip generation,
performance tracking, and Telegram bot integration.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-16 14:47:59 +01:00

10 KiB

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

  1. Erstelle einen Bot mit @BotFather
  2. Kopiere den Bot-Token
  3. Hole deine Chat-ID (z.B. mit @userinfobot)
  4. 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:

  1. Erstelle Bot mit @BotFather auf Telegram
  2. Trage Bot-Token in config/notifications.json ein
  3. 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:

  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:

{
  "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:

  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:

    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:

    python scripts/utils/update_from_api.py
    
  2. Fallback auf Web-Scraping:

    python scripts/utils/update_from_web.py
    
  3. 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:

  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:

# 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_<strategy>_tip() Methode
  4. 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:

  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! 🍀