Cara mengekstrak koefisien regresi dari model scikit-learn


Anda dapat menggunakan sintaks dasar berikut untuk mengekstrak koefisien regresi dari model regresi yang dibuat dengan scikit-learn dengan Python:

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

Contoh berikut menunjukkan cara menggunakan sintaksis ini dalam praktiknya.

Contoh: mengekstrak koefisien regresi dari model Scikit-Learn

Misalkan kita memiliki DataFrame panda berikut yang berisi informasi tentang jam belajar, jumlah ujian persiapan yang diambil, dan nilai ujian akhir yang diperoleh 11 siswa dalam satu kelas:

 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

Kita dapat menggunakan kode berikut untuk menyesuaikan model regresi linier berganda dengan menggunakan jam kerja dan ujian sebagai variabel prediktor dan skor sebagai variabel respons:

 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)

Kita kemudian dapat menggunakan sintaks berikut untuk mengekstrak koefisien regresi jam dan ujian :

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

            0 1
0 hours 5.794521
1 exams -1.157647

Dari hasilnya terlihat koefisien regresi kedua variabel prediktor dalam model:

  • Koefisien jam : 5.794521
  • Koefisien ujian : -1.157647

Jika mau, kita juga bisa menggunakan sintaks berikut untuk mengekstrak nilai asli dari model regresi:

 #print intercept value
print (model. intercept_ )

70.48282057040197

Dengan menggunakan masing-masing nilai ini, kita dapat menulis persamaan untuk model regresi yang sesuai:

Nilai = 70.483 + 5.795 (jam) – 1.158 (ujian)

Kita kemudian dapat menggunakan persamaan ini untuk memprediksi nilai ujian akhir siswa berdasarkan jumlah jam yang dihabiskan untuk belajar dan jumlah ujian praktik yang diambil.

Misalnya, seorang siswa yang belajar selama 3 jam dan mengikuti 2 ujian persiapan akan mendapat nilai akhir 85,55 :

  • Nilai = 70.483 + 5.795 (jam) – 1.158 (ujian)
  • Skor = 70.483 + 5.795(3) – 1.158(2)
  • Skor = 85,55

Terkait: Bagaimana Menafsirkan Koefisien Regresi

Sumber daya tambahan

Tutorial berikut menjelaskan cara melakukan operasi umum lainnya dengan Python:

Cara melakukan regresi linier sederhana dengan Python
Cara melakukan regresi linier berganda dengan Python
Cara menghitung AIC model regresi dengan Python

Tambahkan komentar

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *