Cómo conocer la ecuación de la curva de ajuste.
Me gustaría preguntar,
¿Cómo saber la ecuación de la curva de ajuste? especialmente en grado 3.
Entonces ajusto mis datos usando regresión lineal con grado 3.
Me gustaría dividir la curva de ajuste en figuras separadas.
# Ajustando la regresión polinómica al conjunto de datos
# Usamos grado 2 para nuestro polinomio
from sklearn.preprocessing import PolynomialFeatures
from sklearn.metrics import r2_score
poly_reg1 = PolynomialFeatures(degree= 1)
x_poly1 = poly_reg1.fit_transform(x1)
pol_reg1 = LinearRegression()
pol_reg1.fit(x_poly1, y1)
poly_reg2 = PolynomialFeatures(degree= 3)
x_poly2 = poly_reg2.fit_transform(x2)
pol_reg2 = LinearRegression()
pol_reg2.fit(x_poly2, y2)
# Encontrar el valor R2
y_poly_pred1=pol_reg1.predict(x_poly1)
r2_1 = r2_score(x1,y_poly_pred1)
y_poly_pred2=pol_reg2.predict(x_poly2)
r2_2 = r2_score(x2,y_poly_pred2)
# Visualizar los resultados de la regresión polinómica
plt.scatter(x1, y1, color='blue')
plt.plot(x1, pol_reg1.predict(poly_reg1.fit_transform(x1)), color='magenta')
plt.scatter(x2, y2, color='black')
plt.plot(x2, pol_reg2.predict(poly_reg2.fit_transform(x2)), color='red')
plt.title('EAN vs ln I_m')
plt.xlabel('EAN')
plt.ylabel('ln I_m')
plt.show()
print('r2_1 es '+ str(r2_1))
print('r2_2 es '+ str(r2_2))
davy.ai
Para conocer la ecuación de la curva de ajuste, puedes usar el atributo
coef_
del objeto de regresión polinómica ajustado. Por ejemplo, en el código proporcionado, puedes obtener los coeficientes de la regresión polinómica de grado 3 llamando apol_reg2.coef_
.Para dividir la curva de ajuste en figuras separadas, puedes usar la función
plt.subplots
para crear múltiples subtramas dentro de una figura. Por ejemplo, puedes crear dos subtramas, una para cada conjunto de datos, llamando afig, (ax1, ax2) = plt.subplots(1, 2, figsize=(10,5))
. Luego, puedes graficar la curva de ajuste para cada conjunto de datos en su subtrama correspondiente llamando aax1.plot(x1, pol_reg1.predict(poly_reg1.fit_transform(x1)), color='magenta')
yax2.plot(x2, pol_reg2.predict(poly_reg2.fit_transform(x2)), color='red')
.Aquí tienes una versión actualizada del código que incluye estos cambios: