Wie implementiere ich eine lineare Regression für maschinelles Lernen?



Dieser Artikel behandelt das Konzept der linearen Regression für maschinelles Lernen mit verschiedenen Terminologien und einen Anwendungsfall zur Implementierung der linearen Regression.

Der Fokus von dreht sich um die Eingabe- und Ausgabevariablen unter Verwendung eines Algorithmus zur Vorhersage des Ergebnisses. Wenn eine neue Eingangsvariable ins Bild kommt. Der lineare Regressionsalgorithmus in ist eine überwachte Lerntechnik zur Annäherung der Abbildungsfunktion, um die besten Vorhersagen zu erhalten. In diesem Artikel lernen wir die lineare Regression für maschinelles Lernen kennen. Die folgenden Themen werden in diesem Blog behandelt.

Was ist Regression?

Das Hauptziel der Regression ist die Erstellung eines effizienten Modells zur Vorhersage der abhängigen Attribute aus einer Reihe von Attributvariablen. Ein Regressionsproblem liegt vor, wenn die Ausgabevariable entweder ein reeller oder ein kontinuierlicher Wert ist, d. H. Gehalt, Gewicht, Fläche usw.





Wir können Regression auch als statistisches Mittel definieren, das in Anwendungen wie Wohnen, Investieren usw. verwendet wird. Es wird verwendet, um die Beziehung zwischen einer abhängigen Variablen und einer Reihe unabhängiger Variablen vorherzusagen. Schauen wir uns verschiedene Arten von Regressionstechniken an.

beispiellineare Regression beim maschinellen Lernen - edureka

Arten der Regression

Das Folgende sind Arten der Regression.



  1. Einfache lineare Regression
  2. Polynomregression
  3. Unterstützung der Vektorregression
  4. Entscheidungsbaum-Regression
  5. Zufällige Waldregression

Einfache lineare Regression

Eine der interessantesten und gebräuchlichsten Regressionstechniken ist die einfache lineare Regression. Dabei prognostizieren wir das Ergebnis einer abhängigen Variablen basierend auf den unabhängigen Variablen. Die Beziehung zwischen den Variablen ist linear. Daher das Wort lineare Regression.

Polynomregression

Bei dieser Regressionstechnik transformieren wir die ursprünglichen Merkmale in Polynommerkmale eines bestimmten Grades und führen dann eine Regression durch.

Unterstützung der Vektorregression

Zum Regression oder SVR identifizieren wir eine Hyperebene mit maximalem Rand, sodass die maximale Anzahl von Datenpunkten innerhalb dieser Ränder liegt. Es ist dem Klassifizierungsalgorithmus für Support-Vektor-Maschinen ziemlich ähnlich.



Entscheidungsbaum-Regression

ZU kann sowohl für die Regression als auch für verwendet werden . Im Falle einer Regression verwenden wir den ID3-Algorithmus (Iterativer Dichotomiser 3), um den Aufteilungsknoten durch Reduzieren der Standardabweichung zu identifizieren.

Art der Kommentare in Java

Zufällige Waldregression

Bei der zufälligen Waldregression stellen wir die Vorhersagen mehrerer Entscheidungsbaumregressionen zusammen. Nachdem wir nun verschiedene Arten der Regression kennen, wollen wir uns die einfache lineare Regression im Detail ansehen.

Was ist lineare Regression?

Die einfache lineare Regression ist eine Regressionstechnik, bei der die unabhängige Variable eine lineare Beziehung zur abhängigen Variablen hat. Die gerade Linie im Diagramm ist die am besten passende Linie. Das Hauptziel der einfachen linearen Regression besteht darin, die angegebenen Datenpunkte zu berücksichtigen und die bestmögliche Anpassungslinie zu zeichnen, um das Modell bestmöglich anzupassen.

Bevor wir uns der Funktionsweise des linearen Regressionsalgorithmus zuwenden, werfen wir einen Blick auf einige wichtige Terminologien in der einfachen linearen Regression.

Terminologien für lineare Regression

Die folgenden Terminologien sind wichtig, bevor Sie mit dem linearen Regressionsalgorithmus fortfahren.

