Einführung
In diesem Projekt lernst du, wie du die Methode der kleinsten Quadrate (OLS) in Python implementierst. OLS ist eine grundlegende mathematische Optimierungstechnik, die in der Maschinellen Lernung, insbesondere bei linearen Regressionsproblemen, verwendet wird.
🎯 Aufgaben
In diesem Projekt wirst du lernen:
- Wie du die OLS-Funktion implementierst, um die Steigung (w1) und den y-Achsenabschnitt (w0) einer linearen Gleichung basierend auf Stichprobendaten zu berechnen.
- Wie du die OLS-Funktion mit Stichprobendaten testest und die Korrektheit der Ergebnisse verifizierst.
🏆 Errungenschaften
Nach Abschluss dieses Projekts wirst du in der Lage sein:
- Die OLS-Formeln zur Berechnung der Steigung und des y-Achsenabschnitts einer linearen Gleichung abzuleiten.
- Die OLS-Funktion in Python ohne Verwendung externer Bibliotheken zu implementieren.
- Die OLS-Funktion mit Stichprobendaten zu testen und zu validieren.
- Die Wichtigkeit der OLS-Methode in der Maschinellen Lernung und bei linearen Regressionsproblemen zu verstehen.
Implementiere die Funktion der kleinsten Quadrate
In diesem Schritt implementierst du die Methode der kleinsten Quadrate (OLS) in Python. Folge den Schritten unten, um diesen Schritt abzuschließen:
Öffne die Datei
least_squares.pyin deinem Texteditor.Implementiere die Funktion
least_squares_functiongemäß den angegebenen Spezifikationen:- Die Funktion sollte zwei Eingabeparameter akzeptieren:
x(eine Liste von Stichprobewerten für x) undy(eine Liste von Stichprobewerten für y). - Die Funktion sollte die Steigung (
w1) und den y-Achsenabschnitt (w0) der linearen Gleichung mithilfe der in der Challenge-Beschreibung angegebenen OLS-Formeln berechnen. - Die Funktion sollte die berechneten Werte für
w0undw1auf zwei Dezimalstellen runden, bevor sie sie zurückgibt. - Die Funktion sollte die Werte für
w0undw1in dieser Reihenfolge zurückgeben.
- Die Funktion sollte zwei Eingabeparameter akzeptieren:
Hier ist die abgeschlossene Implementierung der Funktion least_squares_function:
def least_squares_function(x, y):
"""
Parameter:
x -- Liste von Werten für die Stichprobe von x
y -- Liste von Werten für die Stichprobe von y
Rückgabe:
w0 -- Parameter der linearen Gleichung, auf zwei Dezimalstellen gerundet
w1 -- Parameter der linearen Gleichung, auf zwei Dezimalstellen gerundet
"""
n = len(x)
## Berechne die Summen, die für die Steigung (w1) und den y-Achsenabschnitt (w0) benötigt werden
sum_x = sum(x)
sum_y = sum(y)
sum_xy = sum(x_i * y_i for x_i, y_i in zip(x, y))
sum_x_squared = sum(x_i**2 for x_i in x)
## Berechne die Steigung (w1) und den y-Achsenabschnitt (w0) mithilfe der OLS-Formeln
w1 = (n * sum_xy - sum_x * sum_y) / (n * sum_x_squared - sum_x**2)
w0 = (sum_y - w1 * sum_x) / n
## Runde auf zwei Dezimalstellen
w0 = round(w0, 2)
w1 = round(w1, 2)
return w0, w1
- Speichere die Datei
least_squares.py.
Teste die Funktion der kleinsten Quadrate
In diesem Schritt wirst du die Funktion least_squares_function, die du im vorherigen Schritt implementiert hast, testen.
- Am Ende der Datei findest du folgenden Code, um die Funktion
least_squares_functionzu testen:
## Beispielverwendung
if __name__ == "__main__":
x_example = [1, 2, 3, 4]
y_example = [4, 5, 6, 7]
result = least_squares_function(x_example, y_example)
print("w0:", result[0])
print("w1:", result[1])
- Führe das Skript
least_squares.pyin deiner Konsole aus:
python3 least_squares.py
Du solltest die folgende Ausgabe sehen:
w0: 3.0
w1: 1.0
Diese Ausgabe bestätigt, dass die Funktion least_squares_function wie erwartet funktioniert.
Glückwunsch! Du hast die Methode der kleinsten Quadrate erfolgreich in Python implementiert. In den nächsten Schritten kannst du erkunden, wie du diese Funktion in einem realen Machine-Learning-Problem verwenden kannst.
Zusammenfassung
Glückwunsch! Du hast dieses Projekt abgeschlossen. Du kannst in LabEx weitere Labs absolvieren, um deine Fähigkeiten zu verbessern.



