Я новичок в машинном обучении, и я только что изучил KNN и SVM с помощью sklearn.Как сделать прогноз для новых данных, используя SVM или KNN?Я пытался сделать оба прогноза.Они делают хороший прогноз только тогда, когда данные уже известны.Но когда я пытаюсь предсказать новые данные, они дают неверный прогноз.
Вот мой код:
import numpy as np
from sklearn import svm
x=np.array([[1],[2],[3],[4],[5],[6],[7],[8],[9],[10],[11]], dtype=np.float64)
y=np.array([2,3,4,5,6,7,8,9,10,11,12], dtype=np.float64)
clf = svm.SVC(kernel='linear')
clf.fit(x, y)
print(clf.predict([[20]]))
print(clf.score(x, y))
0utput:
[12.]
1.0
Этот код сделает хороший прогноз, если данные для прогнозирования находятся в диапазоне x_train,Но когда я пытаюсь предсказать, например, 20 или что-то выше диапазона x_train, вывод всегда будет 12, который является последним элементом y.Я не знаю, что я делаю неправильно в коде.