Вы должны понимать, как работает SVM.Ваши обучающие данные представляют собой матрицу формы (n_samples, n_features)
.Это означает, что ваш SVM работает в пространстве признаков n_features
размеров.Следовательно, он не может предсказать значение для скалярного ввода, если n_features
не равно 1. Вы можете предсказать значения только для векторов измерения n_features
.Таким образом, если ваш набор данных имеет 5 столбцов, вы можете предсказать значения для произвольного вектора-строки из 5 столбцов.Смотрите пример ниже.
import numpy as np
from sklearn.svm import SVR
# Data: 200 instances of 5 features each
X = randint(1, 100, size=(200, 5))
y = randint(0, 2, size=200)
reg = SVR()
reg.fit(X, y)
y_test = np.array([[0, 1, 2, 3, 4]]) # Input to .predict must be 2-dimensional
reg.predict(y_test)