データセットが提供されましたが、私はXとYのデータの間の関係を見つけようとしています。私はsklearnライブラリを使用してデータをプロットし、eqnの曲線を予測できるようにしたい。Sklearn to and Polynomial Regressionを使用して曲線の等式をフィット/予測します。無限ループエラー
しかし、多項式回帰モデルをデータセットにフィッティングした後、私の予測値をプロットしようとすると、私のコードは無限ループに陥ります。
最終目標は、曲線を予測/プロットしたら、曲線の完全な式がわかるようにすることです。
ここに私のコードです。
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()
予測カーブをプロットできるように修正するにはどうすればよいですか? – NoviceCoder