資源簡(jiǎn)介
實(shí)現(xiàn)matlab下svm 的參數(shù)尋優(yōu),包括ga, pso等方法。需要的可以看看。

代碼片段和文件信息
#include?
#include?
#include?
#include?
#include?
#include?“svm.h“
struct?svm_node?*x;
int?max_nr_attr?=?64;
struct?svm_model*?model;
int?predict_probability=0;
static?char?*line?=?NULL;
static?int?max_line_len;
static?char*?readline(FILE?*input)
{
int?len;
if(fgets(linemax_line_leninput)?==?NULL)
return?NULL;
while(strrchr(line‘\n‘)?==?NULL)
{
max_line_len?*=?2;
line?=?(char?*)?realloc(linemax_line_len);
len?=?(int)?strlen(line);
if(fgets(line+lenmax_line_len-leninput)?==?NULL)
break;
}
return?line;
}
void?exit_input_error(int?line_num)
{
fprintf(stderr“Wrong?input?format?at?line?%d\n“?line_num);
exit(1);
}
void?predict(FILE?*input?FILE?*output)
{
int?correct?=?0;
int?total?=?0;
double?error?=?0;
double?sump?=?0?sumt?=?0?sumpp?=?0?sumtt?=?0?sumpt?=?0;
int?svm_type=svm_get_svm_type(model);
int?nr_class=svm_get_nr_class(model);
double?*prob_estimates=NULL;
int?j;
if(predict_probability)
{
if?(svm_type==NU_SVR?||?svm_type==EPSILON_SVR)
printf(“Prob.?model?for?test?data:?target?value?=?predicted?value?+?z\nz:?Laplace?distribution?e^(-|z|/sigma)/(2sigma)sigma=%g\n“svm_get_svr_probability(model));
else
{
int?*labels=(int?*)?malloc(nr_class*sizeof(int));
svm_get_labels(modellabels);
prob_estimates?=?(double?*)?malloc(nr_class*sizeof(double));
fprintf(output“l(fā)abels“);
for(j=0;j fprintf(output“?%d“l(fā)abels[j]);
fprintf(output“\n“);
free(labels);
}
}
max_line_len?=?1024;
line?=?(char?*)malloc(max_line_len*sizeof(char));
while(readline(input)?!=?NULL)
{
int?i?=?0;
double?target_label?predict_label;
char?*idx?*val?*label?*endptr;
int?inst_max_index?=?-1;?//?strtol?gives?0?if?wrong?format?and?precomputed?kernel?has??start?from?0
label?=?strtok(line“?\t\n“);
if(label?==?NULL)?//?empty?line
exit_input_error(total+1);
target_label?=?strtod(label&endptr);
if(endptr?==?label?||?*endptr?!=?‘\0‘)
exit_input_error(total+1);
while(1)
{
if(i>=max_nr_attr-1) //?need?one?more?for?index?=?-1
{
max_nr_attr?*=?2;
x?=?(struct?svm_node?*)?realloc(xmax_nr_attr*sizeof(struct?svm_node));
}
idx?=?strtok(NULL“:“);
val?=?strtok(NULL“?\t“);
if(val?==?NULL)
break;
errno?=?0;
x[i].index?=?(int)?strtol(idx&endptr10);
if(endptr?==?idx?||?errno?!=?0?||?*endptr?!=?‘\0‘?||?x[i].index?<=?inst_max_index)
exit_input_error(total+1);
else
inst_max_index?=?x[i].index;
errno?=?0;
x[i].value?=?strtod(val&endptr);
if(endptr?==?val?||?errno?!=?0?||?(*endptr?!=?‘\0‘?&&?!isspace(*endptr)))
exit_input_error(total+1);
++i;
}
x[i].index?=?-1;
if?(predict_probability?&&?(svm_type==C_SVC?||?svm_type==NU_SVC))
{
predict_label?=?svm_predict_probability(modelxprob_estimates);
fprintf(output“%g“predict_label);
for(j=0;j fprintf(output“?%g“prob_estimates[j]);
fprintf(output“\n“);
}
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件???????2478??2010-12-31?13:51??tools\checkdata.py
?????文件???????2696??2010-12-31?13:51??tools\easy.py
?????文件??????11773??2011-02-02?23:55??tools\grid.py
?????文件???????4709??2010-09-12?21:39??tools\README
?????文件???????3004??2010-12-31?13:51??tools\subset.py
?????文件?????140288??2011-03-25?17:35??windows\libsvm.dll
?????文件???????7680??2011-03-25?17:35??windows\libsvmread.mexw32
?????文件??????11264??2011-03-25?17:35??windows\libsvmread.mexw64
?????文件???????7168??2011-03-25?17:35??windows\libsvmwrite.mexw32
?????文件??????10240??2011-03-25?17:35??windows\libsvmwrite.mexw64
?????文件?????107008??2011-03-25?17:35??windows\svm-predict.exe
?????文件??????80384??2011-03-25?17:35??windows\svm-scale.exe
?????文件?????140288??2011-03-25?17:35??windows\svm-toy.exe
?????文件?????135680??2011-03-25?17:35??windows\svm-train.exe
?????文件??????19968??2011-03-25?17:35??windows\svmpredict.mexw32
?????文件??????25088??2011-03-25?17:35??windows\svmpredict.mexw64
?????文件??????48640??2011-03-25?17:35??windows\svmtrain.mexw32
?????文件??????62976??2011-03-25?17:35??windows\svmtrain.mexw64
?????文件??????62509??2011-03-08?21:25??svm.cpp.bak
?????文件???????5381??2011-02-05?20:21??svm-predict.c
?????文件???????7042??2009-03-16?23:16??svm-scale.c
?????文件???????8891??2011-02-05?20:21??svm-train.c
?????文件???????3129??2011-03-08?21:25??svm.h
?????文件??????62509??2011-06-08?14:07??svm.cpp
?????文件????????434??2010-09-12?20:11??svm.def
?????文件??????68901??2011-03-26?11:25??FAQ.html
?????文件???????1087??2010-09-12?20:11??Makefile.win
?????文件???????1497??2011-03-26?11:25??COPYRIGHT
?????文件??????27670??2003-07-12?12:07??heart_scale
?????文件????????528??2010-09-12?20:11??Makefile
............此處省略145個(gè)文件信息
評(píng)論
共有 條評(píng)論