Problemstellung
- Mit der Regression sagt man kontinuierliche Werte (meistens Kommazahlen) vorher
Lineare Regression
Die lineare Regression ist ein grundlegendes Verfahren im - maschinellen Lernen, das zur Vorhersage kontinuierlicher Werte
(meist Kommazahlen) verwendet wird.
Lineare Regression
- In zweidimensionalen Raum → eine Gerade
- In höheren Dimensionen → Hyperebene
Lineare Regression versucht, eine Beziehung herzustellen
zwischen:
- einer abhängigen Variable (die vorhergesagt werden soll) und
- einer oder mehreren unabhängigen Variablen (die zur Vorhersage verwendet werden)
Grundidee
- Lineare Funktion durch Messwerte legen, um dann Werte voerherzusagen.
- Lineare Funktion sucht die Gerade, die am besten zu den Daten passt.
- ist quadratischer Fehler (d.h. wenn man die Abstände aller Punkte zur Regressionsgerade quadirert und aufsummiert)
- Echter Wert des Datenpunktes
- Schätzung des Modells
Die beste Gerade finden
Um die beste Gerade zu finden, verwendet die lineare Regression Optimierungsverfahren, die sog. Methoden der kleisten Quadrate
Methoden der kleisten Quadrate
berechnet die Abstände aller Punkte zur Regressionsgerade, quadriert diese Abstände und sumiiert sie auf
→ die Gerade, die diesen quadratischen Fehler
minimiert
, ist als diebeste Anpassung
an die Daten betrachtet.
Anwendungsbeispiele für die lineare Regression
- Vorhersage von Wohnungspreisen basierend auf der Wohnungsgröße
- Analyse des Zusammenhangs zwischen dem Gewicht eines Fahrzeugs und dessen Kraftstoffverbrauch
- Prognose von Aktienkursen (wie in unserem vorherigen Gespräch) Vorhersage von Verkaufszahlen basierend auf Werbeausgaben
- Abschätzung der Lebenserwartung basierend auf Faktoren wie Ernährung und Bewegung
Beispielaufgabe
- Wir sollen nun auf Basis der Größe einer uns unbekannten Wohnung voraussagen können, welchen Verkaufspreis sie in etwa erzielt.
- Esscheint einen annähernd linearen Zusammenhang zwischen der Wohnungsgröße und dem Kaufpreis zu geben, wir verwenden daher die Lineare Regression.
Implementierung
Das Python Maschine Learning Toolkit wird verwendet, welche mehrere Hilfsfunktionen für das Training solcher Algorithmen bietet, z.B. train_test_split
- diese teilt die Trainingsdaten in eine Trainings- und eine Verifikationsdatenmenge auf.
Nie ein Modell mit den Daten verifizieren, mit denen es trainiert wurde.
70-80 % der vorhandenen Trainingsdaten tatäschlich zum Training des Modells verwenden. Mit den Restlichen Daten (meistens 25 %) wird geprüft, wie gut das trainierte Modell passt.
Wir teilen unsere Daten in Trainingsdaten und Testdaten auf. Mit den Trainingsdaten erstellen wir unsere Modell. Mit den Testdaten schauen wir, wie gut es verallgemeinert.
from sklearn.model_selection import train_test_split
X = df[["Quadratmeter"]].values # df steht für dataframe
Y = df[["Kaltmiete"]].values # Daten werden aus der CSV Datei ausgelesen und in Y gespeichert.
X_train, X_test, Y_train, Y_test=train_test_split(X,Y, random_state =0) # bei jeder Ausführung -> Gleiche Ausführung
# Eingangsdaten von X in train und test
random_state gibt einen festen Wert für zufällige Aufteilung an
- Ohne
random_state
wird bei jedem Aufruf der Funktion eine andere Aufteilung vorgenommen → somit anderes Ergebnis als zuvor- Mit
random_state=0
bleibt die Aufteilug jdes Mal gleich- Empfohlende Werte 0, 42, 123
Training des Datenmodells
Wir erstellen ein Modell und trainieren es mit den Testdaten.
from sklearn.linear_model import LinearRegression # das ist ein Modell für die Lineare Regression
model = LinearRegression()
model.fit(X_train, Y_train) # Hier wird das Modell trainiert, die Trainingsdaten werden als Params eingegeben
print ("Achsenabschnitt b: " + str(model.intercept_))
print ("Steigung a: " + str(model.coef_))
Vorhersagen
predicted = model.predict(X_test) # oder Werte wie [[55]] eingeben
print(predicted)
Visualisierung der Daten anhand eines Scatters
%matplotlib inline
import matplotlib.pyplot as plt
plt.scatter(X_test, Y_test, color = "red")
plt.plot(X_test, predicted, color = "blue")
plt.show()
Bestimmtheitsmaß
Wenn man die Qualität von Modellen vergleichen möchte, braucht man ein Maß, das die Prognosegüte beschreibt.
Bestimmtheitsmaß
- Quadratischer Fehler des Vergleichsmodells, das immer den `Durchschnitt aller Zielwerte in den Testdaten vorhersagt.
- Quadratischer Fehler des Regressionsmodells, das traininiert wurde, um die Zielwerte auf Basis der Eingabedaten vorherzusagen.
Je näher an der 1 ist, desto besser ist das Modell
Übungsaufgabe zur Berechnung von Bestimmtheitsmaß
Variante 1
from sklearn.metrics import r2_score
r2 = r2_score(Y_test, y_test_predicted)
print(r2)
Variante 2
Hier wird die Methode “score” verwendet:
model.score(X_test, Y_test)
Quitz
Frage 1: Was ist das Hauptziel der linearen Regression?
a) Klassifizierung von Datenpunkten in verschiedene Kategorien.
b) Vorhersage von kontinuierlichen Werten.
c) Gruppierung ähnlicher Datenpunkte in Cluster.
d) Reduktion der Dimensionalität von Datensätzen.Lösung
b)
Vorhersage von kontinuierlichen Werten.
Erläuterung: Die lineare Regression wird verwendet, um eine lineare Funktion zu finden, die den Zusammenhang zwischen einer abhängigen Variable und einer oder mehreren unabhängigen Variablen beschreibt. Diese Funktion kann dann verwendet werden, um kontinuierliche Werte vorherzusagen, z.B. den Preis einer Wohnung basierend auf ihrer Größe.
Frage 2: Welches Optimierungsverfahren wird in der linearen Regression verwendet, um die beste Gerade zu finden?
a) Gradientenabstieg
b) Methode der kleinsten Quadrate
c) Backpropagation
d) k-fache KreuzvalidierungLösung
b)
Methode der kleinsten Quadrate.
Erläuterung: Die Methode der kleinsten Quadrate minimiert den quadratischen Fehler zwischen den tatsächlichen Werten der Datenpunkte und den durch die lineare Funktion vorhergesagten Werten. Dies geschieht durch Berechnung der Abstände aller Punkte zur Regressionsgerade, Quadrieren dieser Abstände und Summieren der quadrierten Abstände. Die Gerade, die diesen quadratischen Fehler minimiert, ist die beste Anpassung an die Daten.
Frage 3: Wie nennt man den Fehler, der bei der linearen Regression minimiert wird?
a) Absoluter Fehler
b) Quadratischer Fehler
c) Mittlerer quadratischer Fehler
d) KreuzentropieLösung
b)
Quadratischer Fehler.
Erläuterung: Der quadratische Fehler ist die Summe der quadrierten Abstände zwischen den tatsächlichen Werten der Datenpunkte und den durch die lineare Funktion vorhergesagten Werten. Durch die Quadrierung der Abstände werden große Abweichungen stärker gewichtet als kleine Abweichungen.
Frage 4: Welche Aussage über das Bestimmtheitsmaß ist falsch?
a) ist ein Maß für die Güte der Anpassung eines Regressionsmodells an die Daten.
b) Ein von 1 bedeutet, dass das Modell die Daten perfekt vorhersagt.
c) Ein von 0 bedeutet, dass das Modell genauso gut ist wie ein Modell, das immer den Durchschnitt der Zielwerte vorhersagt.
d) Ein kann Werte zwischen -1 und 1 annehmen.Lösung
d)
Ein kann Werte zwischen -1 und 1 annehmen.
Erläuterung: Das Bestimmtheitsmaß kann Werte zwischen 0 und 1 annehmen. Ein von 1 bedeutet eine perfekte Vorhersage, während ein von 0 bedeutet, dass das Modell nicht besser ist als ein Modell, das immer den Durchschnitt der Zielwerte vorhersagt.
Frage 5: Welche der folgenden Anwendungen ist ein Beispiel für die lineare Regression?
a) Erkennung von Objekten auf Bildern
b) Gruppierung von Kunden in verschiedene Segmente
c) Vorhersage der Wahrscheinlichkeit, dass ein Kunde ein Produkt kauft.
d) Vorhersage des Verkaufspreises eines Hauses basierend auf seiner Größe und Lage.Lösung
d)
Vorhersage des Verkaufspreises eines Hauses basierend auf seiner Größe und Lage.
Erläuterung: Die Vorhersage des Verkaufspreises eines Hauses, der ein kontinuierlicher Wert ist, basierend auf Merkmalen wie Größe und Lage, ist eine typische Anwendung der linearen Regression. Die anderen Optionen beschreiben Aufgaben der Bildverarbeitung (a), des unüberwachten Lernens (b) und der Klassifikation (c), für die andere Verfahren des maschinellen Lernens besser geeignet sind.
Frage 6: In welchen Fällen ist die lineare Regression nicht geeignet?
a) Wenn die Daten viele Ausreißer enthalten.
b) Wenn der Zusammenhang zwischen den Variablen nicht linear ist.
c) Wenn die Daten nicht normalverteilt sind.
d) Wenn es mehr als eine unabhängige Variable gibt.Lösung
b)
Wenn der Zusammenhang zwischen den Variablen nicht linear ist. Erläuterung: Die lineare Regression basiert auf der Annahme eines linearen Zusammenhangs zwischen den Variablen. Wenn dieser Zusammenhang nicht linear ist, liefert die lineare Regression keine zuverlässigen Ergebnisse. In solchen Fällen sollten andere Verfahren des maschinellen Lernens, wie z.B. polynomiale Regression oder Support Vector Machines, in Betracht gezogen werden.
Quitz zu Bestimmheitsmaß
Frage 1: Was repräsentiert das Bestimmtheitsmaß ()?
a) Den durchschnittlichen Fehler des Modells.
b) Die Anzahl der korrekt vorhergesagten Datenpunkte.
c) Den Grad der Linearität zwischen den Variablen.
d) Den Anteil der Varianz in den Daten, der durch das Modell erklärt wird.Lösung
d)
Den Anteil der Varianz in den Daten, der durch das Modell erklärt wird.
Erläuterung: Das Bestimmtheitsmaß, auch bekannt als , quantifiziert, wie gut ein Regressionsmodell die Variabilität der Zielvariable (die Variable, die vorhergesagt werden soll) erklärt. Ein von 1 bedeutet, dass das Modell die gesamte Varianz der Zielvariable erklärt, während ein von 0 bedeutet, dass das Modell keine Varianz erklärt und nicht besser ist als ein Modell, das einfach den Mittelwert der Zielvariable vorhersagt.
Frage 2: Wie wird das Bestimmtheitsmaß berechnet?
a) = /
b) = 1 - ( / )
c) = -
d) = 1 + ( / )Lösung
b)
= 1 - ( / )
Erläuterung: Das Bestimmtheitsmaß wird berechnet, indem man 1 minus den Quotienten aus dem quadratischen Fehler des Modells () und dem quadratischen Fehler des Vergleichsmodells () berechnet. Das Vergleichsmodell ist ein einfaches Modell, das immer den Durchschnitt der Zielwerte vorhersagt.
Frage 3: Ein Regressionsmodell hat ein von 0,8. Was bedeutet das?
a) Das Modell macht 80% Fehler bei den Vorhersagen.
b) Das Modell erklärt 80% der Varianz in den Daten.
c) Das Modell ist 80% besser als ein Zufallsmodell.
d) Das Modell hat 80% der Datenpunkte korrekt vorhergesagt.Lösung
b)
Das Modell erklärt 80% der Varianz in den Daten.
Erläuterung: Ein von 0,8 bedeutet, dass das Modell 80% der Varianz der Zielvariable durch die unabhängigen Variablen erklärt. Dies zeigt eine gute Anpassung des Modells an die Daten an.
Frage 4: Welcher -Wert zeigt die beste Modellanpassung an die Daten an?
a) 0
b) 0,5
c) 1
d) -1Lösung
c)
1
Erläuterung: Ein von 1 bedeutet, dass das Modell die Daten perfekt vorhersagt und die gesamte Varianz der Zielvariable erklärt. Je näher der an 1 liegt, desto besser ist die Modellanpassung.
Frage 5: In welchem Bereich liegt der -Wert typischerweise?
a) -1 bis 1
b) 0 bis 1
c) 0 bis unendlich
d) -unendlich bis unendlichLösung
b)
0 bis 1
Erläuterung: Der -Wert kann nur Werte zwischen 0 und 1 annehmen. Ein Wert von 0 bedeutet, dass das Modell keine Erklärungskraft hat, während ein Wert von 1 eine perfekte Vorhersage anzeigt.