Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprende Construcción de Regresión Lineal Utilizando NumPy | Regresión Lineal Simple
Regresión Lineal con Python
course content

Contenido del Curso

Regresión Lineal con Python

Regresión Lineal con Python

1. Regresión Lineal Simple
2. Regresión Lineal Múltiple
3. Regresión Polinómica
4. Elegir el Mejor Modelo

book
Construcción de Regresión Lineal Utilizando NumPy

Ya sabes 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:

123456
import 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
copy

Así que 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 nuestros valores objetivo a la variable y y los valores de la característica a X y construiremos un diagrama de dispersión.

12345678910
import pandas as pd import matplotlib.pyplot as plt 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 X = df['Father'] # Assign the feature y = df['Height'] # Assign the target plt.scatter(X,y) # Build scatterplot plt.show()
copy

Encontrar los 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 de la 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:

12345678910
import pandas as pd import numpy as np 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 files X, y = df['Father'], df['Height'] # Assign the variables beta_1, beta_0 = np.polyfit(X, y, 1) # Get the parameters print('beta_0 is', beta_0) print('beta_1 is', beta_1)
copy
Note
Nota

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 lo mismo que

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 las predicciones

Ahora podemos graficar la recta y predecir nuevas variables utilizando los parámetros.

123456789101112
import pandas as pd import numpy as np import matplotlib.pyplot as plt 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 X, y = df['Father'], df['Height'] # Assign the variables beta_1, beta_0 = np.polyfit(X, y, 1) # Get the parameters plt.scatter(X,y) # Build a scatter plot plt.plot(X, beta_0 + beta_1 * X, color='red') # Plot the line plt.show()
copy

Ahora que tenemos los parámetros, podemos utilizar la ecuación de regresión lineal para predecir nuevos valores.

1234567891011
import pandas as pd import numpy as np import matplotlib.pyplot as plt 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 X, y = df['Father'], df['Height'] # Assign the variables beta_1, beta_0 = np.polyfit(X, y, 1) # Get the parameters X_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)
copy

Por lo tanto, es bastante sencillo obtener los parámetros de la regresión lineal. Sin embargo, algunas bibliotecas también pueden proporcionar información adicional.

question mark

Puede encontrar los parámetros de la Regresión Lineal Simple utilizando la función de NumPy:

Select the correct answer

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 1. Capítulo 3

Pregunte a AI

expand

Pregunte a AI

ChatGPT

Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla

course content

Contenido del Curso

Regresión Lineal con Python

Regresión Lineal con Python

1. Regresión Lineal Simple
2. Regresión Lineal Múltiple
3. Regresión Polinómica
4. Elegir el Mejor Modelo

book
Construcción de Regresión Lineal Utilizando NumPy

Ya sabes 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:

123456
import 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
copy

Así que 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 nuestros valores objetivo a la variable y y los valores de la característica a X y construiremos un diagrama de dispersión.

12345678910
import pandas as pd import matplotlib.pyplot as plt 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 X = df['Father'] # Assign the feature y = df['Height'] # Assign the target plt.scatter(X,y) # Build scatterplot plt.show()
copy

Encontrar los 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 de la 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:

12345678910
import pandas as pd import numpy as np 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 files X, y = df['Father'], df['Height'] # Assign the variables beta_1, beta_0 = np.polyfit(X, y, 1) # Get the parameters print('beta_0 is', beta_0) print('beta_1 is', beta_1)
copy
Note
Nota

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 lo mismo que

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 las predicciones

Ahora podemos graficar la recta y predecir nuevas variables utilizando los parámetros.

123456789101112
import pandas as pd import numpy as np import matplotlib.pyplot as plt 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 X, y = df['Father'], df['Height'] # Assign the variables beta_1, beta_0 = np.polyfit(X, y, 1) # Get the parameters plt.scatter(X,y) # Build a scatter plot plt.plot(X, beta_0 + beta_1 * X, color='red') # Plot the line plt.show()
copy

Ahora que tenemos los parámetros, podemos utilizar la ecuación de regresión lineal para predecir nuevos valores.

1234567891011
import pandas as pd import numpy as np import matplotlib.pyplot as plt 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 X, y = df['Father'], df['Height'] # Assign the variables beta_1, beta_0 = np.polyfit(X, y, 1) # Get the parameters X_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)
copy

Por lo tanto, es bastante sencillo obtener los parámetros de la regresión lineal. Sin embargo, algunas bibliotecas también pueden proporcionar información adicional.

question mark

Puede encontrar los parámetros de la Regresión Lineal Simple utilizando la función de NumPy:

Select the correct answer

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 1. Capítulo 3
some-alt