Jak wyodrębnić współczynniki regresji z modelu scikit-learn


Możesz użyć następującej podstawowej składni, aby wyodrębnić współczynniki regresji z modelu regresji zbudowanego za pomocą scikit-learn w Pythonie:

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

Poniższy przykład pokazuje, jak zastosować tę składnię w praktyce.

Przykład: wyodrębnij współczynniki regresji z modelu Scikit-Learn

Załóżmy, że mamy następującą ramkę danych pandy, która zawiera informacje o przestudiowanych godzinach, liczbie zdanych egzaminów przygotowawczych i ocenach z egzaminu końcowego uzyskanych przez 11 uczniów w klasie:

 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

Możemy użyć poniższego kodu, aby dopasować model regresji liniowej , wykorzystując godziny i egzaminy jako zmienne predykcyjne oraz wynik jako zmienną odpowiedzi:

 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)

Następnie możemy użyć następującej składni, aby wyodrębnić współczynniki regresji godzin i egzaminów :

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

            0 1
0 hours 5.794521
1 exams -1.157647

Na podstawie wyniku możemy zobaczyć współczynniki regresji dla dwóch zmiennych predykcyjnych w modelu:

  • Współczynnik godzinowy : 5,794521
  • Współczynnik dla egzaminów : -1,157647

Jeśli chcemy, możemy również użyć następującej składni, aby wyodrębnić pierwotną wartość z modelu regresji:

 #print intercept value
print (model. intercept_ )

70.48282057040197

Korzystając z każdej z tych wartości, możemy zapisać równanie dopasowanego modelu regresji:

Wynik = 70,483 + 5,795 (godziny) – 1,158 (egzaminy)

Możemy następnie użyć tego równania, aby przewidzieć ocenę ucznia z egzaminu końcowego na podstawie liczby godzin spędzonych na nauce i liczby zdanych egzaminów praktycznych.

Przykładowo, student, który uczył się 3 godziny i zdał 2 egzaminy przygotowawcze, powinien otrzymać ocenę końcową 85,55 :

  • Wynik = 70,483 + 5,795 (godziny) – 1,158 (egzaminy)
  • Wynik = 70,483 + 5,795(3) – 1,158(2)
  • Wynik = 85,55

Powiązane: Jak interpretować współczynniki regresji

Dodatkowe zasoby

Poniższe samouczki wyjaśniają, jak wykonywać inne typowe operacje w Pythonie:

Jak wykonać prostą regresję liniową w Pythonie
Jak wykonać wielokrotną regresję liniową w Pythonie
Jak obliczyć AIC modeli regresji w Pythonie

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *