¿Cómo implementar la regresión lineal para el aprendizaje automático?



Este artículo cubre el concepto de regresión lineal para el aprendizaje automático con varias terminologías y un caso de uso para implementar la regresión lineal.

El foco de gira en torno a las variables de entrada y salida utilizando un algoritmo para predecir el resultado. Si entra en escena una nueva variable de entrada. El algoritmo de regresión lineal en es una técnica de aprendizaje supervisado para aproximar la función de mapeo para obtener las mejores predicciones. En este artículo, aprenderemos sobre la regresión lineal para el aprendizaje automático. Los siguientes temas se tratan en este blog.

¿Qué es la regresión?

El objetivo principal de la regresión es la construcción de un modelo eficiente para predecir los atributos dependientes a partir de un grupo de variables de atributos. Un problema de regresión es cuando la variable de salida es real o un valor continuo, es decir, salario, peso, área, etc.





También podemos definir la regresión como un medio estadístico que se utiliza en aplicaciones como vivienda, inversión, etc. Se utiliza para predecir la relación entre una variable dependiente y un grupo de variables independientes. Echemos un vistazo a varios tipos de técnicas de regresión.

ejemplo-regresión lineal en el aprendizaje automático - edureka

Tipos de regresión

Los siguientes son tipos de regresión.



  1. Regresión lineal simple
  2. Regresión polinomial
  3. Regresión vectorial de soporte
  4. Regresión del árbol de decisión
  5. Regresión aleatoria de bosque

Regresión lineal simple

Una de las técnicas de regresión más interesantes y comunes es la regresión lineal simple. En esto, predecimos el resultado de una variable dependiente en función de las variables independientes, la relación entre las variables es lineal. De ahí la palabra regresión lineal.

regresión logística en código python

Regresión polinomial

En esta técnica de regresión, transformamos las características originales en características polinomiales de un grado dado y luego realizamos la regresión en ellas.

Regresión vectorial de soporte

Xa regresión o SVR, identificamos un hiperplano con un margen máximo de modo que el número máximo de puntos de datos esté dentro de esos márgenes. Es bastante similar al algoritmo de clasificación de la máquina de vectores de soporte.



Regresión del árbol de decisión

A se puede utilizar tanto para regresión como para . En el caso de la regresión, utilizamos el algoritmo ID3 (dicotomizador iterativo 3) para identificar el nodo de división reduciendo la desviación estándar.

Regresión aleatoria de bosque

En la regresión de bosque aleatoria, agrupamos las predicciones de varias regresiones de árboles de decisión. Ahora que conocemos los diferentes tipos de regresión, echemos un vistazo a la regresión lineal simple en detalle.

¿Qué es la regresión lineal?

La regresión lineal simple es una técnica de regresión en la que la variable independiente tiene una relación lineal con la variable dependiente. La línea recta del diagrama es la línea que mejor se ajusta. El objetivo principal de la regresión lineal simple es considerar los puntos de datos dados y trazar la línea de mejor ajuste para ajustar el modelo de la mejor manera posible.

Antes de pasar a cómo funciona el algoritmo de regresión lineal, echemos un vistazo a algunas terminologías importantes en regresión lineal simple.

Terminologías de regresión lineal

Es importante familiarizarse con las siguientes terminologías antes de pasar al algoritmo de regresión lineal.

Función de costo

La línea de mejor ajuste puede basarse en la ecuación lineal que se muestra a continuación.

  • La variable dependiente que se va a predecir se denota con Y.
  • Una línea que toca el eje y se denota por la intersección b0.
  • b1es la pendiente de la recta, x representa las variables independientes que determinan la predicción de Y.
  • El error en la predicción resultante se denota por e.

La función de costo proporciona los mejores valores posibles para b0y B1para hacer la línea que mejor se ajuste a los puntos de datos. Lo hacemos convirtiendo este problema en un problema de minimización para obtener los mejores valores de b0y B1. El error se minimiza en este problema entre el valor real y el valor predicho.

Elegimos la función anterior para minimizar el error. Elevamos al cuadrado la diferencia de error y sumamos el error sobre todos los puntos de datos, la división entre el número total de puntos de datos. Luego, el valor producido proporciona el error cuadrático promedio sobre todos los puntos de datos.

También se conoce como MSE (Mean Squared Error), y cambiamos los valores de b0y B1de modo que el valor de MSE se establezca al mínimo.

Descenso de gradiente

La siguiente terminología importante para comprender la regresión lineal es descenso de gradiente. Es un método de actualización b0y B1valores para reducir el MSE. La idea detrás de esto es seguir iterando el b0y B1valores hasta que reduzcamos el MSE al mínimo.

Para actualizar b0y B1, tomamos gradientes de la función de costo. Para encontrar estos gradientes, tomamos derivadas parciales con respecto a b0y B1. Estas derivadas parciales son los gradientes y se utilizan para actualizar los valores de b0y B1.

