Lineare Regression Beispiel

Machine LearningMachine LearningBeginner
Jetzt üben

This tutorial is from open-source community. Access the source code

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

Einführung

In diesem Lab wird gezeigt, wie die lineare Regression verwendet wird, um eine Gerade zu zeichnen, die am besten zu einem Datensatz passt, und wie die Koeffizienten, die quadratische Residuen Summe und der Bestimmtheitskoeffizient berechnet werden. Wir werden die scikit-learn-Bibliothek verwenden, um die lineare Regression auf dem Diabetes-Datensatz durchzuführen.

VM-Tipps

Nachdem der VM-Start abgeschlossen ist, klicken Sie in der oberen linken Ecke, um zur Registerkarte Notebook zu wechseln und Jupyter Notebook für die Übung zu öffnen.

Manchmal müssen Sie einige Sekunden warten, bis Jupyter Notebook vollständig geladen ist. Die Validierung von Vorgängen kann aufgrund der Einschränkungen in Jupyter Notebook nicht automatisiert werden.

Wenn Sie während des Lernens Probleme haben, können Sie Labby gerne fragen. Geben Sie nach der Sitzung Feedback, und wir werden das Problem für Sie prompt beheben.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL sklearn(("Sklearn")) -.-> sklearn/ModelSelectionandEvaluationGroup(["Model Selection and Evaluation"]) ml(("Machine Learning")) -.-> ml/FrameworkandSoftwareGroup(["Framework and Software"]) sklearn/ModelSelectionandEvaluationGroup -.-> sklearn/metrics("Metrics") ml/FrameworkandSoftwareGroup -.-> ml/sklearn("scikit-learn") subgraph Lab Skills sklearn/metrics -.-> lab-49231{{"Lineare Regression Beispiel"}} ml/sklearn -.-> lab-49231{{"Lineare Regression Beispiel"}} end

Lade den Diabetes-Datensatz

Wir beginnen, indem wir den Diabetes-Datensatz aus scikit-learn laden und nur einen Feature aus dem Datensatz auswählen.

import numpy as np
from sklearn import datasets

## Lade den Diabetes-Datensatz
diabetes_X, diabetes_y = datasets.load_diabetes(return_X_y=True)

## Verwende nur ein Feature
diabetes_X = diabetes_X[:, np.newaxis, 2]

Teile den Datensatz auf

Als nächstes teilen wir den Datensatz in Trainings- und Testsets auf. Wir werden 80% der Daten zum Training und 20% zum Testen verwenden.

## Teile die Daten in Trainings-/Testsets auf
diabetes_X_train = diabetes_X[:-20]
diabetes_X_test = diabetes_X[-20:]

## Teile die Zielwerte in Trainings-/Testsets auf
diabetes_y_train = diabetes_y[:-20]
diabetes_y_test = diabetes_y[-20:]

Trainiere das Modell

Jetzt erstellen wir ein lineares Regressionsobjekt und trainieren das Modell mit den Trainingssets.

from sklearn import linear_model

## Erstelle lineares Regressionsobjekt
regr = linear_model.LinearRegression()

## Trainiere das Modell mit den Trainingssets
regr.fit(diabetes_X_train, diabetes_y_train)

Mache Vorhersagen

Wir können jetzt das trainierte Modell verwenden, um Vorhersagen für den Testset zu machen.

## Mache Vorhersagen mit dem Testset
diabetes_y_pred = regr.predict(diabetes_X_test)

Berechne Metriken

Wir können die Koeffizienten, den mittleren quadratischen Fehler und den Bestimmtheitskoeffizienten berechnen.

from sklearn.metrics import mean_squared_error, r2_score

## Die Koeffizienten
print("Koeffizienten: \n", regr.coef_)

## Der mittlere quadratische Fehler
print("Mittlerer quadratischer Fehler: %.2f"
      % mean_squared_error(diabetes_y_test, diabetes_y_pred))

## Der Bestimmtheitskoeffizient: 1 ist perfekte Vorhersage
print("Bestimmtheitskoeffizient: %.2f"
      % r2_score(diabetes_y_test, diabetes_y_pred))

Visualisiere die Ergebnisse

Schließlich können wir die vorhergesagten Werte gegen die tatsächlichen Werte aufzeichnen, um zu visualisieren, wie gut das Modell die Daten anpasst.

import matplotlib.pyplot as plt

## Zeichne die Ausgaben
plt.scatter(diabetes_X_test, diabetes_y_test, color="black")
plt.plot(diabetes_X_test, diabetes_y_pred, color="blue", linewidth=3)

plt.xticks(())
plt.yticks(())

plt.show()

Zusammenfassung

In diesem Lab haben wir gelernt, wie man lineare Regression verwendet, um eine Gerade an einen Datensatz anzupassen, und wie man die Koeffizienten, die Residuenquadratsumme und den Bestimmtheitskoeffizienten berechnet. Wir haben auch gelernt, wie man die vorhergesagten Werte gegen die tatsächlichen Werte mit einem Streudiagramm visualisiert.