Як отримати коефіцієнти регресії з моделі scikit-learn


Ви можете використовувати наступний базовий синтаксис, щоб отримати коефіцієнти регресії з регресійної моделі, створеної за допомогою scikit-learn у Python:

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

У наступному прикладі показано, як використовувати цей синтаксис на практиці.

Приклад: витягти коефіцієнти регресії з моделі Scikit-Learn

Припустімо, що ми маємо наступний DataFrame pandas, який містить інформацію про вивчені години, кількість складених підготовчих іспитів і підсумкову оцінку іспиту, отриману 11 студентами в класі:

 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

Ми можемо використати наступний код, щоб підібрати модель множинної лінійної регресії , використовуючи години та іспити як змінні прогностики та оцінку як змінну відповіді:

 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)

Потім ми можемо використати такий синтаксис, щоб отримати коефіцієнти регресії годин та іспитів :

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

            0 1
0 hours 5.794521
1 exams -1.157647

З результату ми можемо побачити коефіцієнти регресії для двох предикторних змінних у моделі:

  • Коефіцієнт для годин : 5.794521
  • Коефіцієнт до іспитів : -1,157647

Якщо ми хочемо, ми також можемо використати наступний синтаксис, щоб отримати вихідне значення з регресійної моделі:

 #print intercept value
print (model. intercept_ )

70.48282057040197

Використовуючи кожне з цих значень, ми можемо написати рівняння для підігнаної моделі регресії:

Оцінка = 70,483 + 5,795 (години) – 1,158 (іспити)

Потім ми можемо використовувати це рівняння, щоб передбачити оцінку студента на підсумковому іспиті на основі кількості годин, витрачених на навчання, і кількості складених практичних іспитів.

Наприклад, студент, який провчився 3 години і склав 2 підготовчі іспити, має отримати підсумкову оцінку 85,55 :

  • Оцінка = 70,483 + 5,795 (години) – 1,158 (іспити)
  • Оцінка = 70,483 + 5,795(3) – 1,158(2)
  • Оцінка = 85,55

Пов’язане: Як інтерпретувати коефіцієнти регресії

Додаткові ресурси

У наступних посібниках пояснюється, як виконувати інші типові операції в Python:

Як виконати просту лінійну регресію в Python
Як виконати множинну лінійну регресію в Python
Як розрахувати AIC регресійних моделей у Python

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *