Sklearn SVM: SVR и SVC, получая одинаковый прогноз для каждого входа
Вот вставка кода:Пример кода SVM
Я проверил несколько других ответов на эту проблему ... и кажется, что эта конкретная итерация проблемы немного отличается.
Во-первых, мои входы нормализованы, и у меня есть пять входов на точку. Все значения имеют разумный размер (здоровые 0,5 с и 0,7 с и т. Д. - немногие близки к нулю или почти к 1 числам)
У меня есть около 70 х входов, соответствующих их 70 лет входов. Входы y также нормализованы (они представляют собой процентные изменения моей функции после каждого временного шага).
Я инициализирую свой SVR (и SVC), обучаю их, а затем проверяю их с 30 входными данными вне выборки ... и получаю точно такой же прогноз для каждого входного сигнала (и входные данные меняются в разумных пределах - 0,3, 0,6 0,5 и т. Д.). Я думаю, что классификатор (по крайней мере) будет иметь некоторые различия ...
Вот код, который я получил:
# train svr
my_svr = svm.SVR()
my_svr.fit(x_training,y_trainr)
# train svc
my_svc = svm.SVC()
my_svc.fit(x_training,y_trainc)
# predict regression
p_regression = my_svr.predict(x_test)
p_r_series = pd.Series(index=y_testing.index,data=p_regression)
# predict classification
p_classification = my_svc.predict(x_test)
p_c_series = pd.Series(index=y_testing_classification.index,data=p_classification)
И вот примеры моих входов:
x_training = [[ 1.52068627e-04 8.66880301e-01 5.08504362e-01 9.48082047e-01
7.01156322e-01],
[ 6.68130520e-01 9.07506250e-01 5.07182647e-01 8.11290634e-01
6.67756208e-01],
... x 70 ]
y_trainr = [-0.00723209 -0.01788079 0.00741741 -0.00200805 -0.00737761 0.00202704 ...]
y_trainc = [ 0. 0. 1. 0. 0. 1. 1. 0. ...]
Иx_test
матрица (5х30) аналогичнаx_training
матрица с точки зрения величин и дисперсии входных данных ... то же самое дляy_testr
а такжеy_testc
.
В настоящее время прогнозы для всех тестов абсолютно одинаковы (0,00596 для регрессии и 1 для классификации ...)
Как заставить функции SVR и SVC выдвигать соответствующие прогнозы? Или, по крайней мере, разные прогнозы, основанные на входах ...
По крайней мере, классификатор должен иметь возможность делать выбор. Я имею в виду, даже если я не предоставил достаточно измерений для регрессии ...