So extrahieren sie regressionskoeffizienten aus dem scikit-learn-modell


Sie können die folgende grundlegende Syntax verwenden, um Regressionskoeffizienten aus einem mit scikit-learn in Python erstellten Regressionsmodell zu extrahieren:

 p.d. DataFrame ( zip ( X.columns , model.coef_ ))

Das folgende Beispiel zeigt, wie diese Syntax in der Praxis verwendet wird.

Beispiel: Regressionskoeffizienten aus dem Scikit-Learn-Modell extrahieren

Angenommen, wir haben den folgenden Pandas-DataFrame, der Informationen zu den gelernten Stunden, der Anzahl der abgelegten Vorbereitungsprüfungen und der Abschlussprüfungsnote von 11 Schülern einer Klasse enthält:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' hours ': [1, 2, 2, 4, 2, 1, 5, 4, 2, 4, 4],
                   ' exams ': [1, 3, 3, 5, 2, 2, 1, 1, 0, 3, 4],
                   ' score ': [76, 78, 85, 88, 72, 69, 94, 94, 88, 92, 90]})

#view DataFrame
print (df)

    hours exam score
0 1 1 76
1 2 3 78
2 2 3 85
3 4 5 88
4 2 2 72
5 1 2 69
6 5 1 94
7 4 1 94
8 2 0 88
9 4 3 92
10 4 4 90

Wir können den folgenden Code verwenden, um ein multiples lineares Regressionsmodell anzupassen, indem wir Stunden und Prüfungen als Prädiktorvariablen und die Punktzahl als Antwortvariable verwenden:

 from sklearn. linear_model import LinearRegression

#initiate linear regression model
model = LinearRegression()

#define predictor and response variables
x, y = df[[' hours ', ' exams ']], df. score

#fit regression model
model. fit (x,y)

Anschließend können wir die folgende Syntax verwenden, um die Regressionskoeffizienten von Stunden und Prüfungen zu extrahieren:

 #print regression coefficients
p.d. DataFrame ( zip ( X.columns , model.coef_ ))

            0 1
0 hours 5.794521
1 exams -1.157647

Aus dem Ergebnis können wir die Regressionskoeffizienten für die beiden Prädiktorvariablen im Modell sehen:

  • Koeffizient für Stunden : 5,794521
  • Koeffizient für Prüfungen : -1,157647

Wenn wir möchten, können wir auch die folgende Syntax verwenden, um den Originalwert aus dem Regressionsmodell zu extrahieren:

 #print intercept value
print (model. intercept_ )

70.48282057040197

Mit jedem dieser Werte können wir die Gleichung für das angepasste Regressionsmodell schreiben:

Punktzahl = 70,483 + 5,795 (Stunden) – 1,158 (Prüfungen)

Mithilfe dieser Gleichung können wir dann die Abschlussprüfungsnote eines Schülers basierend auf der Anzahl der Lernstunden und der Anzahl der abgelegten Übungsprüfungen vorhersagen.

Beispielsweise sollte ein Student, der 3 Stunden lang gelernt und 2 Vorbereitungsprüfungen abgelegt hat, eine Abschlussnote von 85,55 erhalten:

  • Punktzahl = 70,483 + 5,795 (Stunden) – 1,158 (Prüfungen)
  • Punktzahl = 70,483 + 5,795(3) – 1,158(2)
  • Punktzahl = 85,55

Verwandte Themen: So interpretieren Sie Regressionskoeffizienten

Zusätzliche Ressourcen

In den folgenden Tutorials wird erläutert, wie Sie andere gängige Vorgänge in Python ausführen:

So führen Sie eine einfache lineare Regression in Python durch
So führen Sie eine multiple lineare Regression in Python durch
So berechnen Sie den AIC von Regressionsmodellen in Python

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert