On me fournit un ensemble de données et j'essaie de trouver une relation entre certaines données X et Y. Je veux pouvoir utiliser la bibliothèque de sklearn pour tracer les données et prédire/plt la courbe de l'eqn.Utiliser Sklearn et Régression polynomiale pour ajuster/prédire l'équation d'une courbe. Erreur de boucle infinie
Cependant, mon code est bloqué dans une boucle infinie lorsque j'essaie de tracer mes valeurs prédites après avoir ajusté le modèle de régression polynomiale à mon ensemble de données.
L'objectif final serait une fois que la courbe serait prédite/tracée. J'aimerais savoir quelle est l'équation complète de la courbe.
Voici mon code.
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
Dataset = pd.DataFrame()
Dataset["X"] = [6377, 6378, 6379, 6380, 6381, 6382, 6383, 6385, 6387, 6392, 6397, 6402]
Dataset["Y"] = [1.225, 1.112, 1.007, 0.9093, 0.8194, 0.7364, 0.6601, 0.5258, 0.4135, 0.1948, 0.08891, 0.04008]
print(Dataset)
X = np.reshape(np.array(Dataset['X']), (1, -1))
Y = np.reshape(np.array(Dataset['Y']), (1, -1))
print(X)
print(Y)
from sklearn.linear_model import LinearRegression
linReg = LinearRegression()
linReg.fit(X, Y)
plt.scatter(X, Y, color='red')
# plt.plot(X,linReg.predict(X), color = 'blue')
from sklearn.preprocessing import PolynomialFeatures
polyREG = PolynomialFeatures(degree=4)
xPoly = polyREG.fit_transform(X)
LinReg2 = LinearRegression()
LinReg2.fit(xPoly, Y)
#
# try:
# xgrid = np.arange(min(X), max(X), .1)
# except Exception as e:
# print(e)
# xgrid = range(6377, 6403, 1)
# xgrid = np.asarray(xgrid)
# print(xgrid.shape)
# xgrid = np.reshape(xgrid, (1,-1))
xgrid = np.reshape(np.arange(6300, 6405, 1), (1,-1))
print(xgrid.shape)
#X = np.reshape(np.array(Dataset['X']), (1, -1))
#plt.plot(xg, 1, color = "blue")
try:
plt.plot(xgrid, LinReg2.predict(polyREG.fit_transform(xgrid)), color='blue')
except Exception as e:
print(e)
plt.show()
Comment puis-je corriger le problème pour pouvoir tracer la courbe prévue? – NoviceCoder