У меня есть следующее X
DataFrame
open high low close volume
11 0.081000 0.081000 0.081000 0.081000 0.168
12 0.086400 0.086400 0.086000 0.086400 3.531
13 0.086400 0.086400 0.086400 0.086400 0.412
14 0.086400 0.086400 0.086400 0.086400 0.440
15 0.085289 0.085289 0.085289 0.085289 0.400
А также это y
DataFrame
target
0 0.080001
1 0.081000
2 0.086400
3 0.086400
4 0.086400
Затем я разделяю его, используя train_test_split
на X_train
, y_train
, X_test
и y_test
. Модель инициализируется с 3 соседями и устанавливается.
Когда я использую функцию оценки в тестовых данных, она дает мне R² 0,987.
Но затем я пытаюсь предсказать одно значение, которого нет ни в поезде, ни в тестовом наборе, а результат далек.
Пример:
to_predict = pd.DataFrame(
[[0.023623, 0.023637, 0.023623, 0.023624, 47.159]],
columns=['open', 'high', 'low', 'close', 'volume'])
next_value = kreg.predict(to_predict) # It gives as result 0.02326833
actual_value = 0.023624
next_value - actual_value = -0.00035567
Что мне здесь не хватает? Мой подход неверен? Эта модель не является хорошим выбором?