2013-08-30 4 views
0

Я новичок в LibSVM, и я хотел бы предсказать определенные значения на основе набора значений тренировки, образованных тремя переменными. Это пример подготовки данных (тестирование аналогично):LibSVM - модель пуста

1 2 3 232 
3 4 5 23 
6 7 8 126 
9 10 11 57 
... 

Я использовал LibSVM следующим образом:

param.s=3 
param.C=max(train_data.y)-min(train_data.x) 
param.t=2 
param.g=2^-13 
param.p=2^17 
param.libsvm=['-s',param.s,'-t',param.t,'-c',param.C,'-g',param.g,'-p',param.p] 
model=svmtrain[train_data.y,train_data.x,param.libsvm] 

train_data.y является вектором 1000x1, а train_data.x является матрица 1000х3. Проблема заключается в том, что «модель» пусто, то у меня есть часть предсказания:

[y_hat,accuracy,projection]=svmpredict(test_data.y,test_data.x,model); 

, в котором test_data.y является 3998x1 вектор, а test_data.x матрица 3998x3. Благодарим вас за помощь.

ответ

0

Проблема с линии:

param.libsvm=['-s',param.s,'-t',param.t,'-c',param.C,'-g',param.g,'-p',param.p] 

Вы не можете конкатенации строк с номерами, как, что и варианты нужны пространства. Должно быть

param.libsvm=[' -s ',num2str(param.s),' -t ',num2str(param.t),' -c ',num2str(param.C),' -g ',num2str(param.g),' -p ',num2str(param.p)] 
Смежные вопросы