Una tasa de aprendizaje menor se acerca más al mínimo, pero lleva más tiempo y en el caso de una tasa de aprendizaje mayor. El tiempo necesario es más rápido, pero existe la posibilidad de sobrepasar el valor mínimo. Ahora que hemos terminado con las terminologías en regresión lineal, echemos un vistazo a algunas ventajas y desventajas de la regresión lineal para el aprendizaje automático.

Ventajas y desventajas

Ventajas Desventajas
La regresión lineal funciona excepcionalmente bien para datos separables linealmenteEl supuesto de linealidad entre variables dependientes e independientes
Más fácil de implementar, interpretar y eficiente de entrenarSuele ser bastante propenso al ruido y al sobreajuste.
Maneja el sobreajuste bastante bien usando técnicas de reducción dimensional, regularización y validación cruzada.La regresión lineal es bastante sensible a los valores atípicos
Una ventaja más es la extrapolación más allá de un conjunto de datos específicoEs propenso a la multicolinealidad.

Casos de uso de regresión lineal

  • Pronóstico de ventas

  • Análisis de riesgo

  • Aplicaciones de vivienda para predecir los precios y otros factores

    operador de resolución de alcance c ++
  • Aplicaciones financieras para predecir precios de acciones, evaluación de inversiones, etc.

La idea básica detrás de la regresión lineal es encontrar la relación entre las variables dependientes e independientes. Se utiliza para obtener la línea de mejor ajuste que predeciría el resultado con el menor error. Podemos usar la regresión lineal en situaciones simples de la vida real, como predecir los puntajes del SAT con respecto al número de horas de estudio y otros factores decisivos.

Con esto en mente, echemos un vistazo a un caso de uso.

Caso de uso: implementación de regresión lineal

El proceso se desarrolla en los siguientes pasos:

  1. Cargando los datos
  2. Explorando los datos
  3. Cortar los datos
  4. Entrenar y dividir datos
  5. Generar el modelo
  6. Evaluar la precisión

Entremos en los detalles de cada uno de los pasos para implementar la regresión lineal.

1. Cargando los datos

Podemos comenzar con el conjunto de datos básicos de diabetes que ya está presente en el módulo de conjuntos de datos sklearn (scikit-learn) para comenzar nuestro viaje con regresión lineal.

de sklearn importar conjuntos de datos enfermedad = conjuntos de datos.load_diabetes () imprimir (enfermedad)

Salida:

2. Explorando los datos

Una vez que hayamos terminado de cargar los datos, podemos comenzar a explorar simplemente verificando las etiquetas usando el siguiente código.

imprimir (enfermedad.keys ())

Salida:

El código anterior proporciona todas las etiquetas del conjunto de datos, después de esto, podemos dividir los datos para que podamos trazar la línea al final. También usaremos todos los puntos de datos, por ahora, cortaremos la columna 2 de los datos.

importar numpy como np disease_X = disease.data [:, np.newaxis, 2] print (disease_X)

Salida:

Después de este paso, dividiremos los datos en tren y conjunto de prueba.

3. División de los datos

enfermedad_X_train = enfermedad_X [: - 30] enfermedad_X_prueba = enfermedad_X [-20:] enfermedad_Y_train = enfermedad.target [: - 30] enfermedad_Y_test = enfermedad.target [-20:]

La siguiente parte implica generar el modelo, que incluirá la importación de linear_model desde sklearn.

4. Generación del modelo

¿Qué método se esconde en java?
from sklearn import linear_model reg = linear_model.LinearRegression () reg.fit (enfermedad_X_train, enfermedad_Y_train) y_predict = reg.predict (enfermedad_X_test)

Para evaluar la precisión del modelo, usaremos el error cuadrático medio de scikit-learn.

5. Evaluación

precision = mean_squared_error (enfermedad_Y_test, y_predict,) print (precisión) weights = reg.coef_ intercept = reg.intercept_ print (pesos, intersección)

Salida:

Para tener más claridad sobre cómo se ven los puntos de datos en el gráfico, tracemos los gráficos también.

importar matplotlib.pyplot como plt plt.scatter (enfermedad_X_prueba, enfermedad_Y_prueba) plt.plot (enfermedad_X_prueba, y_predicto) plt.show ()

Salida:

Para obtener un modelo más preciso en este escenario, podemos usar todos los datos en lugar de solo la columna 2. Eso daría una precisión como se muestra a continuación:

#haga un pequeño cambio en el código anterior y elimine el código de trazado para evitar errores disease_X = disease.data

Salida:

Esto nos lleva al final de este artículo donde hemos aprendido sobre la regresión lineal para el aprendizaje automático. Espero que tengas claro todo lo que se ha compartido contigo en este tutorial.

Si encuentra relevante este artículo sobre 'Regresión lineal para el aprendizaje automático', consulte la una empresa de aprendizaje en línea de confianza con una red de más de 250.000 alumnos satisfechos repartidos por todo el mundo.

Si tiene alguna pregunta, no dude en hacer todas sus preguntas en la sección de comentarios de 'Regresión lineal para el aprendizaje automático' y nuestro equipo estará encantado de responder.