<jupyter_start><jupyter_text>1. VorbereitungIn diesem Tutorial lernen wir, wie die lineare Regression (ein Connectionist Neuron mit linearer Transferfunktion) in **Scikit-Learn** benutzt werden kann. Wir uns wieder mit einem konstruierten Datensatz, den wir im Folgenden laden.<jupyter_code>import matplotlib.pyplot as plt
plt.style.use('seaborn-whitegrid')
import numpy as np
import pandas as pd
# Ändern Sie den Datensatz entsprechend Ihrer Gruppennummer
# TODO: Datensatz laden
data = None

X = None
y = None
# TODO: Visualisieren
plt.close("all")
plt.figure()                       
plt.scatter(X, y);<jupyter_output><empty_output><jupyter_text>2. Lineare Regression fitten 2.1 Lineare Regression in Scikit-LearnDie "lineare" Regression meint hier ein Connectionist Neuron mit den normalen Features - ohne Expansion der Features. Wir nutzen **Scikit-Learn**.<jupyter_code># TODO: Importieren lineare Regression aus Scikit-Learn
# TODO: Modell trainieren
# TODO: Koeffizienten untersuchen
# Gewichte = Koeffizienten = coef_
# Bias = Intercept = intercept_
# TODO: Fit visualisieren
# TODO: Modell evaluieren<jupyter_output><empty_output><jupyter_text>2.2. Manuelle Feature ExpansionIn diesem Teil expandieren wir die Datenmatrix manuell und führen erneut eine Regression aus.<jupyter_code># TODO: Daten manuell expandieren

# TODO: Modell trainieren
# TODO: Koeffizienten untersuchen
# TODO: Fit visualisieren
# TODO: Modell evaluieren<jupyter_output><empty_output><jupyter_text>2.3 Feature Expansion in Scikit-LearnDie Expansion der Features kann effizienter mit Scikit-Learn ausgeführt werden.<jupyter_code># TODO: Daten mit Scikit-Learn expandieren

# TODO: Modell trainieren
# TODO: Koeffizienten untersuchen
# TODO: Fit visualisieren
# TODO: Modell evaluieren<jupyter_output><empty_output><jupyter_text>2.4. Feature Expansion mit Scikit-Learn PipelinesPipelines sind eine Methode, die Modularität der **Scikit-Learn** Bibliothek voll auszunutzen und dabei zum Beispiel eine Feature Expansion durchzuführen.<jupyter_code># TODO: Import und Aufbau einer Pipeline

# TODO: Modell trainieren
# TODO: Koeffizienten untersuchen
# TODO: Fit visualisieren
# TODO: Modell evaluieren<jupyter_output><empty_output>
{'fraction_non_alphanumeric': 0.07281772953414745, 'fraction_numerical': 0.004522840343735866, 'mean_word_length': 6.181818181818182, 'pattern_counts': {'":': 0, '<': 21, '<?xml version=': 0, '>': 21, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '5', 'dir': 'jupyter-structured-clean-dedup', 'id': '648062', 'license': 'MIT', 'n_tokens_mistral': 760, 'n_tokens_neox': 744, 'n_words': 220, 'path': '2_3_lineare_regression/Tutorial - Lineare Regression II.ipynb', 'repo_name': 'layerwise/training', 'size': '2211'}