Cómo obtener el resumen del modelo de regresión de Scikit-Learn

En este artículo, veremos cómo obtener un resumen del modelo de regresión de sci-kit learn.

Se puede hacer de estas formas:

  • Paquetes de aprendizaje de Scikit
  • Paquete de modelo de estadísticas

Ejemplo 1: uso de scikit-learn .

Es posible que desee extraer un resumen de un modelo de regresión creado en Python con Scikit-learn. Scikit-learn no tiene muchas funciones integradas para analizar el resumen de un modelo de regresión porque generalmente se usa para la predicción. Scikit learn tiene diferentes atributos y métodos para obtener el resumen del modelo.

Importamos los paquetes necesarios. Luego, el conjunto de datos del iris se carga desde sklearn.datasets. Y se crean arrays de características y objetivos, luego se crean conjuntos de prueba y entrenamiento usando el método train_test_split() y se crea el modelo de regresión lineal simple, luego se ajustan los datos de entrenamiento en el modelo y se llevan a cabo predicciones en el conjunto de prueba usando .predict( ) método.

Python3

# Import packages
from sklearn.linear_model import LinearRegression
from sklearn.model_selection import train_test_split
from sklearn.datasets import load_iris
  
# Load the data
irisData = load_iris()
  
# Create feature and target arrays
X = irisData.data
y = irisData.target
  
# Split data into train and test sets
X_train, X_test, y_train, y_test = train_test_split(
    X, y, test_size=0.2, random_state=42)
  
model = LinearRegression()
  
model.fit(X_train, y_train)
  
# predicting on the X_test data set
print(model.predict(X_test))
  
# summary of the model
print('model intercept :', model.intercept_)
print('model coefficients : ', model.coef_)
print('Model score : ', model.score(X, y))

Producción:

[ 1.23071715 -0.04010441 2.21970287 1.34966889 1.28429336 0.02248402

  1.05726124 1.82403704 1.36824643 1.06766437 1.70031437 -0.07357413

 -0.15562919 -0.06569402 -0.02128628 1.39659966 2.00022876 1.04812731

  1.28102792 1.97283506 0.03184612 1.59830192 0.09450931 1.91807547

  1.83296682 1.87877315 1.78781234 2.03362373 0.03594506 0.02619043]

intercepción del modelo: 0.2525275898181484

coeficientes del modelo: [-0.11633479 -0.05977785 0.25491375 0.54759598]

Puntuación del modelo: 0.9299538012397455

Ejemplo 2: Usar el método summary() del paquete del modelo Stats

En este método, usamos statsmodels. Paquete fórmula.api. Si desea extraer un resumen de un modelo de regresión en Python, debe usar el paquete statsmodels. El siguiente código demuestra cómo usar este paquete para ajustar el mismo modelo de regresión lineal múltiple que en el ejemplo anterior y obtener el resumen del modelo.

Para acceder y descargar el archivo CSV haga clic aquí .

Python3

# import packages
import numpy as np
import pandas as pd
import statsmodels.formula.api as smf
  
# loading the csv file
df = pd.read_csv('headbrain1.csv')
print(df.head())
  
# fitting the model
df.columns = ['Head_size', 'Brain_weight']
model = smf.ols(formula='Head_size ~ Brain_weight',
                data=df).fit()
  
# model summary
print(model.summary())

Producción:

 

Descripción de algunos de los términos de la tabla:

  • Valor de R-cuadrado: El valor de R-cuadrado varía de 0 a 1. Un R-cuadrado de 100% indica que los cambios en la variable independiente explican completamente todos los cambios en la(s) variable(s) dependiente(s). Si el valor de r-cuadrado es 1, indica un ajuste perfecto. El valor de r-cuadrado en nuestro ejemplo es 0,638.
  • Estadística F: La estadística F compara el efecto combinado de todas las variables. En pocas palabras, si su nivel alfa es mayor que su valor p, debe rechazar la hipótesis nula.
  • coef: los coeficientes de las variables independientes de la ecuación de regresión.

Nuestras predicciones:

Si usamos 0.05 como nuestro nivel de significancia, rechazamos la hipótesis nula y aceptamos la hipótesis alternativa como p< 0.05. Como resultado, podemos concluir que existe una relación entre el tamaño de la cabeza y el peso del cerebro.

Publicación traducida automáticamente

Artículo escrito por isitapol2002 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *