Construcción de Regresión Lineal Utilizando NumPy
Ya conoces qué es la regresión lineal simple y cómo encontrar la línea que mejor se ajusta a los datos. Ahora recorrerás todos los pasos para construir una regresión lineal utilizando un conjunto de datos real.
Carga de datos
Disponemos de un archivo, simple_height_data.csv, con los datos de nuestros ejemplos. Cargaremos el archivo y lo revisaremos:
123456import pandas as pd file_link = 'https://codefinity-content-media.s3.eu-west-1.amazonaws.com/b22d1166-efda-45e8-979e-6c3ecfc566fc/simple_height_data.csv' df = pd.read_csv(file_link) # Read the file print(df.head()) # Print the first 5 instances from a dataset
El conjunto de datos tiene dos columnas: la primera es 'Father', que es la característica de entrada, y la segunda es 'Height', que es nuestra variable objetivo.
Asignaremos los valores objetivo a la variable y y los valores de la característica a X, y construiremos un diagrama de dispersión.
1234X = df['Father'] # Assign the feature y = df['Height'] # Assign the target plt.scatter(X,y) # Build scatterplot plt.show()
Encontrar parámetros
Ahora, NumPy tiene una función útil para encontrar los parámetros de la regresión lineal.
La regresión lineal es una regresión polinómica de grado 1 (hablaremos sobre regresión polinómica en secciones posteriores). Por eso necesitamos establecer deg=1 para obtener los parámetros de la regresión lineal.
Aquí tienes un ejemplo:
123beta_1, beta_0 = np.polyfit(X, y, 1) # Get the parameters print('beta_0 is', beta_0) print('beta_1 is', beta_1)
Si no estás familiarizado con la sintaxis beta_1, beta_0 = np.polyfit(X,y,1), esto se llama desempaquetado. Si tienes un iterador (por ejemplo, una lista, un array de NumPy o una serie de pandas) que contiene dos elementos, escribir
a, b = my_iterator
es equivalente a
a = my_iterator[0]
b = my_iterator[1]
Y como el retorno de la función polyfit() es un array de NumPy con dos valores, se permite hacer esto.
Realización de predicciones
Ahora podemos graficar la línea y predecir nuevas variables utilizando los parámetros.
123plt.scatter(X,y) # Build a scatter plot plt.plot(X, beta_0 + beta_1 * X, color='red') # Plot the line plt.show()
Ahora que tenemos los parámetros, podemos utilizar la ecuación de regresión lineal para predecir nuevos valores.
123X_new = np.array([65, 70, 75]) # Feature values of new instances y_pred = beta_0 + beta_1 * X_new # Predict the target print('Predicted y: ', y_pred)
Por lo tanto, es bastante sencillo obtener los parámetros de la regresión lineal. Sin embargo, algunas bibliotecas también pueden proporcionarte información adicional.
¡Gracias por tus comentarios!
Pregunte a AI
Pregunte a AI
Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla
Genial!
Completion tasa mejorada a 5.26
Construcción de Regresión Lineal Utilizando NumPy
Desliza para mostrar el menú
Ya conoces qué es la regresión lineal simple y cómo encontrar la línea que mejor se ajusta a los datos. Ahora recorrerás todos los pasos para construir una regresión lineal utilizando un conjunto de datos real.
Carga de datos
Disponemos de un archivo, simple_height_data.csv, con los datos de nuestros ejemplos. Cargaremos el archivo y lo revisaremos:
123456import pandas as pd file_link = 'https://codefinity-content-media.s3.eu-west-1.amazonaws.com/b22d1166-efda-45e8-979e-6c3ecfc566fc/simple_height_data.csv' df = pd.read_csv(file_link) # Read the file print(df.head()) # Print the first 5 instances from a dataset
El conjunto de datos tiene dos columnas: la primera es 'Father', que es la característica de entrada, y la segunda es 'Height', que es nuestra variable objetivo.
Asignaremos los valores objetivo a la variable y y los valores de la característica a X, y construiremos un diagrama de dispersión.
1234X = df['Father'] # Assign the feature y = df['Height'] # Assign the target plt.scatter(X,y) # Build scatterplot plt.show()
Encontrar parámetros
Ahora, NumPy tiene una función útil para encontrar los parámetros de la regresión lineal.
La regresión lineal es una regresión polinómica de grado 1 (hablaremos sobre regresión polinómica en secciones posteriores). Por eso necesitamos establecer deg=1 para obtener los parámetros de la regresión lineal.
Aquí tienes un ejemplo:
123beta_1, beta_0 = np.polyfit(X, y, 1) # Get the parameters print('beta_0 is', beta_0) print('beta_1 is', beta_1)
Si no estás familiarizado con la sintaxis beta_1, beta_0 = np.polyfit(X,y,1), esto se llama desempaquetado. Si tienes un iterador (por ejemplo, una lista, un array de NumPy o una serie de pandas) que contiene dos elementos, escribir
a, b = my_iterator
es equivalente a
a = my_iterator[0]
b = my_iterator[1]
Y como el retorno de la función polyfit() es un array de NumPy con dos valores, se permite hacer esto.
Realización de predicciones
Ahora podemos graficar la línea y predecir nuevas variables utilizando los parámetros.
123plt.scatter(X,y) # Build a scatter plot plt.plot(X, beta_0 + beta_1 * X, color='red') # Plot the line plt.show()
Ahora que tenemos los parámetros, podemos utilizar la ecuación de regresión lineal para predecir nuevos valores.
123X_new = np.array([65, 70, 75]) # Feature values of new instances y_pred = beta_0 + beta_1 * X_new # Predict the target print('Predicted y: ', y_pred)
Por lo tanto, es bastante sencillo obtener los parámetros de la regresión lineal. Sin embargo, algunas bibliotecas también pueden proporcionarte información adicional.
¡Gracias por tus comentarios!