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