Polyfit numpy

Polyfit numpy
La regresión lineal es el primer paso para aprender ciencia de datos. Entonces, incluso si es nuevo en este campo, debe comprender estos conceptos porque estos algoritmos son utilizados principalmente por investigadores de ciencias de datos. Estos algoritmos también son fáciles de entender para comenzar el viaje de aprendizaje automático.

En este tutorial, veremos el modelo de regresión numpy (polyfit).

La función numpy.Polyfit () encuentra la mejor línea de ajuste minimizando la suma del error al cuadrado. Este método acepta tres parámetros:

  1. X - Datos de entrada
  2. Datos de salida Y-
  3. Valor de grado polinomial (entero)

Entonces, comencemos el proceso paso a paso para usar el método Polyfit.

Paso 1: Importar toda la biblioteca y paquetes requeridos para ejecutar este programa.

Línea 91: importamos la biblioteca Numpy y Matplotlib. El polyfit Automáticamente viene bajo el Numpy, por lo que no es necesario importar. El matplotlib se usa para trazar los datos y matplotlib en línea se usa para dibujar el gráfico dentro del cuaderno Jupyter en sí.

importar numpy como np
Importar matplotlib.Pyplot como PLT
%Matplotlib en línea

Paso 2: Ahora, nuestro próximo paso es crear un conjunto de datos (x e y).

Línea 83: Generamos aleatoriamente los datos X e Y.

x = [28, 8, 11, 37, 15, 25, 51, 11, 32, 34, 43, 2, 40, 16, 40, 25, 40, 17, 21, 57]
y = [8, 8, 9, 72, 22, 51, 85, 4, 75, 48, 72, 1, 62, 37, 75, 42, 75, 47, 57, 95]

Paso 3: Solo vamos a trazar la función (x) y el objetivo (y) en el gráfico como se muestra a continuación:

PLT.dispersión (x, y)

Etapa 4: En este paso, vamos a ajustar la línea en los datos X e Y.

Este paso es muy fácil porque vamos a usar el concepto del método de polyfit. El método Polyfit viene directamente con el Numpy como se muestra arriba. Este método acepta tres parámetros:

  1. X - Datos de entrada
  2. Datos de salida Y-
  3. Valor de grado polinomial (entero)

En este programa, estamos utilizando el valor de grado polinomio 1, que dice que es un polinomio de primer grado. Pero también podemos usarlo para polinomio de segundo y tercer grado.

1 modelo = np.Polyfit (x, y, 1)

Cuando presionamos el Enter, el polyfit calcula el modelo de regresión lineal y almacena el modelo de variable lateral de la derecha.

Lógica detrás de la línea de ajuste

Entonces, podemos ver que solo golpea la tecla ENTER y obtuvimos el modelo de regresión lineal. Así que ahora estamos pensando que, lo que realmente funciona detrás de este método y cómo encajan la línea.

El método que funciona detrás del método de polyfit se llama Método de mínimos cuadrados ordinarios. Algunas personas llamaron esto con el nombre corto OLS. Los usuarios usan comúnmente para que se ajusten a la línea. La razón detrás es que es muy fácil de usar y también da una precisión por encima del 90%.

Veamos cómo funciona OLS:

Primero, necesitamos saber sobre el error. El error se calcula a través de la diferencia entre los datos X e Y.

Por ejemplo, Encajamos en una línea en el modelo de regresión que se ve a continuación:

Los puntos azules son los puntos de datos y la línea roja que encajamos en los puntos de datos utilizando el método PolyFit.

Supongamos que x = 24 e y = 58

Cuando ajustamos la línea, la línea calcula el valor de y = 44.3. La diferencia entre el valor real y calculado es el error para el punto de datos específico.

Entonces, el método OLS (ordinario mínimo cuadrado) calcula el ajuste utilizando los pasos a continuación:

1. Calcula el error entre el modelo ajustado y los puntos de datos.

2. Luego cuadran cada uno de los puntos de datos de datos.

3. Sume todo el error de puntos de datos cuadrados.

4. Finalmente, identifique la línea donde esta suma del error cuadrado es mínimo.

Entonces, el polyfit utiliza los métodos anteriores para adaptarse a la línea.

Paso 5: Modelo

Hemos hecho nuestra parte de codificación de aprendizaje automático. Ahora, podemos verificar los valores de x e y que se almacenan en las variables del modelo. Para verificar el valor X e Y, tenemos que imprimir el modelo como se muestra a continuación:

Finalmente, obtuvimos una ecuación de esquema:

y = 1.75505212 * x - 1.27719099

Al usar esta ecuación lineal, podemos obtener el valor de y.

La ecuación lineal anterior también se puede resolver utilizando el método Ploy1d () como a continuación:

predecir = np.Poly1D (modelo)
x_value = 20
Predicte (x_value)

Obtuvimos el resultado 33.82385131766588.

También obtuvimos el mismo resultado del cálculo manual:

y = 1.75505212 * 20 - 1.27719099

y = 33.82385131766588

Entonces, ambos resultados anteriores muestran que nuestro modelo se ajusta correctamente a la línea.

Paso 6: Precisión del modelo

También podemos verificar la precisión del modelo, o da resultados correctos o no. La precisión del modelo se puede calcular a partir del R-cuadrado (R2). El valor del R-cuadrado (R2) es entre 0 y 1. El resultado cercano a 1 mostrará que la precisión del modelo es alta. Entonces, verifiquemos la precisión del modelo anterior. Importaremos otra biblioteca, Sklearn, como se muestra a continuación:

de Sklearn.Métricas Importar R2_Score
r2_score (y, predecir (x))

El resultado muestra que está cerca de 1, por lo que su precisión es alta.

Paso 7: Trazar el modelo

El trazado es el método para ver la línea ajustada del modelo en los puntos de datos visualmente. Proporciona una imagen clara del modelo.

x_axis = rango (0, 60)
y_axis = predicto (x_axis)
PLT.dispersión (x, y)
PLT.Plot (x_axis, y_axis, c = 'g')

A continuación se da una explicación rápida para el método de trazado anterior:

Línea 1: Es el rango que queremos mostrar en la trama. En nuestro código, estamos utilizando el valor de rango de 0 a 60.

Línea 2: Se calcularán todos los valores de rango de 0 a 60.

Línea 3: Pasamos esos conjuntos de datos originales X e Y al método de dispersión.

Línea 4: Finalmente trazamos nuestro gráfico, y la línea verde es la línea de ajuste como se muestra en el gráfico anterior.

Conclusión

En este artículo, hemos aprendido el modelo de regresión lineal, que es el comienzo del viaje del aprendizaje automático. Hay una serie de modelos de regresión que se explican en otro artículo. Aquí, tenemos un conjunto de datos limpio porque fue un muñeco, pero en proyectos de la vida real, puede obtener un conjunto de datos sucio y debe hacer una ingeniería de funciones para limpiar el conjunto de datos para usar en el modelo. Si no comprende completamente este tutorial, incluso eso le ayuda a aprender otro modelo de regresión fácilmente.

El modelo de regresión de línea es el algoritmo más común utilizado por Data Science. Debe tener ideas sobre el modelo de regresión si desea tener su carrera en este campo. Entonces, manténgase en contacto y pronto volveremos con un nuevo artículo de ciencia de datos.

El código de este artículo está disponible en el enlace GitHub:
https: // github.com/shekharpandey89/regresión lineal-en-python-using-numpy-polyfit