Lineare Regression und Plotten

Machine LearningMachine LearningBeginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

In diesem Projekt lernst du, wie du lineare Regression auf einer Menge von Datenpunkten durchführst und die Ergebnisse mit Matplotlib visualisierst. Lineare Regression ist eine grundlegende Machine-Learning-Technik, die verwendet wird, um die Beziehung zwischen einer abhängigen Variable (y) und einer oder mehreren unabhängigen Variablen (x) zu modellieren.

🎯 Aufgaben

In diesem Projekt wirst du lernen:

  • Wie du die gegebenen Daten in ein Numpy-Array umwandelst, um sie leichter zu manipulieren
  • Wie du die Koeffizienten des linearen Regressionsmodells berechnest, einschließlich der Steigung (w) und des y-Achsenabschnitts (b)
  • Wie du die Datenpunkte in einem Scatter-Plot darstellst und die lineare Regressionsgerade auf dem gleichen Plot zeichnest

🏆 Errungenschaften

Nach Abschluss dieses Projekts wirst du in der Lage sein:

  • Daten für die lineare Regressionsanalyse vorzubereiten
  • Numpy-Funktionen verwenden, um die linearen Regressionsparameter zu berechnen
  • Ein Scatter-Plot zu erstellen und die lineare Regressionsgerade mit Matplotlib zu überlagern
  • Ein besseres Verständnis von linearen Regression und ihren praktischen Anwendungen in der Datenanalyse und Visualisierung zu erlangen

Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL ml(("Machine Learning")) -.-> ml/RegressionAlgorithmsGroup(["Regression Algorithms"]) ml(("Machine Learning")) -.-> ml/EvaluationMetricsGroup(["Evaluation Metrics"]) ml(("Machine Learning")) -.-> ml/FrameworkandSoftwareGroup(["Framework and Software"]) ml(("Machine Learning")) -.-> ml/BasicConceptsGroup(["Basic Concepts"]) ml/BasicConceptsGroup -.-> ml/basic_concept("Basic Concept") ml/RegressionAlgorithmsGroup -.-> ml/linear_regression("Linear Regression") ml/EvaluationMetricsGroup -.-> ml/mse("Mean Squared Error") ml/FrameworkandSoftwareGroup -.-> ml/sklearn("scikit-learn") subgraph Lab Skills ml/basic_concept -.-> lab-300236{{"Lineare Regression und Plotten"}} ml/linear_regression -.-> lab-300236{{"Lineare Regression und Plotten"}} ml/mse -.-> lab-300236{{"Lineare Regression und Plotten"}} ml/sklearn -.-> lab-300236{{"Lineare Regression und Plotten"}} end

Daten in ein NumPy-Array umwandeln

In diesem Schritt lernst du, wie du die gegebenen Daten in ein NumPy-Array umwandelst, um sie leichter zu manipulieren.

Öffne die Datei linear_regression_plot.py.

Locate den Variablen data am Anfang der Funktion linear_plot().

Wandle die Liste data in ein NumPy-Array um, indem du die Funktion np.array() verwendest.

data = np.array(data)

Jetzt ist die Variable data ein NumPy-Array, was es in den nächsten Schritten einfacher machen wird, damit umzugehen.

✨ Lösung prüfen und üben

Lineare Regressionsparameter berechnen

In diesem Schritt lernst du, wie du die Werte des Koeffizienten w und des y-Achsenabschnitts b aus den Daten berechnest.

Fortsetzung in der Funktion linear_plot(), extrahiere die x- und y-Werte aus dem NumPy-Array data.

x = data[:, 0]
y = data[:, 1]

Verwende die Funktion np.polyfit(), um die linearen Regressionsparameter w und b zu berechnen.

w, b = np.polyfit(x, y, 1)

Runde die berechneten Werte von w und b auf zwei Nachkommastellen, indem du die Funktion round() verwendest.

w = round(w, 2)
b = round(b, 2)

Jetzt hast du die Werte des Koeffizienten w und des y-Achsenabschnitts b, die im nächsten Schritt verwendet werden können.

✨ Lösung prüfen und üben

Die lineare Regressionsgerade zeichnen

In diesem Schritt lernst du, wie du den Stichproben-Scatter-Plot zeichnest und die Anpassungsgerade auf dem Graphen basierend auf den berechneten Parametern zeichnest.

Fortsetzung in der Funktion linear_plot(), erzeuge eine neue Matplotlib-Figur und -Achse mit plt.subplots().

fig, ax = plt.subplots()

Zeichne die Datenpunkte mit der Funktion ax.scatter().

ax.scatter(x, y, label="Data Points")

Zeichne die lineare Regressionsgerade mit der Funktion ax.plot() und den berechneten Werten von w und b.

ax.plot(x, w * x + b, color="red", label=f"Linear Fit: y = {w}x + {b}")

Füge Beschriftungen und eine Legende zum Plot hinzu.

ax.set_xlabel("X")
ax.set_ylabel("Y")
ax.legend()

Schließlich gib die Werte von w, b und das fig-Objekt zurück.

return w, b, fig

Jetzt hast du die Funktion linear_plot() abgeschlossen, die lineare Regression auf den gegebenen Daten durchführt und die Koeffizienten und das Matplotlib-Plot-Objekt zurückgibt.

✨ Lösung prüfen und üben

Führe die lineare Regressionsgrafik aus

In diesem letzten Schritt lernst du, wie du dein Skript ausführst, um die lineare Regressionsgrafik in Aktion zu sehen. Dieser Teil des Codes wird die zuvor in der Funktion linear_plot() definierten Funktionen verwenden, um den Scatter-Plot zusammen mit der linearen Regressionsgeraden anzuzeigen.

Der bereitgestellte Python-Codeausschnitt wird überprüfen, ob das Skript als Hauptprogramm ausgeführt wird, und wenn ja, ruft er die Funktion linear_plot() auf und zeigt das resultierende Diagramm an.

if __name__ == "__main__":
    ## Rufe die linear_plot-Funktion auf, um die Regressionsparameter zu berechnen und das Diagramm zu generieren
    w, b, fig = linear_plot()
    ## Zeige das Diagramm an
    plt.show()

Hierbei stellt if __name__ == "__main__": sicher, dass die Funktion linear_plot() nur dann aufgerufen wird, wenn das Skript direkt ausgeführt wird, nicht wenn es als Modul importiert wird. Nachdem linear_plot() aufgerufen wurde, die die Steigung w, den y-Achsenabschnitt b und das Figur-Objekt fig zurückgibt, wird plt.show() verwendet, um das Diagramm in einem Fenster anzuzeigen. Dadurch kannst du visuell die Anpassung der Regressionsgeraden an die Daten überprüfen.

Jetzt kannst du die Schaltfläche "Run Cell" oben in der ersten Zeile von linear_regression_plot.py drücken und das Ergebnis sehen.

Linear regression plot result

Mit dieser Einrichtung kannst du das Skript leicht mit unterschiedlichen Datensätzen erneut ausführen oder die Regressionsberechnung anpassen, um sofort visuelle Rückmeldungen zu erhalten.

✨ Lösung prüfen und üben

Zusammenfassung

Herzlichen Glückwunsch! Du hast dieses Projekt abgeschlossen. Du kannst in LabEx weitere Labs absolvieren, um deine Fähigkeiten zu verbessern.