Oto pasta kodu: SVM sample codeSklearn SVM: SVR i SVC, otrzymuję ten sam prognozy dla każdego wejścia
I wyrejestrowany kilka innych odpowiedzi na ten problem ... i wydaje się, podobnie jak ta konkretna iteracja problemu jest nieco inna.
Po pierwsze, moje wejścia są znormalizowane, a ja mam pięć wejść na punkt. Wszystkie wartości są w rozsądnej wielkości (zdrowe 0,5 s i 0,7 s itd. - kilka bliskich zeru lub blisko 1 liczb).
Mam około 70 x wejść odpowiadających ich 70-krotnym wejściom. Wejścia y są również znormalizowane (są to zmiany procentowe mojej funkcji po każdym kroku czasowym).
Inicjuję mój SVR (i SVC), trenuję je, a następnie testuję na 30 wejściach poza próbą ... i uzyskuję dokładnie takie same prognozy dla każdego wejścia (a dane wejściowe zmieniają się w rozsądnych ilościach) -0,3, 0,6, 0,5 itd.). Myślę, że klasyfikator (co najmniej) miałby pewne zróżnicowanie ...
Oto kod mam:
# 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)
A oto próbki moich wejść:
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. ...]
Macierz x_test
(5x30) jest podobna do macierzy x_training
pod względem wielkości i wariancji wejść ... takich samych dla y_testr
i y_testc
.
Obecnie przewidywania dla wszystkich testów są dokładnie takie same (0,00596 dla regresji i 1 klasyfikacji ...)
Jak mogę uzyskać SVR i funkcje SVC wypluć odpowiednich prognoz ? Lub przynajmniej różne prognozy oparte na danych wejściowych ...
Przynajmniej klasyfikator powinien mieć możliwość dokonywania wyborów. Mam na myśli, nawet jeśli nie podałem wystarczająco dużo wymiarów dla regresji ...
Musisz podać samodzielny, działający przykład z przykładowymi danymi, które faktycznie demonstrują problem. – BrenBarn
W porządku. Jedna sekunda (lub jak 10 min =) – bordeo
@BrenBarn znajduje się link do pastebin kodu. Zawarłem pełne dane ... – bordeo