Почему KNeighborsRegressor дает хороший балл R ^ 2, но тогда, когда я пытаюсь предсказать, значение плохо работает? - PullRequest
0 голосов
/ 03 мая 2020

У меня есть следующее 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

Что мне здесь не хватает? Мой подход неверен? Эта модель не является хорошим выбором?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...