LIBSVM training error -
i doing libsvm regression analysis on time series data getting rho nan , not predicting anythin. code below
trn_data.x = wca(1:500,1:85); trn_data.y = wca(1:500,86); tst_data.x = wca(501:800,1:85); tst_data.y = wca(500:800,86); %%
param.s = 3; % epsilon svr param.c = max(trn_data.y) - min(trn_data.y); param.t = 2; % rbf kernel param.gset = 2.^[-7:20]; % range of gamma parameter param.eset = [0:1000]; % range of epsilon parameter param.nfold = 25; % 5-fold cv
%%
rval = zeros(length(param.gset), length(param.eset));
for = 1:param.nfold % partition training data learning/validation % in example, 5-fold data partitioning done following strategy, % partition 1: use samples 1, 6, 11, ... validation samples , % remaining learning samples % partition 2: use samples 2, 7, 12, ... validation samples , % remaining learning samples % : % partition 5: use samples 5, 10, 15, ... validation samples , % remaining learning samples
data = [trn_data.y, trn_data.x]; [learn, val] = k_foldcv_split(data, param.nfold, i); lrndata.x = learn(:, 2:end); lrndata.y = learn(:, 1); valdata.x = val(:, 2:end); valdata.y = val(:, 1);
for j = 1:length(param.gset) param.g = param.gset(j);
for k = 1:length(param.eset) param.e = param.eset(k); param.libsvm = ['-s ', num2str(param.s), ' -t ', num2str(param.t), ... ' -c ', num2str(param.c), ' -g ', num2str(param.g), ... ' -p ', num2str(param.e)];
% build model on learning data model = svmtrain(lrndata.y, lrndata.x, param.libsvm);
% predict on validation data [y_hat, acc, projection] = svmpredict(valdata.y, valdata.x, model);
rval(j,k) = rval(j,k) + mean((y_hat-valdata.y).^2); end end
end %% rval = rval ./ (param.nfold);
[v1, i1] = min(rval); [v2, i2] = min(v1); optparam = param; optparam.g = param.gset( i1(i2) ); optparam.e = param.eset(i2);
getting optimization finished, #iter = 0 nu = -nan(ind) obj = 0.000000, rho = -nan(ind) nsv = 0, nbsv = 0 mean squared error = -1.#ind (regression) squared correlation coefficient = -1.#ind (regression) . optimization finished, #iter = 0 nu = -nan(ind) obj = 0.000000, rho = -nan(ind) nsv = 0, nbsv = 0 mean squared error = -1.#ind (regression) squared correlation coefficient = -1.#ind (regression) . optimization finished, #iter = 0 nu = -nan(ind) obj = 0.000000, rho = -nan(ind) nsv = 0, nbsv = 0 mean squared error = -1.#ind (regression) squared correlation coefficient = -1.#ind (regression) . optimization finished, #iter = 0 nu = -nan(ind) obj = 0.000000, rho = -nan(ind) nsv = 0, nbsv = 0 mean squared error = -1.#ind (regression) squared correlation coefficient = -1.#ind (regression) . optimization finished, #iter = 0 nu = -nan(ind) obj = 0.000000, rho = -nan(ind) nsv = 0, nbsv = 0 mean squared error = -1.#ind (regression) squared correlation coefficient = -1.#ind (regression)
any idea?
Comments
Post a Comment