Skip to content
Snippets Groups Projects
README.md 4.06 KiB
Newer Older
alhamdam94's avatar
alhamdam94 committed
# Empfehlungsalgorithmen durch Matrixfaktorisierung

alhamdam94's avatar
alhamdam94 committed
## Beschreibung
alhamdam94's avatar
alhamdam94 committed

alhamdam94's avatar
alhamdam94 committed
Dieses Projekt ist Teil einer Bachelorarbeit und implementiert eine Datenanalyse- und Machine-Learning-Anwendung. Die Hauptfunktionen sind in der Python-Datei `bachelorarbeit_1-2.py` definiert. Es verwendet verschiedene Python-Bibliotheken zur Verarbeitung von Daten, zur Erstellung von Visualisierungen und zur Modellierung von Machine-Learning-Algorithmen.
alhamdam94's avatar
alhamdam94 committed

alhamdam94's avatar
alhamdam94 committed
Die Ziele des Projekts umfassen:
- Verarbeitung und Bereinigung von Datensätzen
- Analyse der Daten mit statistischen und visuellen Methoden
- Implementierung von Machine-Learning-Modellen zur Vorhersage oder Klassifikation
alhamdam94's avatar
alhamdam94 committed

alhamdam94's avatar
alhamdam94 committed
## Voraussetzungen
alhamdam94's avatar
alhamdam94 committed

alhamdam94's avatar
alhamdam94 committed
Um dieses Projekt auszuführen, benötigen Sie:
- Python 3.9 oder höher
- Zugriff auf die in `requirements.txt` definierten Python-Bibliotheken
alhamdam94's avatar
alhamdam94 committed

alhamdam94's avatar
alhamdam94 committed
### Abhängigkeiten
alhamdam94's avatar
alhamdam94 committed

alhamdam94's avatar
alhamdam94 committed
Die folgenden Pakete werden verwendet:
- `numpy==1.24.3`: Numerische Berechnungen
- `pandas==1.5.3`: Datenverarbeitung und Manipulation
- `matplotlib==3.7.1`: Erstellung von Diagrammen und Visualisierungen
- `seaborn==0.12.2`: Erweiterte Datenvisualisierung
- `scikit-learn==1.2.2`: Machine-Learning-Bibliothek
- `kagglehub==0.1.4`: Zugriff auf Kaggle-Daten
alhamdam94's avatar
alhamdam94 committed

## Installation

alhamdam94's avatar
alhamdam94 committed
1. Klonen Sie das Repository:
   ```bash
   git clone <repository-url>
   cd <repository-name>
alhamdam94's avatar
alhamdam94 committed

alhamdam94's avatar
alhamdam94 committed
## Verwendung

1. **Daten vorbereiten**: 
   - Stellen Sie sicher, dass die benötigten Eingabedaten vorhanden sind. Falls das Projekt mit externen Datensätzen (z. B. von Kaggle) arbeitet, platzieren Sie diese in den vorgesehenen Ordnern oder geben Sie deren Pfade an.
   - Falls Kaggle-Daten verwendet werden, melden Sie sich mit der Bibliothek `kagglehub` an, um Daten herunterzuladen.

2. **Skript ausführen**:
   - Starten Sie das Hauptskript `bachelorarbeit_1-2.py`:
     ```bash
     python bachelorarbeit_1-2.py
     ```

3. **Parameter anpassen**:
   - Öffnen Sie das Skript in einem Code-Editor und passen Sie die Konfigurationsparameter an, falls erforderlich. Typische Anpassungen können sein:
     - Dateipfade für Eingabedaten
     - Auswahl der zu analysierenden Spalten
     - Parameter für Machine-Learning-Modelle (z. B. Testgröße, Algorithmenwahl)

4. **Funktionen verwenden**:
   - Das Skript führt die folgenden Schritte aus:
     - **Datenbereinigung**: Automatisches Behandeln von fehlenden Werten und Ausreißern.
     - **Explorative Datenanalyse (EDA)**: Erstellung von Statistiken und Visualisierungen.
     - **Modelltraining**: Training eines Machine-Learning-Modells (z. B. Klassifikation oder Regression).
     - **Evaluation**: Anzeige von Modellmetriken wie Genauigkeit, Präzision oder F1-Score.
     - **Visualisierung**: Darstellung von Ergebnissen, wie z. B. Diagramme oder Modellvorhersagen.

5. **Ergebnisse interpretieren**:
   - Nach Abschluss des Skripts werden die Ergebnisse (z. B. Visualisierungen, Metriken) im Terminal ausgegeben oder als Dateien gespeichert.

6. **Erweiterung des Codes**:
   - Falls spezifische Analysen oder Modelle erforderlich sind, kann der Code leicht erweitert werden. Nutzen Sie die Dokumentation der verwendeten Bibliotheken (`numpy`, `pandas`, `scikit-learn`, etc.) für weitere Funktionen.

## Funktionen

- **Datenbereinigung**:
  - Entfernen von Ausreißern
  - Umgang mit fehlenden Werten (z. B. Imputation)
  - Normalisierung oder Standardisierung von Daten

- **Explorative Datenanalyse (EDA)**:
  - Erstellung von Histogrammen, Boxplots und Korrelationsmatrizen
  - Identifikation von Datenmustern und Anomalien

- **Machine-Learning-Modelle**:
  - Unterstützung für Klassifikations- und Regressionsmodelle
  - Modelle wie Entscheidungsbäume, Random Forests, Support Vector Machines und mehr
  - Cross-Validation zur Evaluierung der Modelle

- **Ergebnisvisualisierung**:
  - Diagramme zur Darstellung von Modellmetriken
  - Visualisierung der Vorhersagen

## Hinweise

- **Datenquellen**: Stellen Sie sicher, dass die Daten korrekt formatiert sind. Verwenden Sie CSV-, JSON- oder ähnliche Dateiformate.
- **Leistungsoptimierung**: Für größere Datensätze können Sie parallele Verarbeitung oder GPU-Beschleunigung verwenden, falls erforderlich.
alhamdam94's avatar
alhamdam94 committed