La ecuación cuadrática es un método para modelar una relación entre conjuntos de variables independientes es la regresión cuadrática o podemos decir que la técnica de obtener la ecuación de una parábola que mejor se ajusta a una colección de datos se conoce como regresión cuadrática. Usamos la métrica R cuadrada para medir el poder predictivo relativo de una regresión cuadrática.
La ecuación de la ecuación cuadrática es de la forma:
y=
donde a, b , c son constantes y a ≠ 0.
El término cuadrático se refiere a una ecuación que tiene una potencia de 2.
Conjunto de datos utilizado: haga clic aquí
Regresión cuadrática en Python
El código comienza con la importación de los paquetes necesarios, luego se lee el archivo CSV usando read_csv() y se visualizan los datos. visualización de los datos mediante un diagrama de dispersión marítimo. Agregar una línea polinomial a los datos para ver el ajuste. np.polyfit() y np.poly1d() se utilizan para crear un ajuste cuadrático y una ecuación cuadrática.
Sintaxis: numpy.polyfit (X, Y, deg, rcond=Ninguno, full=Falso, w=Ninguno, cov=Falso)
parámetros:
- X: objeto tipo array, representa las coordenadas x.
- Y:array como objeto, representa las coordenadas y.
- deg: entero, grado del polinomio.
La métrica R cuadrada se utiliza para medir el poder predictivo. El valor de R cuadrado determina la proporción de varianza para un valor dependiente. El valor de r2 generalmente varía de 0 a 1. Un valor de r cuadrado cercano a 1 es bastante bueno.
Python3
# importing packages and modules import pandas as pd import numpy as np import matplotlib.pyplot as plt import seaborn as sns from sklearn.metrics import r2_score import scipy.stats as stats dataset = pd.read_csv('ball.csv') sns.scatterplot(data=dataset, x='time', y='height', hue='time') plt.title('time vs height of the ball') plt.xlabel('time') plt.ylabel('height') plt.show() # degree 2 polynomial fit or quadratic fit model = np.poly1d(np.polyfit(dataset['time'], dataset['height'], 2)) # polynomial line visualization polyline = np.linspace(0, 10, 100) plt.scatter(dataset['time'], dataset['height']) plt.plot(polyline, model(polyline)) plt.show() print(model) # r square metric print(r2_score(dataset['height'], model(dataset['time'])))
Producción:
2 2.008 x - 21.69 x + 121.7 0.8133556222534604
El valor de R cuadrado está por encima de 0,7, por lo que implica que el ajuste cuadrático es un ajuste para los datos.
Publicación traducida automáticamente
Artículo escrito por sarahjane3102 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA