diff --git a/README.rst b/README.rst
index e7a6c18..4b7838d 100644
--- a/README.rst
+++ b/README.rst
@@ -21,7 +21,7 @@ Installation
.. code-block:: console
- $ git clone git@github.com:cusyio/neural-network-tutorial.git
+ $ git clone git@github.com:AInvone/Intro-in-KI-Schulung.git
#. Installieren von Python-Paketen:
diff --git a/docs/conf.py b/docs/conf.py
index afebda0..cca9fb2 100644
--- a/docs/conf.py
+++ b/docs/conf.py
@@ -29,9 +29,9 @@
# The master toctree document.
master_doc = "index"
-project = "Neural Network Tutorial"
+project = "KI Schulung"
author = "Min Ye, Veit Schiele"
-copyright = f"2024, {author}"
+copyright = f"2025, {author}"
# The full version, including alpha/beta/rc tags
release = re.sub("^v", "", os.popen("git describe --abbrev=0").read().strip())
@@ -53,6 +53,7 @@
"sphinxext.opengraph",
"sphinx_copybutton",
"sphinx_inline_tabs",
+ "sphinx.ext.mathjax", # to allow mathematical formular
]
# Add any paths that contain templates here, relative to this directory.
@@ -145,6 +146,8 @@
intersphinx_mapping = {
"python": ("https://docs.python.org/3", None),
+ "Python4DataScience": ("https://www.python4data.science/de/latest", None),
+ "PyViz": ("https://pyviz-tutorial.readthedocs.io/de/latest", None),
}
diff --git a/docs/day2.rst b/docs/day2.rst
new file mode 100644
index 0000000..6d9f763
--- /dev/null
+++ b/docs/day2.rst
@@ -0,0 +1,230 @@
+Tag 2: Vertiefung: Neuronale Netze, Deep Learning, Use Case Fallgruben
+==============================
+
+**Recap Tag 1**
+
+- Zusammenfassung der Konzepte aus Tag 1: Überwachtes, unüberwachtes und bestärkendes Lernen.
+
+- Wichtige Begriffe: **Modell, Trainingsdaten, Testdaten, Overfitting, Regularisierung, Optimierung.**
+
+- Diskussion der zentralen Herausforderungen im ML: **Bias, Datenqualität, Modellinterpretierbarkeit.**
+
+- Quiz oder interaktive Übung zur Wiederholung.
+
+
+.. list-table:: Schulungsstruktur für Tag 2
+ :header-rows: 1
+
+ * - Kapitel
+ - Inhalte
+ * - Recap der wichtigsten Themen
+ - Wiederholung der ML-Konzepte, Diskussion, Quiz
+ * - Theorie: Neuronale Netze und Deep Learning
+ - Aufbau, Backpropagation, Aktivierungsfunktionen
+ * - Praxis: Bildklassifikation mit CNNs
+ - Implementierung mit TensorFlow/Keras
+ * - Diskussion: Use Case Fallgruben
+ - Churn Prediction, Herausforderungen, Modellwahl
+
+
+**Kapitel 9: Neuronale Netze und Deep Learning – Theorie**
+----------------------------------------------------------
+**Grundlagen:**
+
+Was sind künstliche neuronale Netze? Wie unterscheiden sie sich von klassischen ML-Modellen?
+
+- Künstliche neuronale Netze bestehen aus **Schichten von Neuronen**, die durch gewichtete Verbindungen miteinander verbunden sind.
+
+- Aufbau eines neuronalen Netzes: **Eingabeschicht, versteckte Schichten, Aktivierungsfunktionen, Ausgangsschicht.**
+
+- Jedes Neuron führt eine Berechnung basierend auf einer **Aktivierungsfunktion** durch und gibt das Ergebnis an die nächste Schicht weiter.
+
+**Forwardpropagation (Vorwärtsdurchlauf):**
+
+1. Die Eingabedaten werden in das Netzwerk eingespeist.
+
+2. In jeder Schicht wird die gewichtete Summe der Eingänge berechnet:
+
+ .. math::
+ z = w_1 x_1 + w_2 x_2 + ... + w_n x_n + b
+
+3. Diese gewichtete Summe wird durch eine **Aktivierungsfunktion** transformiert (z. B. ReLU, Sigmoid, Softmax), um **nicht-lineare Abhängigkeiten** abzubilden.
+
+4. Die Ausgabe der einen Schicht wird als Eingabe an die nächste Schicht weitergegeben, bis die letzte Schicht erreicht ist.
+
+5. Am Ende der Forward Propagation wird die Loss Function berechnet.
+
+
+**Loss Functions (Verlustfunktionen) und ihre Rolle:**
+
+- Eine **Loss Function** misst die Differenz zwischen der Vorhersage des Modells und dem tatsächlichen Wert.
+
+- Sie gibt an, wie gut oder schlecht das Modell arbeitet.
+
+- Wird während der Backpropagation genutzt, um die Gewichte des Netzwerks zu aktualisieren.
+
+**Typische Loss Functions:**
+
+1. **Mean Squared Error (MSE)** – Wird für **Regressionsprobleme** verwendet:
+
+ .. math::
+ MSE = \frac{1}{n} \sum_{i=1}^{n} (y_i - \hat{y}_i)^2
+
+ - Bestraft größere Fehler überproportional.
+
+ - Gut für kontinuierliche Werte wie Preisprognosen.
+
+2. **Cross-Entropy Loss** – Wird für **Klassifikationsprobleme** verwendet:
+
+ .. math::
+ L = -\sum y_i \log(\hat{y}_i)
+
+ - Erhöht die Strafe, wenn das Modell sehr sicher, aber falsch ist.
+
+ - Wird z. B. bei **Softmax-Klassifikationen** genutzt.
+
+**Zusammenhang zwischen Loss Function und Gradient Descent:**
+
+- Gradient Descent ist der Algorithmus, der die Gewichte des Modells so anpasst, dass die Loss Function minimiert wird.
+
+- Die Ableitung der Loss Function bestimmt die Richtung, in die die Gewichte aktualisiert werden.
+
+- **Formel für das Gewicht-Update:**
+
+ .. math::
+ w := w - \alpha \frac{\partial L}{\partial w}
+
+ wobei \( \alpha \) die Lernrate ist.
+
+- Dies passiert während der **Backwardpropagation (Rückwärtsdurchlauf):**
+
+**Backwardpropagation (Rückwärtsdurchlauf):**
+
+1. Der Fehler des Netzwerks wird berechnet, indem die Differenz zwischen der vorhergesagten und der tatsächlichen Ausgabe bestimmt wird, d.h. indem die Loss Function evaluiert wird.
+
+2. Die Fehler werden von der letzten Schicht zurück durch das Netzwerk propagiert, um **die Gewichte der Neuronen zu aktualisieren**.
+
+3. Die Berechnung erfolgt mit Hilfe der **Kettenregel der Ableitungen**, um die Gradienten für jedes Gewicht zu bestimmen:
+
+.. .. math::
+.. rac{\partial L}{\partial w} = rac{\partial L}{\partial y} \cdot rac{\partial y}{\partial z} \cdot rac{\partial z}{\partial w}
+
+4. Durch die Anwendung des **Gradientenabstiegsverfahrens (Gradient Descent)** werden die Gewichte so angepasst, dass der Gesamtfehler des Netzwerks iterativ minimiert und somit das Modell optimiert wird.
+
+**Optimierungstechniken:**
+
+- **Stochastischer Gradientenabstieg (SGD):** Berechnet Gradienten basierend auf einer zufälligen Stichprobe aus den Trainingsdaten.
+
+- **Adam-Optimizer:** Eine erweiterte Form des SGD, die adaptives Lernen ermöglicht und schneller konvergiert.
+
+- **Momentum-Methoden:** Nutzen vergangene Gradienteninformationen, um stabilere Updates durchzuführen.
+
+**Wichtige Aktivierungsfunktionen:**
+
+- **ReLU (Rectified Linear Unit):** Häufig in CNNs verwendet, eliminiert negative Werte.
+
+- **Sigmoid:** Wandelt Werte in einen Bereich zwischen 0 und 1 um, nützlich für Wahrscheinlichkeitsprognosen.
+
+- **Softmax:** Wird in Klassifikationsproblemen für mehr als zwei Klassen genutzt.
+
+
+**Fortgeschrittene Deep-Learning-Techniken:**
+
+- Convolutional Neural Networks (CNNs) für **Bildverarbeitung**.
+
+- Recurrent Neural Networks (RNNs) für **Sequenz- und Textverarbeitung**.
+
+- Transformer-Modelle für **NLP (z. B. BERT, GPT).**
+
+
+**Kapitel 10: Praxisbeispiel – Bildklassifikation mit CNNs**
+------------------------------------------------------------
+
+**Ziel:** Einführung in Convolutional Neural Networks mit TensorFlow/Keras anhand eines Bildklassifikationsproblems.
+
+.. note:
+ Code Beispiel auch mit pytorch! als "Gegenbeispiel" zu tensorflows
+
+
+**Code-Beispiel: Klassifikation des MNIST-Datensatzes (Handgeschriebene Ziffern)**
+
+.. code-block:: python
+
+ import tensorflow as tf
+ from tensorflow.keras import layers, models
+ from tensorflow.keras.datasets import mnist
+ import matplotlib.pyplot as plt
+
+ # Daten laden
+ (x_train, y_train), (x_test, y_test) = mnist.load_data()
+ x_train, x_test = x_train / 255.0, x_test / 255.0 # Normalisierung
+ x_train = x_train[..., tf.newaxis] # Dimension erweitern
+ x_test = x_test[..., tf.newaxis]
+
+ # Modell definieren
+ model = models.Sequential([
+ layers.Conv2D(32, (3,3), activation='relu', input_shape=(28,28,1)),
+ layers.MaxPooling2D((2,2)),
+ layers.Conv2D(64, (3,3), activation='relu'),
+ layers.MaxPooling2D((2,2)),
+ layers.Conv2D(64, (3,3), activation='relu'),
+ layers.Flatten(),
+ layers.Dense(64, activation='relu'),
+ layers.Dense(10, activation='softmax')
+ ])
+
+ # Modell kompilieren
+ model.compile(optimizer='adam',
+ loss='sparse_categorical_crossentropy',
+ metrics=['accuracy'])
+
+ # Training
+ model.fit(x_train, y_train, epochs=5, validation_data=(x_test, y_test))
+
+ # Evaluation
+ test_loss, test_acc = model.evaluate(x_test, y_test)
+ print(f'Testgenauigkeit: {test_acc}')
+
+ # Beispielhafte Vorhersage
+ predictions = model.predict(x_test)
+ plt.imshow(x_test[0].reshape(28, 28), cmap='gray')
+ plt.title(f'Vorhergesagte Klasse: {predictions[0].argmax()}')
+ plt.show()
+
+**Kapitel 11: Use Case Fallgruben – Diskussion zur Kundenabwanderung (Customer Churn Prediction)**
+-----------------------------------------------------------------------------------------
+
+**Ziel:**
+
+- Erarbeite eigenständig, wie du ein ML-Problem formulieren und lösen würdest.
+
+- Fokus liegt auf den Herausforderungen in realen Projekten.
+
+**Problemstellung:**
+
+Ein Telekommunikationsunternehmen möchte vorhersagen, ob ein Kunde abwandern wird oder nicht. Die Lernenden sollen erarbeiten:
+
+1. **Wie definiert man Kundenabwanderung?**
+
+- z.B. Vertragskunde: kündigt in den nächsten drei Monaten seinen Vertrag
+- z.B. Prepaidkunde: wird innerhalb der nächsten drei Monate dessen SIM-Karte nutzen und innerhalb der nächsten 6 Monate aufladen
+
+2. **Welche Daten sind relevant?**
+
+2. **Wie sollten Features gestaltet werden?** (z. B. Anrufhäufigkeit, Vertragslaufzeit, Reklamationen?)
+
+3. **Welche ML-Methoden eignen sich?** (Klassifikation, Feature Engineering)
+
+4. **Wie validiert man das Modell?**
+
+5. **Welche Herausforderungen können auftreten?**
+
+**Diskussionsfragen:**
+
+- Welche Probleme könnten bei der Modellinterpretation auftreten?
+
+- Wie könnte man ethische Fragestellungen (z. B. Diskriminierung) berücksichtigen?
+
+- Welche Maßnahmen könnte ein Unternehmen basierend auf den Vorhersagen ergreifen?
+
+
diff --git a/docs/day3.rst b/docs/day3.rst
new file mode 100644
index 0000000..3098546
--- /dev/null
+++ b/docs/day3.rst
@@ -0,0 +1,132 @@
+Tag 3: Reinforcement Learning (RL)
+=======================
+
+**Recap der wichtigsten Themen des zweiten Tages**
+
+- Wiederholung der zentralen Konzepte von **Neuronalen Netzen und Deep Learning**
+
+- Verständnis der **Forwardpropagation und Backwardpropagation**
+
+- **Loss Functions und ihre Rolle in Gradient Descent**
+
+- Bedeutung von **Optimierungsverfahren** wie Adam und SGD
+
+- Diskussion über Anwendungen von **CNNs für Bildklassifikation**
+
+- Offene Fragen und Klarstellungen
+
+
+.. list-table:: Schulungsstruktur für KI-Grundlagen: Tag 3
+ :header-rows: 1
+
+ * - Kapitel
+ - Inhalte
+ * - Recap der wichtigsten Themen
+ - Wiederholung von Deep Learning und CNNs
+ * - Einführung in Reinforcement Learning
+ - Konzepte, Agent, Umgebung, Belohnungen
+ * - Markov-Entscheidungsprozesse
+ - Definition, Zustände, Aktionen, Wertfunktionen
+ * - Wertbasierte Methoden – Q-Learning
+ - Theorie, Q-Tabelle, Deep Q-Networks (DQN)
+ * - Praxis: Q-Learning in OpenAI Gym
+ - Implementierung mit Python
+
+
+**Definition:**
+
+- Reinforcement Learning (RL) ist eine Form des **selbstlernenden maschinellen Lernens**, bei dem ein Agent durch **Belohnung und Bestrafung** lernt.
+
+- Ziel ist es, eine **Strategie (Policy)** zu erlernen, die langfristig die **höchste kumulierte Belohnung** maximiert.
+
+- Anders als beim überwachten Lernen gibt es **keine direkten Labels**, sondern nur **Rückmeldungen** basierend auf den getroffenen Entscheidungen.
+
+**Grundprinzipien:**
+
+1. **Agent:** Der lernende KI-Teilnehmer.
+
+2. **Umgebung (Environment):** Die Welt, in der der Agent agiert.
+
+3. **Zustand (State):** Der aktuelle Status der Umgebung.
+
+4. **Aktion (Action):** Die Entscheidung, die der Agent in einem Zustand trifft.
+
+5. **Belohnung (Reward):** Signal, das die Qualität einer Aktion beschreibt.
+
+6. **Policy (Strategie):** Funktion, die bestimmt, welche Aktion in welchem Zustand gewählt wird.
+
+7. **Wertfunktion (Value Function):** Erwartete zukünftige Belohnung eines Zustands.
+
+---
+
+**Kapitel 14: Markov-Entscheidungsprozesse (MDP)**
+- RL basiert auf **Markov-Entscheidungsprozessen (MDP)**, die aus folgendem bestehen:
+
+ 1. **S** – Menge aller möglichen Zustände.
+
+ 2. **A** – Menge aller möglichen Aktionen.
+
+ 3. **P(s' | s, a)** – Übergangswahrscheinlichkeit von Zustand \(s\) zu \(s'\) nach Aktion \(a\).
+
+ 4. **R(s, a)** – Belohnung für das Ausführen von Aktion \(a\) in Zustand \(s\).
+
+ 5. **\(\gamma\) (Discount Factor)** – Faktor für zukünftige Belohnungen (zwischen 0 und 1).
+
+- Das Ziel ist, eine **optimale Policy** zu finden, die die **kumulierte langfristige Belohnung maximiert**.
+
+---
+
+**Kapitel 15: Wertbasierte Methoden – Q-Learning**
+
+**Q-Learning Algorithmus:**
+
+- Speichert eine **Q-Tabelle**, die Werte für jede **(Zustand, Aktion)-Kombination** enthält.
+
+- Aktualisiert sich mit der **Bellman-Gleichung:**
+
+ .. math::
+ Q(s,a) = Q(s,a) + \alpha (R + \gamma \max Q(s',a') - Q(s,a))
+
+- Verwendet **Exploration vs. Exploitation:**
+
+ - **Exploration:** Zufällige Aktionen testen, um neue Strategien zu entdecken.
+
+ - **Exploitation:** Beste bekannte Aktion nutzen, um Belohnung zu maximieren.
+
+**Deep Q-Networks (DQN):**
+
+- Ersetzt die **Q-Tabelle durch ein neuronales Netz**, das **Q-Werte approximiert**.
+
+- Verwendet Replay Buffers zur Speicherung vergangener Erfahrungen.
+
+- Führt **Experience Replay** aus, um stabileres Lernen zu ermöglichen.
+
+**Code-Beispiel: Einfaches Q-Learning für eine OpenAI Gym-Umgebung**
+
+.. code-block:: python
+
+ import numpy as np
+ import gym
+
+ # OpenAI Gym Umgebung
+ env = gym.make("FrozenLake-v1", is_slippery=False)
+ Q = np.zeros([env.observation_space.n, env.action_space.n])
+ alpha = 0.1 # Lernrate
+ gamma = 0.99 # Discount-Faktor
+ epsilon = 0.1 # Zufällige Exploration
+
+ for episode in range(1000):
+ state = env.reset()[0]
+ done = False
+ while not done:
+ if np.random.rand() < epsilon:
+ action = env.action_space.sample()
+ else:
+ action = np.argmax(Q[state])
+
+ next_state, reward, done, _, _ = env.step(action)
+ Q[state, action] += alpha * (reward + gamma * np.max(Q[next_state]) - Q[state, action])
+ state = next_state
+
+ print("Q-Tabelle:")
+ print(Q)
diff --git a/docs/day4.rst b/docs/day4.rst
new file mode 100644
index 0000000..7377c33
--- /dev/null
+++ b/docs/day4.rst
@@ -0,0 +1,36 @@
+Tag 4: Generative KI
+=======================
+
+Das Neural Network Tutorial möchte euch einen praxisnahen Einstieg in neuronale
+Netze mit Python ermöglichen.
+
+Das Neural Network Tutorial ist Teil einer Reihe von Tutorials zur Datenanalyse
+und -visualisierung:
+
+* `Python Basics `_
+* `Jupyter-Tutorial `_
+* `Python für Data Science `_
+* `PyViz-Tutorial `_
+* `cusy Design-System: Datenvisualisierung
+ `_
+
+Alle Tutorials dienen als Seminarunterlagen für unsere aufeinander abgestimmten
+Trainings:
+
+Abschluss
+=========
+
+**Ethische Fragestellungen in der KI**
+
+Mit der rasanten Entwicklung der KI gehen auch bedeutende ethische Fragen einher:
+
+- **Bias und Diskriminierung:** KI-Modelle können bestehende Vorurteile aus Trainingsdaten übernehmen.
+
+- **Arbeitsplatzverdrängung:** Automatisierung kann menschliche Arbeitsplätze gefährden.
+
+- **Transparenz und Erklärbarkeit:** Viele KI-Modelle, insbesondere Deep Learning, sind schwer zu interpretieren.
+
+- **Verantwortung und Haftung:** Wer ist verantwortlich, wenn eine KI fehlerhafte oder schädliche Entscheidungen trifft?
+
+- **Datenschutz:** KI-Anwendungen erfordern oft große Datenmengen, was Datenschutzprobleme aufwirft.
+
diff --git a/docs/index.rst b/docs/index.rst
index 852d1ff..537dfe9 100644
--- a/docs/index.rst
+++ b/docs/index.rst
@@ -1,60 +1,25 @@
=======================
-Neural Network Tutorial
+Einführung in KI
=======================
-Das Neural Network Tutorial möchte euch einen praxisnahen Einstieg in neuronale
-Netze mit Python ermöglichen.
+Die Schulung "Einführung in KI" ermöglicht euch einen praxisnahen Einstieg in KI mit Python.
-Das Neural Network Tutorial ist Teil einer Reihe von Tutorials zur Datenanalyse
-und -visualisierung:
-
-* `Python Basics `_
-* `Jupyter-Tutorial `_
-* `Python für Data Science `_
-* `PyViz-Tutorial `_
-* `cusy Design-System: Datenvisualisierung
- `_
+Die Schulung ist aufgebaut in 4 Blöcken und hat folgende Hauptbestandteile:
Alle Tutorials dienen als Seminarunterlagen für unsere aufeinander abgestimmten
Trainings:
-+---------------+--------------------------------------------------------------+
-| Dauer | Titel |
-+===============+==============================================================+
-| 3 Tage | `Einführung in Python`_ |
-+---------------+--------------------------------------------------------------+
-| 2 Tage | `Fortgeschrittenes Python`_ |
-+---------------+--------------------------------------------------------------+
-| 2 Tage | `Entwurfsmuster in Python`_ |
-+---------------+--------------------------------------------------------------+
-| 2 Tage | `Effizient Testen mit Python`_ |
-+---------------+--------------------------------------------------------------+
-| 1 Tag | `Software-Dokumentation mit Sphinx`_ |
-+---------------+--------------------------------------------------------------+
-| 2 Tage | `Technisches Schreiben`_ |
-+---------------+--------------------------------------------------------------+
-| 3 Tage | `Jupyter-Notebooks für effiziente Data-Science-Workflows`_ |
-+---------------+--------------------------------------------------------------+
-| 2 Tage | `Numerische Berechnungen mit NumPy`_ |
-+---------------+--------------------------------------------------------------+
-| 2 Tage | `Daten analysieren mit pandas`_ |
-+---------------+--------------------------------------------------------------+
-| 3 Tage | `Daten lesen, schreiben und bereitstellen mit Python`_ |
-+---------------+--------------------------------------------------------------+
-| 2 Tage | `Daten bereinigen und validieren mit Python`_ |
-+---------------+--------------------------------------------------------------+
-| 5 Tage | `Daten visualisieren mit Python`_ |
-+---------------+--------------------------------------------------------------+
-| 1 Tag | `Datenvisualisierungen gestalten`_ |
-+---------------+--------------------------------------------------------------+
-| 2 Tage | `Dashboards erstellen`_ |
-+---------------+--------------------------------------------------------------+
-| 3 Tage | `Code und Daten versioniert und reproduzierbar speichern`_ |
-+---------------+--------------------------------------------------------------+
-| Abonnement | `Neues aus Python für Data-Science`_ |
-| à 2 h im | |
-| Quartal | |
-+---------------+--------------------------------------------------------------+
++---------------+---------------------------------------------------------------+
+| Dauer | Titel |
++===============+===============================================================+
+| Tag 1 | `Einführung, Überwachtes Lernen, Regression` |
++---------------+---------------------------------------------------------------+
+| Tag 2 | `Unüberwachtes Lernen, Klassifilation, Use Case Fallgruben` |
++---------------+---------------------------------------------------------------+
+| Tag 3 | `Reinforcement Learning` |
++---------------+---------------------------------------------------------------+
+| Tag 4 | `Generative KI - Einführung` |
++---------------+---------------------------------------------------------------+
.. _`Einführung in Python`:
https://cusy.io/de/unsere-schulungsangebote/einfuehrung-in-python
@@ -89,11 +54,22 @@ Trainings:
.. _`Neues aus Python für Data-Science`:
https://cusy.io/de/unsere-schulungsangebote/neues-aus-python-fuer-data-science
+Zusatzmaterialien:
+* `Python Basics `_
+* `Jupyter-Tutorial `_
+* `Python für Data Science `_
+* `PyViz-Tutorial `_
+* `cusy Design-System: Datenvisualisierung `_
+
.. toctree::
:hidden:
:titlesonly:
:maxdepth: 0
+ intro/index
+ day2
+ day3
+ day4
changelog
.. Indices and tables
diff --git a/docs/intro/case-study.rst b/docs/intro/case-study.rst
new file mode 100644
index 0000000..843e4bc
--- /dev/null
+++ b/docs/intro/case-study.rst
@@ -0,0 +1,107 @@
+Fallstudie: Vorhersage von Immobilienpreisen
+============================================
+
+Ziel dieser Fallstudie
+----------------------
+
+- Anwendung der erlernten Methoden zur Vorhersage von Immobilienpreisen.
+
+- Verwendung eines realen Datensatzes zur Modellierung.
+
+- Umsetzung in Python mit `scikit-learn`.
+
+Schritte zur Umsetzung
+----------------------
+
+1. **Daten laden und verstehen**
+
+ * Nutzung eines offenen Datensatzes (:abbr:`z.B. (zum Beispiel)` `Boston
+ Housing Dataset` oder `Kaggle Immobilienpreise`).
+ * Untersuchung der Datenverteilung, Korrelationen und möglicher Ausreißer.
+
+2. **Datenvorbereitung**
+
+ * Umwandlung kategorischer Merkmale (One-Hot-Encoding).
+ * Normalisierung und Skalierung numerischer Merkmale.
+ * Aufteilung in Trainings- und Testdaten.
+
+3. **Modelltraining mit Lineare Regression**
+
+ * Trainieren eines **Linearen Regressionsmodells** mit ``scikit-learn``.
+ * Verwendung von Metriken zur Bewertung der Modellgüte (:abbr:`z.B. (zum
+ Beispiel)` MSE, R²).
+
+4. **Modellbewertung und Interpretation**
+
+ * Bewertung der Modellperformance auf dem Testdatensatz.
+ * Interpretation der wichtigsten Einflussgrößen.
+
+Code-Beispiel
+-------------
+
+.. code-block:: python
+ :linenos:
+
+ import pandas as pd
+ import numpy as np
+ import matplotlib.pyplot as plt
+ from sklearn.model_selection import train_test_split
+ from sklearn.preprocessing import StandardScaler, OneHotEncoder
+ from sklearn.linear_model import LinearRegression
+ from sklearn.metrics import mean_squared_error, r2_score
+
+ # Beispieldatensatz laden (Boston Housing Dataset)
+ from sklearn.datasets import load_boston
+
+ boston = load_boston()
+ df = pd.DataFrame(boston.data, columns=boston.feature_names)
+ df["PRICE"] = boston.target
+
+ # Aufteilung in Merkmale (X) und Zielvariable (y)
+ X = df.drop("PRICE", axis=1)
+ y = df["PRICE"]
+
+ # Aufteilung in Trainings- und Testsets
+ X_train, X_test, y_train, y_test = train_test_split(
+ X, y, test_size=0.2, random_state=42
+ )
+
+ # Feature Scaling
+ scaler = StandardScaler()
+ X_train_scaled = scaler.fit_transform(X_train)
+ X_test_scaled = scaler.transform(X_test)
+
+ # Lineare Regression trainieren
+ model = LinearRegression()
+ model.fit(X_train_scaled, y_train)
+
+ # Vorhersagen treffen
+ y_pred = model.predict(X_test_scaled)
+
+ # Modellbewertung
+ mse = mean_squared_error(y_test, y_pred)
+ r2 = r2_score(y_test, y_pred)
+ print(f"Mittlerer quadratischer Fehler (MSE): {mse}")
+ print(f"Bestimmtheitsmaß (R²): {r2}")
+
+ # Visualisierung der Vorhersagen
+ plt.scatter(y_test, y_pred, alpha=0.7)
+ plt.xlabel("Tatsächliche Preise")
+ plt.ylabel("Vorhergesagte Preise")
+ plt.title("Tatsächliche vs. Vorhergesagte Immobilienpreise")
+ plt.show()
+
+Zeilen 12–14
+ **Datensatz laden:** Wir verwenden das `Boston Housing Dataset`, das
+ verschiedene Merkmale von Häusern enthält.
+Zeilen 26–28
+ **Datenvorverarbeitung:** Skalierung der numerischen Variablen zur besseren
+ Modellleistung.
+Zeilen 31–32
+ **Modelltraining:** Wir verwenden eine einfache lineare Regression.
+Zeilen 38–41
+ **Modellbewertung:** Berechnung des mittleren quadratischen Fehlers (MSE)
+ und des Bestimmtheitsmaßes (R²).
+Zeilen 44–48
+ **Visualisierung:** Darstellung der tatsächlichen vs. vorhergesagten Werte
+ zur Überprüfung der Modellgüte.
diff --git a/docs/intro/categories.rst b/docs/intro/categories.rst
new file mode 100644
index 0000000..e6bd7f4
--- /dev/null
+++ b/docs/intro/categories.rst
@@ -0,0 +1,249 @@
+Kategorien von Aufgaben
+=======================
+
+Maschinelles Lernen kann für verschiedene **Aufgabentypen** eingesetzt werden,
+abhängig davon, ob das Ziel eine **Vorhersage, Gruppierung oder
+Entscheidungsoptimierung** ist. In diesem Kapitel werden die vier Hauptarten von
+ML-Aufgaben vorgestellt: :ref:`regression`, :ref:`classification`,
+:ref:`clustering` und :ref:`autonomous`.
+
+.. _regression:
+
+Regression
+----------
+
+* Sie ist eine Technik zur **Vorhersage von kontinuierlichen Werten** auf Basis
+ von Eingabedaten.
+* Sie wird genutzt, wenn das Ziel eine numerische Größe ist, :abbr:`z.B.
+ (zum Beispiel)` Preis, Temperatur oder Umsatzprognose.
+
+Beispiele
+~~~~~~~~~
+
+Immobilienpreise vorhersagen
+ Basierend auf Faktoren wie Größe, Lage und Baujahr.
+Wettervorhersagen
+ Prognose der Temperatur für den nächsten Tag.
+Finanzmarktanalysen
+ Vorhersage von Aktienkursen oder Umsatzentwicklungen.
+
+Typische Algorithmen
+~~~~~~~~~~~~~~~~~~~~
+
+* Lineare Regression
+* Multiple Regression
+* Polynomial Regression
+* Neuronale Netze für kontinuierliche Vorhersagen
+
+.. _classification:
+
+Klassifikation
+--------------
+
+Definition
+~~~~~~~~~~
+
+* Klassifikation ist eine Methode zur **Zuordnung von Datenpunkten zu diskreten
+ Kategorien**.
+* Das Ziel ist, eine Entscheidung über eine vordefinierte Anzahl von Klassen zu
+ treffen.
+
+Beispiele
+~~~~~~~~~
+
+E-Mail-Spam-Erkennung
+ Klassifizierung von E-Mails als "Spam" oder "Nicht-Spam".
+Diagnosen in der Medizin
+ Erkennung von Krankheiten anhand von Symptomen.
+Bilderkennung
+ Identifizierung von Objekten auf Fotos (Hund vs. Katze).
+
+Typische Algorithmen
+~~~~~~~~~~~~~~~~~~~~
+
+* Entscheidungsbäume
+* Random Forest
+* Support Vector Machines (SVM)
+* Neuronale Netze für Bilderkennung (CNNs)
+
+.. _clustering:
+
+Clustering
+----------
+
+Definition
+~~~~~~~~~~
+
+* Clustering ist eine Technik des **unüberwachten Lernens**, bei der Daten ohne
+ vorherige Labels in Gruppen eingeteilt werden.
+* Das Ziel ist es, Muster oder Strukturen in den Daten zu erkennen.
+
+Beispiele
+~~~~~~~~~
+
+Kundensegmentierung
+ Kunden anhand ihres Kaufverhaltens in Gruppen einteilen.
+Genanalyse
+ Identifikation von ähnlichen genetischen Mustern.
+Betrugserkennung
+ Auffinden verdächtiger Transaktionsmuster.
+
+Typische Algorithmen
+~~~~~~~~~~~~~~~~~~~~
+
+* K-Means-Clustering
+* DBSCAN (Density-Based Spatial Clustering)
+* Hierarchisches Clustering
+
+.. _autonomous:
+
+Autonome Aufgaben
+-----------------
+
+Definition
+~~~~~~~~~~
+
+* Autonome Aufgaben erfordern eine Kombination aus **überwachtem, unüberwachtem
+ und bestärkendem Lernen**, um **eigenständig Entscheidungen** zu treffen und
+ sich an neue Situationen anzupassen.
+* Diese Aufgaben sind besonders anspruchsvoll, da sie oft
+ **Echtzeit-Entscheidungen** erfordern.
+
+Beispiele
+~~~~~~~~~
+
+Selbstfahrende Autos
+ Kombination aus Bilderkennung, Reinforcement Learning und Sensorfusion zur
+ sicheren Navigation.
+Industrielle Robotik
+ Roboter, die sich an neue Umgebungen anpassen und Produktionslinien
+ optimieren.
+Dynamische Preisgestaltung
+ Systeme, die in Echtzeit Preisentscheidungen treffen, basierend auf Angebot
+ und Nachfrage.
+
+Technologien
+~~~~~~~~~~~~
+
+Reinforcement Learning (RL):
+ Algorithmen lernen durch Belohnungssysteme.
+Neuronale Netze
+ Deep Learning wird genutzt, um Sensordaten zu verarbeiten.
+Edge Computing
+ Echtzeit-Datenverarbeitung für schnelle Reaktionen.
+
+.. _generative:
+
+Generative Aufgaben
+-------------------
+
+Definition
+~~~~~~~~~~
+
+* Generative KI zielt darauf ab, neue Daten zu erzeugen, die den Muster der
+ Trainingsdaten folgen, aber nicht identisch mit ihnen sind.
+* Diese Technologie basiert auf Modellen, die durch unüberwachtes oder
+ selbstüberwachtes Lernen trainiert werden und dann neue Inhalte generieren.
+
+Beispiele
+~~~~~~~~~
+
+* Bildgenerierung:
+
+ * Erstellung neuer Bilder auf Basis bestehender Stile (:abbr:`z.B. (zum
+ Beispiel)` DeepDream, DALL·E).
+ * Erstellung realistischer Gesichter mit GANs (:abbr:`z.B. (zum Beispiel)`
+ „ThisPersonDoesNotExist.com“).
+
+* Textgenerierung:
+
+ * Chatbots wie ChatGPT, die menschenähnliche Texte generieren.
+ * Automatische Textzusammenfassungen oder Artikelgenerierung.
+
+* Musik und Audio:
+
+ * KI-gestützte Musikkomposition (:abbr:`z.B. (zum Beispiel)` OpenAIs Jukebox).
+ * Stimmenklonen und Deepfake-Audio.
+
+* Code-Generierung:
+
+ * KI-Systeme wie GitHub Copilot oder AlphaCode, die Programmiercode
+ generieren.
+
+* 3D- und Videogenerierung:
+
+ * Synthese neuer 3D-Modelle für Videospiele oder Animationen.
+ * KI-generierte Deepfake-Videos.
+
+Typische Algorithmen
+~~~~~~~~~~~~~~~~~~~~
+
+* Generative Adversarial Networks (GANs)
+
+ * Lernen zwei konkurrierende Netzwerke: ein „Generator“ und ein
+ „Diskriminator“.
+
+ * Beispiel: Stiltransfer von Gemälden auf Fotos.
+
+* Variational Autoencoders (VAEs)
+
+ * Lernen eine kompakte Darstellung der Daten und können daraus neue Instanzen generieren.
+
+* Transformer-Modelle (:abbr:`z.B. (zum Beispiel)` GPT, BERT, T5)
+
+ * Werden für Text- und Codegenerierung eingesetzt.
+
+* Diffusionsmodelle (DALL·E, Stable Diffusion)
+
+ * Besonders leistungsfähig für hochwertige Bilderzeugung.
+
+Zusammenfassung
+~~~~~~~~~~~~~~~
+
+* Generative KI ist eine eigene Aufgabenkategorie, da sie keine Vorhersage- oder
+ Gruppierungsaufgabe erfüllt, sondern neue Inhalte erstellt.
+* Sie nutzt tiefe neuronale Netze, insbesondere GANs, Transformer-Modelle und
+ Diffusionsmodelle.
+* Generative KI wird zunehmend wichtiger in Bereichen wie Kunst, Design, Code,
+ Audio und Sprache.
+
+Vergleich der ML-Aufgabentypen
+------------------------------
+
+.. list-table:: Vergleich von Regression, Klassifikation, Clustering und autonomen Aufgaben
+ :header-rows: 1
+
+ * - Merkmal
+ - :ref:`regression`
+ - :ref:`classification`
+ - :ref:`clustering`
+ - :ref:`autonomous`
+ - :ref:`generative`
+ * - Art der Vorhersage
+ - Kontinuierlicher Wert
+ - Diskrete Klassen
+ - Gruppenbildung ohne Labels
+ - Eigenständige Entscheidungsfindung
+ - Erzeugung neuer Daten
+ * - Beispiele
+ - Preisprognosen, Finanzanalysen
+ - Bilderkennung, Spam-Filter
+ - Kundensegmentierung, Anomalieerkennung
+ - Selbstfahrende Autos, Industrieroboter
+ - KI-generierte Bilder, Texte, Musik
+ * - Typische Algorithmen
+ - Lineare Regression, neuronale Netze
+ - Entscheidungsbäume, SVM
+ - K-Means, DBSCAN
+ - Reinforcement Learning, Deep Learning
+ - GANs, VAEs, Transformer
+
+Fazit
+-----
+
+* Regression, Klassifikation und Clustering gehören zu den klassischen Aufgaben
+ des maschinellen Lernens.
+* Autonome Systeme sind eine anspruchsvolle Anwendung, die verschiedene
+ ML-Techniken kombiniert.
+* Je nach Daten und Zielsetzung kann eine Kombination dieser Methoden sinnvoll
+ sein.
diff --git a/docs/intro/def.rst b/docs/intro/def.rst
new file mode 100644
index 0000000..ca00bb0
--- /dev/null
+++ b/docs/intro/def.rst
@@ -0,0 +1,174 @@
+Definition von Künstlicher Intelligenz
+======================================
+
+Künstliche Intelligenz (KI) bezeichnet die Fähigkeit eines Computers oder einer
+Maschine, menschenähnliche kognitive Funktionen auszuführen. Dazu gehören
+Aufgaben wie Lernen, Problemlösung, Mustererkennung und Entscheidungsfindung.
+Der Begriff KI wurde erstmals 1956 auf der Dartmouth Conference von John
+McCarthy geprägt. Heute umfasst KI eine Vielzahl von Techniken, darunter
+maschinelles Lernen, Deep Learning und Expertensysteme.
+
+Historische Entwicklung der KI
+------------------------------
+
+Die Entwicklung der KI lässt sich in mehrere Phasen einteilen:
+
+1950er–1970er: Die Pionierzeit
+ * Erste Algorithmen zur symbolischen Verarbeitung und regelbasierten Systeme
+ wurden entwickelt.
+ * Alan Turings berühmter `Turing-Test
+ `_ stellte eine frühe Methode
+ zur Bewertung der Intelligenz einer Maschine vor.
+ * In den 1960er Jahren entstanden erste Expertensysteme, die regelbasierte
+ Entscheidungsfindung ermöglichten.
+
+1980er–1990er: Erste Fortschritte und Rückschläge**
+ * KI erlebte durch das Aufkommen von neuronalen Netzen und maschinellem
+ Lernen einen Aufschwung.
+ * Aufgrund hoher Rechenkosten und begrenzter Datenverfügbarkeit flachte das
+ Interesse an KI in den späten 1980er Jahren ab.
+
+2000er–heute: Der Durchbruch dank Big Data und Deep Learning
+ * Fortschritte in Rechenleistung, Cloud Computing und die Verfügbarkeit
+ großer Datenmengen haben KI auf ein neues Niveau gehoben.
+ * Tiefe neuronale Netze ermöglichen Fortschritte in Spracherkennung,
+ Bildverarbeitung und autonomem Fahren.
+
+Unterschiedliche Formen der Künstlichen Intelligenz
+---------------------------------------------------
+
+KI kann auf verschiedene Art und Weisen in verschiedene Kategorien unterteilt
+werden. Eine Möglichkeit ist die Kategorisierung nach ihrem Funktionsumfang und
+ihren Anwendungsmöglichkeiten, wie von Prof. Arend Hintze definiert, Forscher
+und Professor der Integrative Biology an der Michigan State University:
+
+#. Reaktive KI (Reactive AI)
+
+ Die erste Stufe der KI kann als *Reaktive KI* bezeichent und als ein Ur-Typ
+ der KI angesehen werden. Sie hat weder *Gedächtnis* noch *Lernfähigkeit* und
+ kann nur auf Eingaben reagieren für genau die eine Aufgabe, wofür sie
+ programmiert wurde. Es ist nicht in der Lage, zukünftige Ergebnisse
+ vorherzusagen, wenn es nicht mit den entsprechenden Informationen gefüttert
+ wurde.
+
+ **Beispiel:** Schachcomputer wie IBM Deep Blue, der auf Basis aktueller Züge
+ die bestmöglichen Entscheidungen trifft.
+
+#. Begrenzte Gedächtnis-KI (Limited Memory AI)
+
+ Die zweite Stufe der KI kann Informationen aus vergangenen Interaktionen
+ nutzen, um zukünftige Entscheidungen zu verbessern.
+
+ **Beispiel:** Selbstfahrende Autos, die Sensordaten aus der Umgebung
+ speichern und auf Basis vorheriger Erfahrungen optimieren.
+
+Die erste und zweite Stufen der KI sind bereits teilweise im Einsatz, mit
+unterschiedlichen technischen Reifegrad in diversen Domänen.
+
+3. Theorie des Geistes-KI (Theory of Mind AI) – noch in der Forschung
+
+ Im Gegensatz zu den ersten beiden Formen der KI hätten die 3. und die 4. Form
+ der KI ein eigenes Bewusstsein und Verständnis für sich selbst. Intelligente
+ Systeme der Stufe 3 könnten menschliche Emotionen wahrnehmen und verstehen,
+ sowie auch deren eigenes Verhalten entsprechend anpassen.
+
+ **Ziel:** KI mit Verständnis für Emotionen und sozialen Kontext.
+
+ Potenzielles Beispiel: Fortgeschrittene humanoide Roboter mit sozialem
+ Bewusstsein.
+
+#. Selbstbewusste KI (Self-Aware AI) – hypothetisch
+
+ Diese Stufe der KI hätte ein eigenes Bewusstsein und ein Verständnis für sich
+ selbst und käme somit dem menschlichen Bewusstsein (der menschlichen
+ Intelligenz) am nächsten.
+
+ Ob und wann die Entwicklung der KI jemals diese Stufe erreichen wird, ist
+ noch viel umstritten – bisher wurde es nur in Science-Fiction Werken
+ dargestellt.
+
+.. seealso:
+ * `Understanding the four types of AI, from reactive robots to self-aware
+ beings
+ `_
+ * `Der Turing-Test
+ `_
+
+Prädiktive vs. Generative KI
+----------------------------
+
+Die aktuell in der Industrie gängigen Formen der KI lassen sind insbesondere in
+**prädiktive KI** und **generative KI** unterscheiden:
+
+#. Prädiktive KI
+
+ * Diese KI nutzt historische Daten, um **zukünftige Ereignisse
+ vorherzusagen**.
+ * Verwendete Algorithmen: Regression, Entscheidungsbäume, neuronale Netze.
+
+ Beispiele:
+
+ * Vorhersage von Aktienkursen oder Wetterverhältnissen.
+ * Diagnose von Krankheiten basierend auf medizinischen Daten.
+ * Betrugserkennung im Finanzsektor.
+
+2. Generative KI
+
+ * Diese KI erzeugt **neue Inhalte**, die zuvor nicht explizit in den
+ Trainingsdaten enthalten waren.
+ * Verwendete Modelle: Generative Adversarial Networks (GANs),
+ Transformer-Modelle (:abbr:`z.B. (zum Beispiel)` GPT, DALL·E).
+ * Beispiele:
+
+ * Erstellung von Bildern, Musik oder Texten (:abbr:`z.B. (zum Beispiel)`
+ KI-generierte Kunst, Chatbots).
+ * Übersetzung und Zusammenfassung von Texten.
+ * Deepfake-Technologien.
+
+Bedeutung dieser Unterscheidung
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+* Prädiktive KI wird hauptsächlich in **Analytik und Entscheidungsfindung**
+ eingesetzt, während generative KI für **Kreativität und Content-Erzeugung**
+ genutzt wird.
+* In der Praxis werden oft **beide Ansätze kombiniert**, :abbr:`z.B. (zum
+ Beispiel)` wenn eine prädiktive KI Markttrends analysiert und eine generative
+ KI dazu passende Werbeinhalte erstellt.
+
+Anwendungsfälle von KI
+----------------------
+
+KI findet heute in zahlreichen Bereichen Anwendung, darunter:
+
+Gesundheitswesen
+ Diagnosestellung durch KI-gestützte Bildverarbeitung,
+ Medikamentenentwicklung.
+Finanzwesen
+ Automatische Betrugserkennung, algorithmischer Handel.
+Industrie
+ Automatisierung von Prozessen, Qualitätskontrolle in der Fertigung.
+Autonome Systeme
+ Selbstfahrende Autos, Drohnen, Robotersteuerung.
+Sprachverarbeitung
+ Sprachassistenten wie Siri, Alexa oder Google Assistant.
+Kreative Anwendungen
+ Generierung von Texten, Musik und Kunst durch KI.
+
+Ethische Fragestellungen in der KI
+----------------------------------
+
+Mit der rasanten Entwicklung der KI gehen auch bedeutende ethische Fragen
+einher:
+
+Bias und Diskriminierung
+ KI-Modelle können bestehende Vorurteile aus Trainingsdaten übernehmen.
+Arbeitsplatzverdrängung
+ Automatisierung kann menschliche Arbeitsplätze gefährden.
+Transparenz und Erklärbarkeit
+ Viele KI-Modelle, insbesondere Deep Learning, sind schwer zu interpretieren.
+Verantwortung und Haftung
+ Wer ist verantwortlich, wenn eine KI fehlerhafte oder schädliche
+ Entscheidungen trifft?
+Datenschutz
+ KI-Anwendungen erfordern oft große Datenmengen, was Datenschutzprobleme
+ aufwirft.
diff --git a/docs/intro/evaluation.rst b/docs/intro/evaluation.rst
new file mode 100644
index 0000000..fed9770
--- /dev/null
+++ b/docs/intro/evaluation.rst
@@ -0,0 +1,120 @@
+Evaluation von ML-Modellen
+==========================
+
+Warum ist die Modellbewertung wichtig?
+--------------------------------------
+
+* Die Evaluation von ML-Modellen stellt sicher, dass das Modell zuverlässig und
+ generalisierbar ist.
+* Ein gut evaluiertes Modell verhindert Overfitting und hilft, die besten
+ Algorithmen und Parameter auszuwählen.
+
+Wichtige Metriken für Klassifikationsprobleme
+---------------------------------------------
+
+Accuracy (Genauigkeit)
+~~~~~~~~~~~~~~~~~~~~~~
+
+Prozentsatz der korrekten Vorhersagen:
+
+.. math::
+ \text{Accuracy} = \frac{\text{Anzahl der korrekten Vorhersagen}}{\text{Gesamtanzahl der Vorhersagen}}
+
+.. warning:
+ Accuracy hat eine Einschränkung bei (stark) unausgewogenen Datensätzen, da
+ sie hier irreführend sein kann.
+
+Precision (Präzision)
+~~~~~~~~~~~~~~~~~~~~~
+
+Precision ist der Anteil der tatsächlich positiven Vorhersagen unter allen als
+positiv klassifizierten Instanzen:
+
+.. math::
+ \text{Precision} = \frac{TP}{TP + FP}
+
+Precision wird vor allem bevorzugt, wenn falsch-positive Fehler besonders
+kritisch sind (:abbr:`z.B. (zum Beispiel)` Spam-Erkennung).
+
+Recall (Sensitivität)
+~~~~~~~~~~~~~~~~~~~~~
+
+Recall ist der Anteil der korrekten positiven Vorhersagen unter allen
+tatsächlichen positiven Fällen:
+
+.. math::
+ \text{Recall} = \frac{TP}{TP + FN}
+
+Recall ist eine wichtige Metrik, wenn es entscheidend ist, möglichst alle
+positiven Fälle zu erfassen (:abbr:`z.B. (zum Beispiel)` Krebsdiagnosen).
+
+F1-Score
+~~~~~~~~
+
+Der F1-Score ist das harmonisches Mittel von Präzision und Recall, um ein
+ausgewogenes Maß zu erhalten:
+
+.. math::
+ \text{F1-Score} = 2 \times \frac{\text{Precision} \times \text{Recall}}{\text{Precision} + \text{Recall}}
+
+Der F1-Score ist besonders nützlich bei unausgewogenen Datensätzen (engl.:
+*unbiased data sets*).
+
+Wichtige Metriken für Regressionsprobleme
+-----------------------------------------
+
+Mean Squared Error, MSE (Mittlerer quadratischer Fehler)
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Der MSE berechnet den Durchschnitt der quadrierten Fehler zwischen
+vorhergesagten und tatsächlichen Werten:
+
+.. math::
+ \text{MSE} = \frac{1}{n} \sum_{i=1}^{n} (y_i - \hat{y}_i)^2
+
+Somit bestraft der MSE große Fehler stärker als kleine Fehler.
+
+Mean Absolute Error, MAE (Mittlerer absoluter Fehler)
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Der MAE berechnet den Durchschnitt der absoluten Differenzen zwischen
+vorhergesagten und tatsächlichen Werten:
+
+.. math::
+ \text{MAE} = \frac{1}{n} \sum_{i=1}^{n} |y_i - \hat{y}_i|
+
+R²-Koeffizient (Bestimmtheitsmaß)
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+* Zeigt, wie gut das Modell die Varianz der Zielvariable erklärt.
+* Wertebereich: 0 (keine Erklärung) bis 1 (perfekte Erklärung).
+
+Praktische Anwendung: Evaluierung eines Modells in Python
+---------------------------------------------------------
+
+Ein Beispiel zur Berechnung dieser Metriken mit `scikit-learn`:
+
+.. code-block:: python
+ :linenos:
+
+ from sklearn.metrics import (
+ accuracy_score,
+ precision_score,
+ recall_score,
+ f1_score,
+ )
+
+ # Beispiel: Tatsächliche Labels und Vorhersagen
+ true_labels = [1, 0, 1, 1, 0, 1, 0, 0, 1, 0]
+ predicted_labels = [1, 0, 1, 0, 0, 1, 0, 1, 1, 0]
+
+ # Berechnung der Metriken
+ accuracy = accuracy_score(true_labels, predicted_labels)
+ precision = precision_score(true_labels, predicted_labels)
+ recall = recall_score(true_labels, predicted_labels)
+ f1 = f1_score(true_labels, predicted_labels)
+
+ print(
+ f"Accuracy: {accuracy}, Precision: {precision}, Recall: {recall}, F1-Score: {f1}"
+ )
+ return (accuracy, precision, recall, f1)
diff --git a/docs/intro/extra.rst b/docs/intro/extra.rst
new file mode 100644
index 0000000..da94dab
--- /dev/null
+++ b/docs/intro/extra.rst
@@ -0,0 +1,9 @@
+Zusätzliche Materialien
+=======================
+
+- Einführung in `Scikit-Learn `_
+- :doc:`Python4DataScience:workspace/numpy/index`- und
+ :doc:`Python4DataScience:workspace/pandas/index`-Dokumentation für
+ Datenverarbeitung
+- :doc:`PyViz:matplotlib/index` für Visualisierung
+- TensorFlow/Keras für Deep Learning (für spätere Module)
diff --git a/docs/intro/index.rst b/docs/intro/index.rst
new file mode 100644
index 0000000..548db31
--- /dev/null
+++ b/docs/intro/index.rst
@@ -0,0 +1,49 @@
+Einführung, Überwachtes Lernen und Regression
+=============================================
+
+Die Schulung wird mit den grundlegenden Konzepten der :abbr:`KI (Künstliche
+Intelligenz)` und :abbr:`ML (Maschinelles Lernen)` eingeleitet und anhand
+praktischer Implementierungen veranschaulicht.
+
+Gliederung
+----------
+
+.. list-table:: Schulungsstruktur für KI-Grundlagen: Tag 1
+ :header-rows: 1
+
+ * - Kapitel
+ - Inhalte
+ * - Einführung in Künstliche Intelligenz
+ - Definition und Historie der KI, Unterschiedliche Formen der KI,
+ Anwendungsfälle, ethische Fragestellungen
+ * - Maschinelles Lernen: Konzepte und Typen
+ - Begriffe: ML, Deep Learning, Reinforcement Learning; Beispiele für reale
+ Anwendungen
+ * - Überwachtes vs. Unüberwachtes Lernen
+ - Klassifikation vs. Regression, Clustering-Methoden
+ * - Trainingsdaten und Modellierung
+ - Datenqualität, Feature Engineering, Modelltraining
+ * - Evaluation von ML-Modellen
+ - Metriken: Accuracy (Genauigkeit), Precision (Präzision), Recall,
+ F1-Score, MSE
+ * - Praktische Einführung: Lineare Regression
+ - Implementierung eines ML-Modells mit scikit-learn
+ * - Fallstudie: Vorhersage von Immobilienpreisen
+ - Hands-on Beispiel mit einem realen Datensatz
+ * - Diskussion und Fragen
+ - Diskussion über Anwendungen von KI in verschiedenen Bereichen
+
+.. toctree::
+ :hidden:
+ :titlesonly:
+ :maxdepth: 0
+
+ def
+ ml-concepts
+ categories
+ training-modelling
+ evaluation
+ linear-regression
+ case-study
+ reflection
+ extra
diff --git a/docs/intro/linear-regression.rst b/docs/intro/linear-regression.rst
new file mode 100644
index 0000000..0caef4f
--- /dev/null
+++ b/docs/intro/linear-regression.rst
@@ -0,0 +1,100 @@
+Praktische Einführung: Lineare Regression
+=========================================
+
+Was ist Lineare Regression?
+---------------------------
+
+- Die **Lineare Regression** ist eines der grundlegendsten Modelle des maschinellen Lernens.
+
+- Sie wird verwendet, um eine abhängige Variable (Zielvariable) anhand einer oder mehrerer unabhängiger Variablen vorherzusagen.
+
+- Die Gleichung einer einfachen linearen Regression lautet:
+
+ .. math::
+ y = wX + b
+
+ wobei:
+
+ - `y` die Zielvariable ist,
+
+ - `X` die unabhängige Variable,
+
+ - `w` die Steigung der Geraden (Gewicht) und
+
+ - `b` der Achsenabschnitt (Bias).
+
+Beispiel mit scikit-learn
+-------------------------
+
+Schritte zur Implementierung eines ML-Modells
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+1. **Daten laden und vorbereiten**
+
+ - Import von Bibliotheken und Laden eines Datensatzes.
+
+ - Aufteilung der Daten in Trainings- und Testsets.
+
+2. **Modell erstellen und trainieren**
+
+ - Ein Lineares Regressionsmodell aus `scikit-learn` erstellen und trainieren.
+
+3. **Modell evaluieren**
+
+ - Vorhersagen treffen und mit Metriken wie dem mittleren quadratischen Fehler (MSE) bewerten.
+
+Code
+~~~~
+
+.. code-block:: python
+ :linenos:
+
+ import numpy as np
+ import matplotlib.pyplot as plt
+ from sklearn.model_selection import train_test_split
+ from sklearn.linear_model import LinearRegression
+ from sklearn.metrics import mean_squared_error
+
+ # Beispiel-Datensatz erstellen
+ np.random.seed(42)
+ X = 2 * np.random.rand(100, 1)
+ y = 4 + 3 * X + np.random.randn(100, 1)
+
+ # Aufteilung in Trainings- und Testdaten
+ X_train, X_test, y_train, y_test = train_test_split(
+ X, y, test_size=0.2, random_state=42
+ )
+
+ # Modell erstellen und trainieren
+ model = LinearRegression()
+ model.fit(X_train, y_train)
+
+ # Vorhersagen treffen
+ y_pred = model.predict(X_test)
+
+ # Modellbewertung
+ mse = mean_squared_error(y_test, y_pred)
+ print(f"Mittlerer quadratischer Fehler (MSE): {mse}")
+
+ # Visualisierung
+ plt.scatter(X_test, y_test, color="blue", label="Tatsächliche Werte")
+ plt.plot(X_test, y_pred, color="red", linewidth=2, label="Vorhersagen")
+ plt.legend()
+ plt.xlabel("X")
+ plt.ylabel("y")
+ plt.title("Lineare Regression mit scikit-learn")
+ plt.show()
+
+Zeilen 8–10
+ Wir generieren synthetische Daten mit einer linearen Beziehung und fügen
+ zufällige Schwankungen hinzu.
+Zeilen 13–15
+ Wir teilen die Daten in **Trainings- und Testsets**, um eine objektive
+ Modellbewertung zu ermöglichen.
+Zeilen 18–19
+ Mit `LinearRegression().fit()` trainieren wir unser Modell.
+Zeilen 25–26
+ Wir verwenden `mean_squared_error()`, um die Modellgenauigkeit zu messen.
+Zeilen 29–35
+ Schließlich visualisieren wir die tatsächlichen und vorhergesagten Werte, um
+ die Modellleistung zu interpretieren.
diff --git a/docs/intro/ml-concepts.rst b/docs/intro/ml-concepts.rst
new file mode 100644
index 0000000..8b52735
--- /dev/null
+++ b/docs/intro/ml-concepts.rst
@@ -0,0 +1,291 @@
+Maschinelles Lernen (ML): Konzepte und Typen
+============================================
+
+.. note::
+ **TODO: MIT CODE BEISPIEL!**
+ https://www.python4data.science/de/latest/productive/dvc/dag.html
+
+Definition und Konzepte des Maschinellen Lernens (ML)
+-----------------------------------------------------
+
+Maschinelles Lernen (Machine Learning, ML) ist ein Teilgebiet der Künstlichen
+Intelligenz, das Computern ermöglicht, aus Daten zu lernen, anstatt explizit
+programmiert zu werden. Es gibt drei Hauptarten des ML:
+
+Überwachtes Lernen (Supervised Learning)
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Beim **überwachten Lernen** werden Modelle mit **gelabelten Daten** trainiert.
+
+Das bedeutet, dass für jeden Eingabedatensatz ein bekanntes **Ziel** existiert.
+
+Das Ziel des Modells ist es, eine Funktion zu lernen, die den Zusammenhang
+zwischen Eingaben und Ausgaben erfasst.
+
+Überwachtes Lernen kann sowohl für Regression als auch für Klassifikation
+genutzt werden.
+
+Beispiele hierfür sind:
+
+Klassifikation
+ Vorhersage diskreter Kategorien (:abbr:`z.B. (zum Beispiel)` Spam-Filter,
+ Bilderkennung von Hunden und Katzen).
+Regression
+ Vorhersage kontinuierlicher Werte (:abbr:`z.B. (zum Beispiel)`
+ Hauspreisvorhersage anhand der Wohnfläche).
+
+Theoretische Konzepte des überwachten Lernens
+:::::::::::::::::::::::::::::::::::::::::::::
+
+Trainingsprozess
+................
+
+* Das Modell wird mit einem Trainingsdatensatz trainiert, in dem **Eingaben
+ (Features)** und die zugehörigen **Zielwerte (Labels)** bekannt sind.
+* Die Lernfunktion (oft als **Hypothesenfunktion** bezeichnet) wird durch das
+ Training optimiert.
+
+Modellbewertung
+...............
+
+* Das trainierte Modell wird anhand neuer Daten getestet, um sicherzustellen,
+ dass es generalisiert und nicht nur die Trainingsdaten auswendig gelernt hat.
+* Typische Metriken: Genauigkeit, Präzision, Recall und F1-Score, Mean Squared
+ Error (MSE).
+
+Unüberwachtes Lernen (Unsupervised Learning)
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Beim **unüberwachten Lernen** gibt es **keine gelabelten Daten**.
+
+Das Modell versucht, Muster oder Strukturen in den Daten zu entdecken.
+
+Dies eignet sich besonders für **Explorative Datenanalyse**, bei der keine
+festen Kategorien bekannt sind.
+
+Unüberwachtes Lernen kann direkt für Klassifikationsprobleme genutzt werden;
+aber nur indirekt für Regressionsprobleme, :abbr:`z.B. (zum Beispiel)` als
+Vorverarbeitungsschritt oder zur Merkmalextraktion, um Regression effektiver zu
+machen.
+
+Typische Anwendungen sind:
+
+Clustering
+ Ziel: Datenpunkte in Gruppen einteilen, basierend auf Ähnlichkeit.
+
+ Beispiele:
+
+ * Kundensegmentierung für personalisierte Werbung.
+ * Erkennung von ähnlichen Produkten in Online-Shops.
+ * Gruppierung von genetischen Mustern in der Biologie.
+ * Betrugserkennung durch Anomalie-Analyse in Banktransaktionen.
+
+Dimensionsreduktion
+ Ziel: Komplexe Daten in eine einfachere Form umwandeln.
+
+ Beispiele:
+
+ * Hauptkomponentenanalyse (PCA) zur Reduzierung hochdimensionaler Daten.
+ * Visualisierung von großen Datenmengen.
+ * Feature-Auswahl für effizientere Modellberechnungen.
+
+Theoretische Konzepte des Unüberwachten Lernens
+:::::::::::::::::::::::::::::::::::::::::::::::
+
+
+Clustering-Algorithmen
+......................
+
+K-Means
+ teilt Daten in eine vordefinierte Anzahl von Clustern ein.
+Hierarchisches Clustering
+ erstellt eine baumartige Struktur zur Clusterbildung.
+DBSCAN
+ erkennt Cluster basierend auf der Dichte der Datenpunkte.
+
+Dimensionsreduktionstechniken
+.............................
+
+PCA (Principal Component Analysis)
+ extrahiert die wichtigsten Variablen aus großen Datensätzen.
+
+t-SNE (t-Distributed Stochastic Neighbor Embedding)
+ visualisiert komplexe Datensätze in 2D oder 3D.
+
+Vergleich: Überwachtes vs. Unüberwachtes Lernen
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+.. list-table:: Vergleich von Überwachtem und Unüberwachtem Lernen
+ :header-rows: 1
+
+ * - Merkmal
+ - Überwachtes Lernen
+ - Unüberwachtes Lernen
+ * - Datenverfügbarkeit
+ - Gelabelte Daten notwendig
+ - Keine Labels erforderlich
+ * - Ziel
+ - Vorhersage einer bekannten Zielvariable
+ - Identifikation von Mustern oder Strukturen
+ * - Typische Algorithmen
+ - Lineare Regression, Entscheidungsbäume, Neuronale Netze
+ - K-Means, DBSCAN, PCA
+ * - Anwendungsbereiche
+ - Klassifikation, Regression
+ - Clustering, Dimensionsreduktion
+
+Reinforcement Learning (Bestärkendes Lernen, RL)
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+.. seealso::
+ * :doc:`../day3`
+
+Definition
+::::::::::
+
+Beim **Reinforcement Learning** (Bestärkenden Lernen, RL) lernt ein Agent durch
+**Interaktion mit einer Umgebung**, wobei er **Belohnungen oder Bestrafungen**
+erhält.
+
+Das Ziel des RL ist es, eine **Optimierungsstrategie** zu entwickeln, die
+langfristig die höchste Gesamtbelohnung erzielt.
+
+Es handelt sich um eine Form des **Lernens durch Versuch und Irrtum**, ähnlich
+wie ein Mensch, der durch Erfahrung lernt.
+
+Grundprinzipien von Reinforcement Learning
+::::::::::::::::::::::::::::::::::::::::::
+
+Agent
+ Das KI-System, das lernt (:abbr:`z.B. (zum Beispiel)` ein Roboter, ein
+ autonomes Auto, ein Schachprogramm).
+Umgebung (Environment)
+ Alles außerhalb des Agents, mit dem er interagiert.
+Zustand (State)
+ Eine Momentaufnahme der Umgebung, die den Agenten beeinflusst.
+Aktion (Action)
+ Eine Entscheidung, die der Agent in einem bestimmten Zustand trifft.
+Belohnung (Reward)
+ Eine numerische Bewertung der Aktion, die dem Agenten signalisiert, ob er
+ sich der optimalen Lösung nähert oder nicht.
+Richtlinien (Policy)
+ Eine Strategie, die den besten nächsten Schritt für den Agenten bestimmt.
+Qualitäts-Wert (Q-Value)
+ Eine Bewertung, wie gut eine bestimmte Aktion in einem Zustand langfristig
+ ist.
+
+Beispiele für RL-Anwendungen
+::::::::::::::::::::::::::::
+
+Spielstrategien
+ AlphaGo von DeepMind besiegte menschliche Meister im Go-Spiel durch RL.
+Autonome Fahrzeuge
+ Lernen, sicher zu fahren, indem sie Belohnungen für sichere Entscheidungen
+ erhalten.
+Robotik
+ Industrieroboter optimieren ihre Bewegungen, um Aufgaben effizienter zu
+ erledigen.
+Algorithmischer Handel
+ KI-Agenten lernen, wann sie Aktien kaufen oder verkaufen sollen.
+
+Wichtige RL-Algorithmen
+:::::::::::::::::::::::
+
+Q-Learning
+ Eine tabellenbasierte Methode zur Speicherung der besten Aktionen.
+Deep Q-Networks (DQN)
+ Eine Erweiterung von Q-Learning unter Verwendung von neuronalen Netzen.
+Policy-Gradient-Verfahren
+ Statt Werte zu lernen, lernt das Modell direkt eine optimale Strategie.
+Proximal Policy Optimization (PPO)
+ Häufig in modernen RL-Anwendungen eingesetzt (z. B. bei OpenAI Gym).
+
+Herausforderungen im RL
+:::::::::::::::::::::::
+
+Exploration vs. Exploitation
+ Ein Agent muss entscheiden, ob er eine **neue Strategie** testet oder eine
+ **bereits bekannte, aber möglicherweise nicht optimale** Strategie nutzt.
+Belohnungsdesign
+ Ein schlecht definierter Belohnungsmechanismus kann dazu führen, dass das
+ Modell unerwartete oder unerwünschte Strategien lernt.
+Rechenaufwand
+ RL benötigt oft viele Trainingsdurchläufe und Rechenleistung.
+
+Deep Learning (DL) als spezialisierte Form des ML
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Definition
+::::::::::
+
+Deep Learning (DL) ist ein Teilgebiet des maschinellen Lernens, das auf
+**künstlichen neuronalen Netzen (KNNs)** basiert.
+
+Es verwendet **mehrere Schichten von Neuronen** (daher der Begriff „Deep“), um
+hochkomplexe Muster in Daten zu lernen.
+
+Deep Learning ist besonders leistungsfähig bei **Bildverarbeitung,
+Spracherkennung und natürlicher Sprachverarbeitung (NLP).**
+
+Aufbau eines neuronalen Netzes
+::::::::::::::::::::::::::::::
+
+Input Layer
+ Nimmt Daten auf (:abbr:`z.B. (zum Beispiel)` Pixelwerte eines Bildes).
+Verborgene Schichten (Hidden Layers)
+ Extrahieren Merkmale und erkennen Muster.
+Ausgangsschicht (Output Layer)
+ Gibt das Ergebnis der Berechnung aus (:abbr:`z.B. (zum Beispiel)`
+ Klassifizierung in „Hund“ oder „Katze“).
+
+Arten von neuronalen Netzwerken
+:::::::::::::::::::::::::::::::
+
+Feedforward Neural Networks (FNN)
+ Einfachste Form, bei der Informationen nur in eine Richtung fließen.
+Convolutional Neural Networks (CNN)
+ Besonders geeignet für **Bildverarbeitung** (:abbr:`z.B. (zum Beispiel)`
+ Gesichtserkennung, medizinische Bilddiagnostik).
+Recurrent Neural Networks (RNN)
+ Nutzen vergangene Informationen zur Verarbeitung von **sequenziellen Daten**
+ (:abbr:`z.B. (zum Beispiel)` Sprachverarbeitung, Zeitreihenanalyse).
+Transformer-Modelle
+ Revolutionierten die **Natürliche Sprachverarbeitung (NLP)** (:abbr:`z.B.
+ (zum Beispiel)` GPT-Modelle, BERT, T5).
+
+Beispiele für Anwendungen von Deep Learning
+:::::::::::::::::::::::::::::::::::::::::::
+
+Bilderkennung:** Automatische Erkennung von Objekten in Bildern.
+
+Sprachverarbeitung (NLP)
+ Chatbots, automatische Übersetzungen (Google Translate, ChatGPT).
+Autonome Systeme
+ Steuerung von selbstfahrenden Autos und Robotern.
+Medizinische Diagnosen
+ Krebsfrüherkennung in MRT-Scans mit neuronalen Netzen.
+
+Herausforderungen im Deep Learning
+::::::::::::::::::::::::::::::::::
+
+Erklärbarkeit
+ DL-Modelle sind oft **Black Boxes**, deren Entscheidungen schwer
+ nachvollziehbar sind.
+
+Datenbedarf
+ Sehr große Mengen an **Trainingsdaten** sind notwendig.
+Rechenleistung
+ DL benötigt leistungsfähige GPUs oder TPUs.
+
+Zukunft von Deep Learning
+:::::::::::::::::::::::::
+
+Edge AI
+ Deep Learning wird zunehmend auf Edge-Geräten (Smartphones, IoT-Geräte)
+ ausgeführt.
+Hybride Systeme
+ Kombination von Deep Learning mit Reinforcement Learning für **komplexe
+ Entscheidungsprozesse**.
+Quanten-KI
+ Erste Ansätze zur Beschleunigung von Deep-Learning-Modellen mit
+ Quantencomputing.
diff --git a/docs/intro/reflection.rst b/docs/intro/reflection.rst
new file mode 100644
index 0000000..204e211
--- /dev/null
+++ b/docs/intro/reflection.rst
@@ -0,0 +1,64 @@
+Diskussion und Fragen
+=====================
+
+Ziel der Diskussion
+-------------------
+
+* Reflexion der erlernten Inhalte und Beantwortung offener Fragen.
+* Gemeinsamer Austausch über die praktische Anwendbarkeit von KI in
+ verschiedenen Branchen.
+
+Diskussion über Anwendungen von KI in verschiedenen Bereichen
+-------------------------------------------------------------
+
+Gesundheitswesen
+~~~~~~~~~~~~~~~~
+
+* Einsatz von KI für medizinische Diagnosen (:abbr:`z.B. (zum Beispiel)`
+ Krebsfrüherkennung mittels Bildverarbeitung).
+* Personalisierte Medizin basierend auf Patientendaten.
+* Automatisierte Medikamentenentwicklung und klinische Studienoptimierung.
+
+Finanzwesen
+~~~~~~~~~~~
+
+* Algorithmischer Handel und automatisierte Investitionsstrategien.
+* Betrugserkennung in Echtzeit durch Anomalieerkennung.
+* Risikoanalysen für Kreditbewilligungen.
+
+Industrie und Fertigung
+~~~~~~~~~~~~~~~~~~~~~~~
+
+* Predictive Maintenance (vorausschauende Wartung von Maschinen).
+* Automatisierung in der Fertigung mit KI-gesteuerten Robotern.
+* Optimierung von Lieferketten durch intelligente Planungssysteme.
+
+Mobilität und Transport
+~~~~~~~~~~~~~~~~~~~~~~~
+
+* Autonome Fahrzeuge und intelligente Verkehrssteuerung.
+* KI-gestützte Routenoptimierung für Logistikunternehmen.
+* Fahrgastprognosen im öffentlichen Verkehr.
+
+E-Commerce und Marketing
+~~~~~~~~~~~~~~~~~~~~~~~~
+
+* Personalisierte Produktempfehlungen (:abbr:`z.B. (zum Beispiel)` Amazon,
+ Netflix).
+* Chatbots für Kundenservice und automatisierte Bestellprozesse.
+* Dynamische Preisgestaltung durch KI-Analyse von Markttrends.
+
+Recht und Verwaltung
+~~~~~~~~~~~~~~~~~~~~
+
+* Automatisierte Vertragsanalyse und Dokumentenprüfung.
+* KI zur Unterstützung juristischer Entscheidungen.
+* Öffentliche Verwaltung und KI-gestützte Bürgerdienste.
+
+Offene Diskussion und Fragen
+----------------------------
+
+* Welche KI-Technologien haben das größte Potenzial für die Zukunft?
+* Welche Herausforderungen und ethischen Bedenken gibt es in den jeweiligen
+ Bereichen?
+* Wie kann KI für nachhaltige Entwicklungen genutzt werden?
diff --git a/docs/intro/training-modelling.rst b/docs/intro/training-modelling.rst
new file mode 100644
index 0000000..e743be3
--- /dev/null
+++ b/docs/intro/training-modelling.rst
@@ -0,0 +1,68 @@
+Trainingsdaten und Modellierung
+===============================
+
+Datenqualität und ihre Bedeutung
+--------------------------------
+
+* Gute Trainingsdaten sind essenziell für die Leistungsfähigkeit eines Modells.
+* Aspekte der Datenqualität:
+
+ Vollständigkeit
+ Fehlende Werte können Modelle ungenau machen.
+ Konsistenz
+ Daten sollten einheitlich und korrekt sein.
+ Ausreißererkennung
+ Extreme Werte können Modelle verzerren.
+ Datenverteilung
+ Unausgewogene Datensätze (:abbr:`z.B. (zum Beispiel)` ungleich verteilte
+ Klassen) beeinflussen Modellentscheidungen.
+
+Feature Engineering
+-------------------
+
+Definition
+~~~~~~~~~~
+
+Feature Engineering ist die Kunst, relevante Eingangsvariablen für ein Modell zu
+erstellen.
+
+Beispiel
+~~~~~~~~
+
+`Kohorte `_
+
+Typische Techniken
+~~~~~~~~~~~~~~~~~~
+
+Feature Skalierung
+ Normalisierung und Standardisierung von Daten (:abbr:`z.B. (zum Beispiel)`
+ Min-Max-Scaling, Z-Score-Normalisierung).
+Feature Selektion
+ Auswahl der wichtigsten Merkmale zur Reduktion von Overfitting.
+Feature Transformation
+ Anwendung von Logarithmus- oder Polynom-Transformationen zur Verbesserung
+ der Modellleistung.
+One-Hot-Encoding
+ Umwandlung kategorialer Variablen in numerische Werte.
+
+Modelltraining und Optimierung
+------------------------------
+
+- Schritte des Modelltrainings:
+
+ 1. **Datenaufteilung:** Aufteilung in Trainings-, Validierungs- und Testdatensätze.
+
+ 2. **Modellauswahl:** Auswahl eines geeigneten Algorithmus (z. B. Entscheidungsbaum, Random Forest, neuronale Netze).
+
+ 3. **Hyperparameter-Tuning:** Feinabstimmung der Modellparameter zur Optimierung der Leistung (z. B. Grid Search, Random Search).
+
+ 4. **Modellbewertung:** Verwendung von Metriken wie Genauigkeit, F1-Score oder Mean Squared Error zur Bewertung der Vorhersagequalität.
+
+ 5. **Modellbereitstellung:** Einsatz des trainierten Modells in einer produktiven Umgebung.
+
+Praxisbeispiel: Modelltraining in Python
+----------------------------------------
+
+- Implementierung eines einfachen ML-Modells mit scikit-learn zur Vorhersage von Hauspreisen.
+
+- Demonstration von Datenvorbereitung, Feature Engineering und Modelltraining.