簡體   English   中英

Matlab中的Libsvm回歸預測測試集實例的值相同

[英]Libsvm regression in Matlab predict same values for test set instances

我正在嘗試將libsvm(Matlab庫)用於回歸問題。 我有192個實例的數據集。 這是我的代碼,將數據分為訓練和測試集:

idx = [zeros(170,1) ;ones(22,1)];
idx = idx(randperm(192));
train = data(idx==0,:);
train_label = label(idx==0,:);
test = data(idx==1,:);
test_label = label(idx==1,:);

model_1 = svmtrain(train_label,train,'-s 3 -t 2 -c 1 -g 0.01');
model_2 = svmtrain(label,data,'-s 3 -t 2 -c 1 -g 0.01');

[y_hat, Acc,Dec] = svmpredict(test_label, test, model);

如果我使用整個數據集(model_1)來訓練模型,則與測試集的每個實例相比,我將具有不同的預測值,而如果僅使用訓練集,則每個測試記錄將獲得完全相同的值。 我以為是因為訓練集太小而無法訓練出好的模型,所以我嘗試使用190個實例進行訓練,僅使用2個實例進行測試。 但是,即使進行了除法運算,我對於這兩個測試實例仍具有相同的預測值? 代碼有問題嗎?

您應該使用縮放,嘗試在代碼中縮放訓練向量和數據向量

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM