Я создаю базовое приложение, чтобы предсказать значение «Закрытия» запаса для дня n + 1, учитывая особенности запаса n с использованием Python и Scikit-learn
Пример строки в моем фрейме данныхвот так (2000 строк)
Open Close High Low Volume
0 537.40 537.10 541.55 530.47 52877.98
Аналогично этому видео https://www.youtube.com/watch?v=SSu00IRRraY,, где он использует «Даты» и «Цена открытия».В этом примере Dates - это функции, а Open - цель.
Теперь в моем примере у меня нет значения 'Dates' в моем наборе данных, но вместо этого я хочу использовать Open, High, LowОбъемные данные как объекты, потому что я думал, что это сделает их более точными
Я определял свои функции и цели следующим образом:
features = df.loc[:,df.columns != 'Closing']
targets = df.loc[:,df.columns == 'Closing']
Что бы вернуть df, похожий на эти функции:
Open High Low Vol from
29 670.02 685.11 661.09 92227.36
цели:
Close
29 674.57
Однако я понял, что данные должны быть в массиве, и теперь я получаю свои функции и цели, такие как
features = df.loc[:,df.columns != 'Closing'].values
targets = df.loc[:,df.columns == 'Closing'].values
Так что теперь мои функции выглядят так
[6.70020000e+02 6.85110000e+02 6.61090000e+02 9.22273600e+04
6.23944806e+07]
[7.78102000e+03 8.10087000e+03 7.67541000e+03 6.86188500e+04
5.41391322e+08]
, а мои цели выглядят так
[ 674.57]
[ 8042.64]
Затем я разделяю свои данные, используя
X_training, X_testing, y_training, y_testing = train_test_split(features, targets, test_size=0.8)
Iпытался следовать документации Scikit-Learn, которая привела к следующему
svr_rbf = svm.SVR(kernel='rbf', C=100.0, gamma=0.0004, epsilon= 0.01 )
svr_rbf.fit(X_training, y_training)
predictions = svr_rbf.predict(X_testing)
print(predictions)
Я предполагал, что это будет предсказывать значения Y с учетом возможностей тестирования, которые я затем мог бы построить на основе фактических значений y_testing, чтобы увидеть, какпохожи они.Однако прогнозы выводят одно и то же значение для каждой функции X_testing.
[3763.84681818 3763.84681818 3763.84681818 3763.84681818 3763.84681818
Я пытался изменить значения epsilon, c и gamma, но это, похоже, не меняет того факта, что прогнозы всегда даютодно и то же значение
Я знаю, что прогнозировать цены на акции может быть неточным, но я, должно быть, сделал что-то не так, чтобы получить то же значение при применении модели к различным тестовым данным