资源简介
最新libsvm3.22工具箱,matlab编译完成,放入正确路径即可使用
代码片段和文件信息
#include
#include
#include
#include
#include
#include “svm.h“
int print_null(const char *s...) {return 0;}
static int (*info)(const char *fmt...) = &printf;
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)
info(“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“labels“);
for(j=0;j fprintf(output“ %d“labels[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
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2018-03-26 15:57 libsvm-3.22\
文件 1497 2016-12-22 02:58 libsvm-3.22\COPYRIGHT
文件 83089 2016-12-22 02:58 libsvm-3.22\FAQ.html
文件 27670 2016-12-22 02:58 libsvm-3.22\heart_scale
目录 0 2018-03-26 15:57 libsvm-3.22\java\
目录 0 2018-03-26 15:57 libsvm-3.22\java\libsvm\
文件 55185 2016-12-22 02:59 libsvm-3.22\java\libsvm.jar
文件 64242 2016-12-22 02:59 libsvm-3.22\java\libsvm\svm.java
文件 63439 2016-12-22 02:58 libsvm-3.22\java\libsvm\svm.m4
文件 868 2016-12-22 02:58 libsvm-3.22\java\libsvm\svm_model.java
文件 115 2016-12-22 02:58 libsvm-3.22\java\libsvm\svm_node.java
文件 1288 2016-12-22 02:58 libsvm-3.22\java\libsvm\svm_parameter.java
文件 87 2016-12-22 02:58 libsvm-3.22\java\libsvm\svm_print_interface.java
文件 136 2016-12-22 02:58 libsvm-3.22\java\libsvm\svm_problem.java
文件 659 2016-12-22 02:58 libsvm-3.22\java\Makefile
文件 4950 2016-12-22 02:58 libsvm-3.22\java\svm_predict.java
文件 8944 2016-12-22 02:58 libsvm-3.22\java\svm_scale.java
文件 12269 2016-12-22 02:58 libsvm-3.22\java\svm_toy.java
文件 8355 2016-12-22 02:58 libsvm-3.22\java\svm_train.java
文件 81 2016-12-22 02:58 libsvm-3.22\java\test_ap
文件 732 2016-12-22 02:58 libsvm-3.22\Makefile
文件 1136 2016-12-22 02:58 libsvm-3.22\Makefile.win
目录 0 2018-03-26 15:57 libsvm-3.22\matlab\
文件 406 2009-11-04 19:08 libsvm-3.22\matlab\DCTforSVM.m
文件 391 2009-11-04 19:26 libsvm-3.22\matlab\fasticaForSVM.m
文件 7239 2009-10-08 23:35 libsvm-3.22\matlab\gaSVMcgForClass.m
文件 969 2018-03-08 11:17 libsvm-3.22\matlab\gaSVMcgForClass_test.m
文件 7261 2009-10-28 09:10 libsvm-3.22\matlab\gaSVMcgForRegress.m
文件 1138 2009-10-28 09:13 libsvm-3.22\matlab\gaSVMcgForRegress_test.m
文件 28904 2005-03-22 20:37 libsvm-3.22\matlab\heart_scale.mat
文件 4063 2016-12-22 02:58 libsvm-3.22\matlab\libsvmread.c
............此处省略64个文件信息
相关资源
- matlab编程实现支持向量机的多分类
- 用MATLAB编写的svm源程序,可以实现支
- SVM+SMO实现代码
- libsvm-3.23支持向量机类库,matlab版,可
- 支持向量机刀具磨损预测模型及MATL
- 支持向量机回归预测代码
- TWSVM(2) 借助(非线性)孪生支持向
- FCM for EEG 模糊C均值脑电分类并使用了
- svmplot 支持向量机的画图程序。能很好
- 支持向量机预测风速
- 支持向量机SVM机器学习方法
- 支持向量机进行预测SVMMatlab版
- 支持向量机进行预测(SVM)Matlab版.
- lssvm(最小二乘支持向量机)matlab
- 线性支持向量机算法实现matlab
- 用MATLAB实现基于支持向量机的垃圾邮
- SFLA-LSSVM 混洗蛙跳算法优化最小二乘支
- pso-svm-prediction 优化支持向量机中的正
- Matlab--Incremental-SVM 完整的增量式支持
- libsvm-cg 支持向量机参数c和g的优化
- LS-SVMlab-GA 用遗传算法优化的最小二乘
- SVMyuce matlab支持向量机预测
- svm_tuxiangfenge SVM支持向量机在图像分割
- SVMcgForClass 利用网格搜索法对支持向量
- lssvm 是关于LS-SVMlab工具箱的使用说明
- FaceRec 一个用matlab实现的基于支持向量
- svm 用遗传算法优化支持向量机参数的
- code_branch_s3vm 基于半监督支持向量机算
- HMM_SVM 用matlab实现的基于马尔科夫模型
- LSSVMlabv1_8_R2009b_R2011a
评论
共有 条评论