下面是代碼的糊狀:SVM sample codeSklearn SVM:SVR和SVC,得到同樣的預測對於每個輸入
我檢查了幾個其他的答案對這個問題......它似乎像這個問題的具體迭代有點不同。
首先,我的輸入被標準化,並且每點有五個輸入。這些值都是合理的大小(健康的0.5s和0.7s等 - 很少接近零或接近1的數字)。
我有大約70 x輸入對應於他們的70 y輸入。 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
矩陣(5x30)類似於x_training
矩陣的大小和輸入方差......對於y_testr
和y_testc
也是如此。
目前,所有測試的預測是完全一樣的(0.00596的迴歸,以及1分類...)
如何獲得SVR和SVC功能吐出相關預測?或至少基於輸入的不同預測...
至少,分類器應該能夠做出選擇。我的意思是,即使我沒有提供足夠的尺寸來回歸...
您需要提供一個自包含的,可運行的示例,其中包含實際演示問題的示例數據。 – BrenBarn
好的。一秒(或等於10分鐘=) – bordeo
@BrenBarn有一個鏈接到代碼的pastebin。我包括完整的數據... – bordeo