How to declare kfun function in svmtrain
조회 수: 1 (최근 30일)
이전 댓글 표시
Hi all
i want to train data using polynomial kernel which have:
gamma, C, r, d.
svmtrain only has boxConstraint (C) and Polyorder (d)
so i have to declare function by my self using @kfun
i've tried many times but still got "*Function definitions are not permitted in this context.*"
where i must put this code?
function K = kfun(U,V,gamma,r)
K = gamma*(U*V')+r;
in command line and in .m script file I still got error like that
anybody can help me?
thanks before
댓글 수: 1
Ahmed
2013년 6월 13일
You are probably trying to define a function in a script file. This is not possible. Put your function in a separate m-File called kfun.m or define an anonymous function.
kfun = @(U,V,gamma,r) gamma*(U*V')+r;
답변 (1개)
Ahmed
2013년 7월 6일
편집: Ahmed
2013년 7월 6일
data = randn(100,10);
groups = rand(100,1)>0.5;
g = 1;
r = 1;
svmstruct = svmtrain(data, groups, ...
'Kernel_Function',@(U,V) g*(U*V')+r,'BoxConstraint', 0.2);
(note that 'gamma' is pre-defined function, therefore you should better use another variable name)
댓글 수: 0
참고 항목
제품
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!