Kostenfunktion

Die Best-Fit-Linie kann auf der unten angegebenen linearen Gleichung basieren.

  • Die vorherzusagende abhängige Variable wird mit Y bezeichnet.
  • Eine Linie, die die y-Achse berührt, wird durch den Achsenabschnitt b bezeichnet0.
  • beinist die Steigung der Linie, x repräsentiert die unabhängigen Variablen, die die Vorhersage von Y bestimmen.
  • Der Fehler in der resultierenden Vorhersage wird mit e bezeichnet.

Die Kostenfunktion liefert die bestmöglichen Werte für b0und Beinum die am besten passende Linie für die Datenpunkte zu erstellen. Wir tun dies, indem wir dieses Problem in ein Minimierungsproblem umwandeln, um die besten Werte für b zu erhalten0und Bein. Der Fehler wird bei diesem Problem zwischen dem tatsächlichen Wert und dem vorhergesagten Wert minimiert.

Wir wählen die obige Funktion, um den Fehler zu minimieren. Wir quadrieren die Fehlerdifferenz und summieren den Fehler über alle Datenpunkte, die Division zwischen der Gesamtzahl der Datenpunkte. Dann liefert der erzeugte Wert den gemittelten quadratischen Fehler über alle Datenpunkte.

Es ist auch als MSE (Mean Squared Error) bekannt, und wir ändern die Werte von b0und Beinso dass der MSE-Wert auf das Minimum abgerechnet wird.

Gradientenabstieg

Die nächste wichtige Terminologie zum Verständnis der linearen Regression ist Gradientenabstieg. Es ist eine Methode zum Aktualisieren von b0und BeinWerte zur Reduzierung der MSE. Die Idee dahinter ist, das b weiter zu wiederholen0und BeinWerte, bis wir die MSE auf das Minimum reduzieren.

So aktualisieren Sie b0und Beinnehmen wir Gradienten aus der Kostenfunktion. Um diese Gradienten zu finden, nehmen wir partielle Ableitungen in Bezug auf b0und Bein. Diese partiellen Ableitungen sind die Gradienten und werden verwendet, um die Werte von b zu aktualisieren0und Bein.

Eine geringere Lernrate nähert sich dem Minimum an, dauert jedoch länger und bei einer größeren Lernrate. Die benötigte Zeit ist früher, aber es besteht die Möglichkeit, den Mindestwert zu überschreiten. Nachdem wir mit den Terminologien der linearen Regression fertig sind, wollen wir einige Vor- und Nachteile der linearen Regression für das maschinelle Lernen betrachten.

Vorteile und Nachteile

Vorteile Nachteile
Die lineare Regression funktioniert besonders gut für linear trennbare DatenDie Annahme der Linearität zwischen abhängigen und unabhängigen Variablen
Einfacher zu implementieren, zu interpretieren und effizient zu trainierenEs ist oft sehr anfällig für Lärm und Überanpassung
Überanpassungen lassen sich mithilfe von Techniken zur Dimensionsreduzierung, Regularisierung und Kreuzvalidierung recht gut handhabenDie lineare Regression reagiert sehr empfindlich auf Ausreißer
Ein weiterer Vorteil ist die Extrapolation über einen bestimmten Datensatz hinausEs ist anfällig für Multikollinearität

Anwendungsfälle für lineare Regression

  • Umsatzprognosen

  • Risikoanalyse

  • Wohnungsanwendungen Zur Vorhersage der Preise und anderer Faktoren

    Bereichsauflösungsoperator c ++
  • Finanzanträge zur Vorhersage von Aktienkursen, Investitionsbewertung usw.

Die Grundidee der linearen Regression besteht darin, die Beziehung zwischen abhängigen und unabhängigen Variablen zu finden. Es wird verwendet, um die am besten passende Linie zu erhalten, die das Ergebnis mit dem geringsten Fehler vorhersagt. Wir können die lineare Regression in einfachen realen Situationen verwenden, beispielsweise bei der Vorhersage der SAT-Werte in Bezug auf die Anzahl der Stunden des Studiums und andere entscheidende Faktoren.

Schauen wir uns vor diesem Hintergrund einen Anwendungsfall an.

