Heute lernen wir einen wichtigen Algorithmus kennen, der zum überwachten Lernen gehört: die lineare Regression. In früheren Artikeln über maschinelles Lernen Und überwachtes Lernenhaben wir den Grundstein für diesen entscheidenden Algorithmus gelegt.
Die lineare Regression ist der einfachste überwachte Lernalgorithmus. Es wird verwendet, um den Wert einer kontinuierlichen abhängigen Variablen (diejenige, die wir vorhersagen möchten) basierend auf einer oder mehreren unabhängigen Variablen (die wir zur Vorhersage verwenden) vorherzusagen. Bei diesem Algorithmus wird davon ausgegangen, dass eine lineare Beziehung zwischen der abhängigen Variablen und den unabhängigen Variablen besteht.
Wenn Sie zu faul sind, den gesamten Artikel zu lesen, können Sie sich das folgende Video ansehen:
Vereinfacht ausgedrückt untersucht die lineare Regression, wie sich Änderungen in unabhängigen Variablen auf die abhängige Variable auswirken.
Die Gleichung einer Geraden kennen Sie vielleicht noch aus dem Mathematikunterricht: y=mx+c. In dieser Gleichung ist m die Steigung der Geraden und c der y-Achsenabschnitt. Wir versuchen, eine gerade Linie in unsere Daten einzupassen, um Werte vorherzusagen.
Nehmen wir ein Beispiel. Angenommen, wir haben Daten über die Anzahl der Studienstunden und die entsprechenden Prüfungsergebnisse der Studierenden:
Unser Ziel ist es, einen Zusammenhang zwischen den Lernstunden und den Prüfungsergebnissen herzustellen, sodass wir die Ergebnisse anhand der Anzahl der Stunden vorhersagen können. Lassen Sie uns diese Daten zunächst in einem Diagramm darstellen:
Um Vorhersagen mithilfe der linearen Regression zu treffen, müssen wir die am besten passende Linie finden. Nehmen wir für dieses Beispiel eine Linie mit einer Steigung von 10 und ein y-Achsenabschnitt von 9.
Daraus ergibt sich folgende Zeile:
Die Geradengleichung lautet:
Dabei ist Y die abhängige Variable (Rating) und X die unabhängige Variable (Stunden).
Nehmen wir nun an, wir möchten das Prüfungsergebnis eines Schülers vorhersagen, der 8 Stunden lang gelernt hat. Wir können den Wert der Studienstunden (X) in die Gleichung einsetzen:
Prüfungsergebnis = 10 * 8 + 9
Prüfungsergebnis = 80 + 9
Prüfungsergebnis = 89
Gemäß unserem linearen Regressionsmodell wird erwartet, dass ein Schüler, der 8 Stunden lang lernt, in der Prüfung eine Punktzahl von 89 erzielt.
Die lineare Regression kann sowohl für die einfache als auch für die a number of Regressionsanalyse verwendet werden.
Einfache lineare Regression
Es handelt sich nur um eine unabhängige Variable. Im vorherigen Beispiel „Lernstunden vs. Punktzahl“ gab es nur eine unabhängige Variable (Stunde), es handelte sich additionally um ein Beispiel für eine einfache lineare Regression.
Die Gleichung für die einfache lineare Regression kann wie folgt geschrieben werden: Y = b0 + b1 * X
Wo
- Y ist die abhängige Variable
- X ist die unabhängige Variable
- b1 ist die Steigung
- b1 ist der y-Achsenabschnitt.
Da die einfache lineare Regression nur eine unabhängige Variable hat, gibt es in der Gleichung nur ein X.
A number of lineare Regression
Es handelt sich um mehr als eine unabhängige Variable. Für die a number of lineare Regression würde die Gleichung nun lauten:
Wo:
- Y stellt die abhängige Variable oder Zielvariable dar.
- X1, X2, …, Xn repräsentieren die unabhängigen Variablen.
- b0 ist der y-Achsenabschnitt oder der konstante Time period.
- b1,b2,…bn sind die Koeffizienten oder Steigungen, die jeder unabhängigen Variablen zugeordnet sind.
Nehmen wir zur Vereinfachung ein Beispiel!
Dabei sind Zimmeranzahl, Hausgröße und Balkon unabhängige Variablen, während die Miete die abhängige bzw. Zielvariable ist. Da es mehrere unabhängige Variablen gibt, kann hier eine a number of lineare Regression verwendet werden.
Die Gleichung für die a number of lineare Regression für dieses Beispiel wäre:
Steigung (b1): Im Kontext der linearen Regression stellt die Steigung die Änderung der abhängigen Variablen (Y) bei einem Anstieg der unabhängigen Variablen (X) um eine Einheit dar, während andere Variablen konstant bleiben.
Im Beispiel „Lernstunden vs. Prüfungsergebnis“ beträgt die geschätzte Steigung beispielsweise 10. Das bedeutet, dass sich das vorhergesagte Prüfungsergebnis im Durchschnitt für jede weitere Lernstunde um 10 Punkte erhöht. Die Steigung gibt additionally die Änderungsrate der abhängigen Variablen professional Änderungseinheit der unabhängigen Variablen an.
Abschnitt (b0): Der Achsenabschnitt stellt den Wert der abhängigen Variablen (Y) dar, wenn alle unabhängigen Variablen (X) Null sind. Mit anderen Worten handelt es sich um den vorhergesagten Wert der abhängigen Variablen, wenn die unabhängige(n) Variable(n) keinen Einfluss oder Effekt hat(en).
Nehmen wir zum Beispiel im Beispiel „Lernstunden vs. Prüfungsergebnis“ an, dass der geschätzte Schnittpunkt 9 beträgt. Das bedeutet, dass, wenn ein Scholar überhaupt nicht lernt (0 Stunden), das vorhergesagte Prüfungsergebnis 9 wäre. Der Schnittpunkt liefert die Ausgangspunkt oder Basiswert der abhängigen Variablen.
Das Folgende ist eine grundlegende Implementierung des Lernstundenproblems, das wir oben gesehen haben:
import numpy as np
from sklearn.linear_model import LinearRegression# Instance information
X = np.array([[2], [3], [4], [5], [6], [7]]) # Impartial variable (examine hours)
y = np.array([30, 41, 49, 60, 73, 81]) # Dependent variable (examination scores)
# Create and match the linear regression mannequin
regression_model = LinearRegression()
regression_model.match(X, y)
# Print the coefficients (slope and intercept)
print("Intercept:", regression_model.intercept_)
print("Slope:", regression_model.coef_[0])
# Predict examination rating for a given examine hours
hours = np.array([[8]]) # New examine hours
predicted_score = regression_model.predict(hours)
print("Predicted Examination Rating:", predicted_score[0])
- In diesem Beispiel importieren wir die erforderlichen Bibliotheken, erstellen Beispieldaten für Lernstunden (X) und Prüfungsergebnisse (y) und erstellen eine Instanz davon
LinearRegression
Klasse von scikit-learn. - Anschließend passen wir das Modell mithilfe von an unsere Daten an
match()
Methode, die die Steigung und den Achsenabschnitt der linearen Regressionsgeraden schätzt. - Der
intercept_
Das Attribut stellt den Schnittpunkt bereit, und dascoef_
Das Attribut liefert die Steigung. - Als nächstes können wir das trainierte Modell verwenden, um die Prüfungspunktzahl für einen neuen Lernstundenwert vorherzusagen
predict()
Methode. In diesem Fall prognostizieren wir das Prüfungsergebnis für 8 Stunden. - Schließlich drucken wir den Achsenabschnitt, die Steigung und das vorhergesagte Prüfungsergebnis aus.
Beachten Sie, dass es sich hierbei um eine grundlegende Implementierung handelt. In der Praxis müssen Sie möglicherweise die Daten im CSV-Format importieren, die Daten vorverarbeiten, sie in Trainings- und Testsätze aufteilen, die Leistung des Modells bewerten, mehrere Funktionen verarbeiten und alle Annahmen oder Herausforderungen bewältigen spezifisch für Ihren Datensatz. All diese Schritte werden wir in den kommenden Artikeln lernen!
Die lineare Regression basiert auf einigen Annahmen, die befolgt werden müssen, damit sie funktioniert. Diese Annahmen sind die Säulen, die die Gültigkeit und Zuverlässigkeit der linearen Regression unterstützen.
- Linearität: Wir gehen davon aus, dass zwischen den unabhängigen und abhängigen Variablen eine lineare Beziehung besteht. Mit anderen Worten: Die Beziehung kann durch eine gerade Linie dargestellt werden.
- Unabhängigkeit: Wir gehen davon aus, dass die Beobachtungen unabhängig voneinander sind. Das bedeutet, dass der Wert einer Beobachtung (Datenpunkt) nicht vom Wert einer anderen Beobachtung abhängt.
- Homoskedastizität: Wir gehen davon aus, dass die Varianz der Fehlerterme (die Unterschiede zwischen den vorhergesagten und tatsächlichen Werten) über alle Ebenen der unabhängigen Variablen hinweg konstant ist. Vereinfacht ausgedrückt sollte die Verteilung der Datenpunkte entlang der Linie konsistent sein.
- Normalität: Wir gehen davon aus, dass die Fehlerterme normalverteilt sind. Das bedeutet, dass die Fehlerverteilung einer glockenförmigen Kurve folgt.
Wenn Sie die meisten Annahmen nicht verstanden haben, machen Sie sich keine Sorgen, sie können auf den ersten Blick entmutigend wirken!
Die lineare Regression ist ein leistungsstarker Algorithmus, der eine lineare Beziehung zwischen Variablen herstellt. Es ist einfach und kann dennoch in einer Vielzahl von Bereichen eingesetzt werden, in denen wir zukünftige Werte auf der Grundlage vergangener Daten vorhersagen müssen.
Mit diesen neu gewonnenen Erkenntnissen zur linearen Regression können Sie nun einige ziemlich coole Vorhersagemodelle entwickeln. In kommenden Artikeln werden wir weitere überwachte Lernalgorithmen sowie ML-Workflows und Datenverarbeitung behandeln. Bleiben Sie dran!