我一直在使用SVR来预测时间序列的 Value . 我的数据集分为两个,即训练和测试,并使用SVR和RBF内核来预测测试数据集 . 虽然SVR已经完美地建模了列车数据集,但总是预测测试数据集的平均值 .

一直在尝试StandardScaller,Normalization等但总是失败 .

这是我的代码

X = np.array(x).reshape(-1,1)
Y = np.array(y).reshape(-1,1)
sc_y = StandardScaler()
Y = sc_y.fit_transform(Y)
Y = np.array(Y).ravel()
# Fit regression model
X_train, X_test, Y_train, Y_test = train_test_split(X, Y, 
test_size=0.4, random_state=0, shuffle=False)

from sklearn.model_selection import cross_val_score
svr_rbf = SVR(kernel='rbf', C=10, gamma=9.9999999999999995e-08, epsilon=0.1)
print(X_train.shape)
svr_rbf.fit(X_train, Y_train)
y_rbf = svr_rbf.predict(X_train)
y_rbf1 = svr_rbf.predict(X_test)

这是我的结果

预测结束时显示恒定值 .

你知道我该怎么做才能使预测更好吗?