La regresión polinómica es una forma de regresión lineal en la que la relación entre la variable independiente x y la variable dependiente y se modela como un polinomio de grado n . La regresión polinomial ajusta una relación no lineal entre el valor de x y la media condicional correspondiente de y, denotada como E(y |x)
Por qué la regresión polinomial:
- Hay algunas relaciones que un investigador hipotetizará que son curvilíneas. Claramente, tales tipos de casos incluirán un término polinomial.
- Inspección de residuos. Si tratamos de ajustar un modelo lineal a datos curvos, un diagrama de dispersión de residuos (eje Y) en el predictor (eje X) tendrá parches de muchos residuos positivos en el medio. Por lo tanto, en tal situación, no es apropiado.
- Una suposición en el análisis de regresión lineal múltiple habitual es que todas las variables independientes son independientes. En el modelo de regresión polinomial, esta suposición no se cumple.
Usos de la Regresión Polinomial:
Básicamente se utilizan para definir o describir fenómenos no lineales como:
Python3
# Importing the libraries import numpy as np import matplotlib.pyplot as plt import pandas as pd # Importing the dataset datas = pd.read_csv('data.csv') datas
Python3
X = datas.iloc[:, 1:2].values y = datas.iloc[:, 2].values
Python3
# Fitting Linear Regression to the dataset from sklearn.linear_model import LinearRegression lin = LinearRegression() lin.fit(X, y)
Python3
# Fitting Polynomial Regression to the dataset from sklearn.preprocessing import PolynomialFeatures poly = PolynomialFeatures(degree = 4) X_poly = poly.fit_transform(X) poly.fit(X_poly, y) lin2 = LinearRegression() lin2.fit(X_poly, y)
Python3
# Visualising the Linear Regression results plt.scatter(X, y, color = 'blue') plt.plot(X, lin.predict(X), color = 'red') plt.title('Linear Regression') plt.xlabel('Temperature') plt.ylabel('Pressure') plt.show()
Python3
# Visualising the Polynomial Regression results plt.scatter(X, y, color = 'blue') plt.plot(X, lin2.predict(poly.fit_transform(X)), color = 'red') plt.title('Polynomial Regression') plt.xlabel('Temperature') plt.ylabel('Pressure') plt.show()
Python3
# Predicting a new result with Linear Regression after converting predict variable to 2D array pred = 110.0 predarray = np.array([[pred]]) lin.predict(predarray)
Python3
# Predicting a new result with Polynomial Regression after converting predict variable to 2D array pred2 = 110.0 pred2array = np.array([[pred2]]) lin2.predict(poly.fit_transform(pred2array))
Publicación traducida automáticamente
Artículo escrito por Akashkumar17 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA