Construcción de Regresión Lineal Múltiple
La clase LinearRegression permite construir una Regresión Lineal Múltiple de la misma manera que una Regresión Lineal Simple. Gestiona automáticamente múltiples características (columnas) en la matriz de entrada.
Preparación de los datos
Disponemos del mismo conjunto de datos del ejemplo de regresión lineal simple, pero ahora incluye la altura de la madre como segunda característica. Lo cargaremos y observaremos su variable X:
12345678import pandas as pd file_link='https://codefinity-content-media.s3.eu-west-1.amazonaws.com/b22d1166-efda-45e8-979e-6c3ecfc566fc/heights_two_feature.csv' df = pd.read_csv(file_link) # Open the file # Assign the variables X = df[['Father', 'Mother']] y = df['Height'] print(X.head())
Por defecto, el parámetro fit_intercept=True está activado, por lo que el modelo calcula automáticamente el término de sesgo ()!
Podemos pasar el DataFrame X (que ya es 2D) directamente al modelo.
Encontrar los parámetros
¡Excelente! Ahora podemos construir el modelo, encontrar los parámetros y realizar predicciones.
12345678910111213141516171819202122from sklearn.linear_model import LinearRegression import numpy as np # Initialize the model model = LinearRegression() # Train the model (No need to add constant!) model.fit(X, y) # Get the parameters beta_0 = model.intercept_ beta_1 = model.coef_[0] # Coefficient for 'Father' beta_2 = model.coef_[1] # Coefficient for 'Mother' print('beta_0 is: ', beta_0) print('beta_1 is: ', beta_1) print('beta_2 is: ', beta_2) # Predict new values # Feature values of new instances: [[Father, Mother], [Father, Mother], ...] X_new = np.array([[65, 62], [70, 65], [75, 70]]) y_pred = model.predict(X_new) # Predict the target print('Predictions:', y_pred)
Ahora que nuestro conjunto de entrenamiento tiene 2 características, debemos proporcionar 2 características para cada nueva instancia que deseamos predecir. Por eso se utilizó np.array([[65, 62],[70, 65],[75, 70]]).
Además, ten en cuenta que model.coef_ devuelve un arreglo de coeficientes que corresponde al orden de las columnas en X. Como X era ['Father', 'Mother'], coef_[0] es la pendiente para Father y coef_[1] es para Mother.
¡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 3.33
Construcción de Regresión Lineal Múltiple
Desliza para mostrar el menú
La clase LinearRegression permite construir una Regresión Lineal Múltiple de la misma manera que una Regresión Lineal Simple. Gestiona automáticamente múltiples características (columnas) en la matriz de entrada.
Preparación de los datos
Disponemos del mismo conjunto de datos del ejemplo de regresión lineal simple, pero ahora incluye la altura de la madre como segunda característica. Lo cargaremos y observaremos su variable X:
12345678import pandas as pd file_link='https://codefinity-content-media.s3.eu-west-1.amazonaws.com/b22d1166-efda-45e8-979e-6c3ecfc566fc/heights_two_feature.csv' df = pd.read_csv(file_link) # Open the file # Assign the variables X = df[['Father', 'Mother']] y = df['Height'] print(X.head())
Por defecto, el parámetro fit_intercept=True está activado, por lo que el modelo calcula automáticamente el término de sesgo ()!
Podemos pasar el DataFrame X (que ya es 2D) directamente al modelo.
Encontrar los parámetros
¡Excelente! Ahora podemos construir el modelo, encontrar los parámetros y realizar predicciones.
12345678910111213141516171819202122from sklearn.linear_model import LinearRegression import numpy as np # Initialize the model model = LinearRegression() # Train the model (No need to add constant!) model.fit(X, y) # Get the parameters beta_0 = model.intercept_ beta_1 = model.coef_[0] # Coefficient for 'Father' beta_2 = model.coef_[1] # Coefficient for 'Mother' print('beta_0 is: ', beta_0) print('beta_1 is: ', beta_1) print('beta_2 is: ', beta_2) # Predict new values # Feature values of new instances: [[Father, Mother], [Father, Mother], ...] X_new = np.array([[65, 62], [70, 65], [75, 70]]) y_pred = model.predict(X_new) # Predict the target print('Predictions:', y_pred)
Ahora que nuestro conjunto de entrenamiento tiene 2 características, debemos proporcionar 2 características para cada nueva instancia que deseamos predecir. Por eso se utilizó np.array([[65, 62],[70, 65],[75, 70]]).
Además, ten en cuenta que model.coef_ devuelve un arreglo de coeficientes que corresponde al orden de las columnas en X. Como X era ['Father', 'Mother'], coef_[0] es la pendiente para Father y coef_[1] es para Mother.
¡Gracias por tus comentarios!