Anwendungsfall - Implementieren der linearen Regression

Der Vorgang erfolgt in folgenden Schritten:

  1. Laden der Daten
  2. Erkunden der Daten
  3. Schneiden der Daten
  4. Daten trainieren und teilen
  5. Generieren Sie das Modell
  6. Bewerten Sie die Genauigkeit

Kommen wir zu den Details der einzelnen Schritte zur Implementierung der linearen Regression.

1. Laden der Daten

Wir können mit dem grundlegenden Diabetes-Datensatz beginnen, der bereits im Modul sklearn (scikit-learn) -Datensätze vorhanden ist, um unsere Reise mit linearer Regression zu beginnen.

aus sklearn importieren Datensätze Krankheit = Datasets.load_diabetes () print (Krankheit)

Ausgabe:

2. Erkunden der Daten

Nachdem wir die Daten geladen haben, können wir mit dem Erkunden beginnen, indem wir einfach die Beschriftungen mit dem folgenden Code überprüfen.

wie man Java-Code kompiliert
print (Disease.keys ())

Ausgabe:

Der obige Code gibt alle Beschriftungen aus dem Datensatz an. Danach können wir die Daten in Scheiben schneiden, damit wir die Linie am Ende zeichnen können. Wir werden auch alle Datenpunkte verwenden, vorerst werden wir Spalte 2 aus den Daten herausschneiden.

importiere numpy als np krankheit_X = krankheit.daten [:, np.newaxis, 2] drucke (krankheit_X)

Ausgabe:

Nach diesem Schritt teilen wir die Daten in Zug und Testsatz auf.

3. Aufteilen der Daten

Krankheit_X_Train = Krankheit_X [: - 30] Krankheit_X_Test = Krankheit_X [-20:] Krankheit_Y_Train = Krankheit.Ziel [: - 30] Krankheit_Y_Test = Krankheit.Ziel [-20:]

Im nächsten Teil wird das Modell generiert, einschließlich des Imports von linear_model aus sklearn.

4. Modell generieren

aus sklearn importieren linear_model reg = linear_model.LinearRegression () reg.fit (Krankheit_X_train, Krankheit_Y_train) y_predict = reg.predict (Krankheit_X_test)

Um die Genauigkeit des Modells zu bewerten, verwenden wir den mittleren quadratischen Fehler aus dem Scikit-Lernen.

5. Bewertung

Genauigkeit = mean_squared_error (Krankheit_Y_test, y_predict,) Druck (Genauigkeit) Gewichte = reg.coef_ intercept = reg.intercept_ print (Gewichte, Achsenabschnitt)

Ausgabe:

Um klarer zu machen, wie die Datenpunkte im Diagramm aussehen, zeichnen wir auch die Diagramme.

importiere matplotlib.pyplot als plt plt.scatter (krankheit_X_test, krankheit_Y_test) plt.plot (krankheit_X_test, y_predict) plt.show ()

Ausgabe:

Um ein genaueres Modell in diesem Szenario zu erhalten, können wir die gesamten Daten anstelle nur der Spalte 2 verwenden. Dies würde eine Genauigkeit ergeben, wie unten gezeigt:

# Nehmen Sie eine kleine Änderung im obigen Code vor und entfernen Sie den Plotcode, um Fehler zu vermeiden. krankheit_X = krankheit.daten

Ausgabe:

Dies bringt uns zum Ende dieses Artikels, in dem wir etwas über die lineare Regression für maschinelles Lernen gelernt haben. Ich hoffe, Sie sind mit allem klar, was Ihnen in diesem Tutorial mitgeteilt wurde.

Wenn Sie diesen Artikel zum Thema „Lineare Regression für maschinelles Lernen“ relevant fanden, lesen Sie die Ein vertrauenswürdiges Online-Lernunternehmen mit einem Netzwerk von mehr als 250.000 zufriedenen Lernenden auf der ganzen Welt.

Wenn Sie auf Fragen stoßen, können Sie alle Ihre Fragen im Kommentarbereich von „Lineare Regression für maschinelles Lernen“ stellen. Unser Team beantwortet diese gerne.