Como extrair coeficientes de regressão do modelo scikit-learn


Você pode usar a seguinte sintaxe básica para extrair coeficientes de regressão de um modelo de regressão construído com scikit-learn em Python:

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

O exemplo a seguir mostra como usar essa sintaxe na prática.

Exemplo: extrair coeficientes de regressão do modelo Scikit-Learn

Suponha que temos o seguinte DataFrame do pandas que contém informações sobre horas estudadas, número de exames preparatórios realizados e nota do exame final obtida por 11 alunos em uma turma:

 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

Podemos usar o código a seguir para ajustar um modelo de regressão linear múltipla usando horas e exames como variáveis preditoras e pontuação como variável de resposta:

 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)

Podemos então usar a seguinte sintaxe para extrair os coeficientes de regressão de horas e exames :

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

            0 1
0 hours 5.794521
1 exams -1.157647

A partir do resultado, podemos ver os coeficientes de regressão para as duas variáveis preditoras do modelo:

  • Coeficiente por horas : 5,794521
  • Coeficiente para exames : -1,157647

Se quisermos, também podemos usar a seguinte sintaxe para extrair o valor original do modelo de regressão:

 #print intercept value
print (model. intercept_ )

70.48282057040197

Usando cada um desses valores, podemos escrever a equação para o modelo de regressão ajustado:

Pontuação = 70,483 + 5,795 (horas) – 1,158 (exames)

Podemos então usar essa equação para prever a nota do exame final de um aluno com base no número de horas gastas estudando e no número de exames práticos realizados.

Por exemplo, um aluno que estudou 3 horas e fez 2 exames preparatórios deverá receber nota final de 85,55 :

  • Pontuação = 70,483 + 5,795 (horas) – 1,158 (exames)
  • Pontuação = 70,483 + 5,795(3) – 1,158(2)
  • Pontuação = 85,55

Relacionado: Como interpretar coeficientes de regressão

Recursos adicionais

Os tutoriais a seguir explicam como realizar outras operações comuns em Python:

Como realizar regressão linear simples em Python
Como realizar regressão linear múltipla em Python
Como calcular AIC de modelos de regressão em Python

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *