资源简介
这个是faruto写的一个基于libSVM的加强版工具箱,要是使用他写的一个GUI-SVM工具包,必须先安装这个
代码片段和文件信息
#include
#include
#include
#include
#include
#include “mex.h“
#if MX_API_VER < 0x07030000
typedef int mwIndex;
#endif
#define max(xy) (((x)>(y))?(x):(y))
#define min(xy) (((x)<(y))?(x):(y))
void exit_with_help()
{
mexPrintf(
“Usage: [label_vector instance_matrix] = libsvmread(‘filename‘);\n“
);
}
static void fake_answer(mxArray *plhs[])
{
plhs[0] = mxCreateDoubleMatrix(0 0 mxREAL);
plhs[1] = mxCreateDoubleMatrix(0 0 mxREAL);
}
static char *line;
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(line max_line_len);
len = (int) strlen(line);
if(fgets(line+lenmax_line_len-leninput) == NULL)
break;
}
return line;
}
// read in a problem (in libsvm format)
void read_problem(const char *filename mxArray *plhs[])
{
int max_index min_index inst_max_index i;
long elements k;
FILE *fp = fopen(filename“r“);
int l = 0;
char *endptr;
mwIndex *ir *jc;
double *labels *samples;
if(fp == NULL)
{
mexPrintf(“can‘t open input file %s\n“filename);
fake_answer(plhs);
return;
}
max_line_len = 1024;
line = (char *) malloc(max_line_len*sizeof(char));
max_index = 0;
min_index = 1; // our index starts from 1
elements = 0;
while(readline(fp) != NULL)
{
char *idx *val;
// features
int index = 0;
inst_max_index = -1; // strtol gives 0 if wrong format and precomputed kernel has start from 0
strtok(line“ \t“); // label
while (1)
{
idx = strtok(NULL“:“); // index:value
val = strtok(NULL“ \t“);
if(val == NULL)
break;
errno = 0;
index = (int) strtol(idx&endptr10);
if(endptr == idx || errno != 0 || *endptr != ‘\0‘ || index <= inst_max_index)
{
mexPrintf(“Wrong input format at line %d\n“l+1);
fake_answer(plhs);
return;
}
else
inst_max_index = index;
min_index = min(min_index index);
elements++;
}
max_index = max(max_index inst_max_index);
l++;
}
rewind(fp);
// y
plhs[0] = mxCreateDoubleMatrix(l 1 mxREAL);
// x^T
if (min_index <= 0)
plhs[1] = mxCreateSparse(max_index-min_index+1 l elements mxREAL);
else
plhs[1] = mxCreateSparse(max_index l elements mxREAL);
labels = mxGetPr(plhs[0]);
samples = mxGetPr(plhs[1]);
ir = mxGetIr(plhs[1]);
jc = mxGetJc(plhs[1]);
k=0;
for(i=0;i {
char *idx *val *label;
jc[i] = k;
readline(fp);
label = strtok(line“ \t“);
labels[i] = strtod(label&endptr);
if(endptr == label)
{
mexPrintf(“Wrong input format at line %d\n“i+1);
fake_answer(plhs);
return;
}
// features
while(1)
{
idx = strtok(NULL“:“);
val = strtok(NULL“ \t“);
if(val == NULL)
break;
ir[k] = (mwIndex) (strtol(idx&endptr10) - min_index); // precomputed kernel has start from 0
errno = 0;
samples[k] = strtod(val&end
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 222041 2010-01-17 16:23 TutorialForFarutoUltimate3.0.pdf
文件 3823 2009-04-15 13:04 libsvmread.c
文件 2123 2009-05-01 13:34 libsvmwrite.c
文件 7684 2009-04-15 14:36 svm_model_matlab.c
文件 9050 2009-04-15 14:36 svmpredict.c
文件 11377 2009-09-06 18:47 svmtrain.c
文件 2968 2009-04-07 23:28 svm.h
文件 201 2007-11-23 21:06 svm_model_matlab.h
文件 62422 2009-04-06 13:39 svm.cpp
文件 229 2009-04-15 10:37 make.m
文件 28904 2005-03-22 20:37 heart_scale.mat
文件 20480 2010-01-16 01:16 libsvmread.mexw32
文件 20480 2010-01-16 01:16 libsvmwrite.mexw32
文件 24576 2010-01-16 01:16 svmpredict.mexw32
文件 45056 2010-01-16 01:16 svmtrain.mexw32
文件 65048 2010-01-16 01:15 svm.obj
文件 6294 2010-01-16 01:16 svm_model_matlab.obj
文件 2600 2009-08-18 22:27 libsvm 参数说明.txt
文件 1602 2009-11-21 00:11 readme[by faruto].txt
文件 1497 2009-02-17 18:07 COPYRIGHT
文件 1462 2009-04-15 14:36 Makefile
文件 9181 2009-04-24 22:35 README
文件 2835 2010-01-24 15:14 implement[by faruto]\a_template_flow_usingSVM_class.m
文件 2159 2010-01-17 09:36 implement[by faruto]\a_template_flow_usingSVM_regress.m
文件 871 2010-01-17 14:51 implement[by faruto]\fasticaForSVM.m
文件 3778 2010-01-21 21:40 implement[by faruto]\gaSVMcgForClass.m
文件 3510 2010-01-21 21:42 implement[by faruto]\gaSVMcgForRegress.m
文件 3788 2010-01-17 10:20 implement[by faruto]\gaSVMcgpForRegress.m
文件 3217 1998-04-22 10:44 implement[by faruto]\myprivate\gatbx[Sheffield]\bs2rv.m
文件 1835 1998-04-22 10:44 implement[by faruto]\myprivate\gatbx[Sheffield]\contents.m
............此处省略58个文件信息
评论
共有 条评论