Regresión-Lineal-Scikit-Learn

Algoritmos-ML

Nota: (Este ejemplo de regresión lineal basado en los ejemplos del docs de (Scikit-Learn) utilizaremos el conjunto de datos diabetes para ilustrar los puntos de datos dentro del gráfico en el cual podemos ver la línea recta, que muestra cómo la regresión lineal intenta dibujar una línea recta que minimice mejor la suma residual de cuadrados entre el conjunto datos y las respuestas predichas por la aproximación lineal. Se calculan los coeficientes, suma residual de cuadrados y el coeficiente de determinación).

 

Algoritmos-Regresión-Lineal (Scikit-Learn)

# Importamos las Librerias

  • In: import matplotlib.pyplot as plt
  • In: import numpy as np
  • In: from sklearn import datasets, linear_model
  • In: from sklearn.metrics import mean_squared_error, r2_score

# Cargar el conjunto de datos

# Usa solo una característica

# Dividir los datos en un conjuntos de entrenamiento y prueba

  • In: diabetes_X_train = diabetes_X[:-20]
  • In: diabetes_X_test = diabetes_X[-20:]

# Dividir los objetivos en un conjuntos de entrenamiento y prueba

  • In: diabetes_y_train = diabetes_y[:-20]
  • In: diabetes_y_test = diabetes_y[-20:]

Nota: Los datos usados datasets.load_diabetes real mente tenemos mucho lugares Web con este tipo de archivos de de datos muy variados este que nos ocupa lo tenemos Scikit-Learn.

# Crear objeto de regresión lineal

# Entrena al modelo usando los conjuntos de entrenamiento

  • In: regr.fit(diabetes_X_train, diabetes_y_train)
  • Out: LinearRegression()

# Hacer predicciones usando el conjunto de prueba

  • In: diabetes_y_pred = regr.predict(diabetes_X_test)

# Los coeficientes

  • In: print(«Coefficients: \n», regr.coef_)
  • Out: Coefficients:
  • [938.23786125]

# El error cuadrático medio

  • In: print(«Mean squared error: %.2f» % mean_squared_error(diabetes_y_test, diabetes_y_pred))
  • Out: Mean squared error: 2548.07

# El coeficiente de determinación: 1 es la predicción perfecta

  • In: print(«Coefficient of determination: %.2f» % r2_score(diabetes_y_test, diabetes_y_pred))
  • Out: Coefficient of determination: 0.47

# Plot outputs

  • In: plt.scatter(diabetes_X_test, diabetes_y_test, color=«black»)
  • In: plt.plot(diabetes_X_test, diabetes_y_pred, color=«blue», linewidth=3)
  • In: plt.xticks(())
  • In: plt.yticks(())
  • In: plt.show()

 

Recopilando:

Puesta en acción del Algoritmos-Regresión-Lineal (Scikit-Learn) en este caso la la predicción perfecta seria 1 en este caso tenemos un Coefficient of determination: 0.47 un poco lejos del 1, como practica lo podemos dar como bueno.