资源简介
详细的代码解释,一看就懂,希望有帮助
代码片段和文件信息
#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“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(j=0;j fprintf(output“ %g“prob_estimates[j]);
fprintf(output“\n“);
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2017-03-17 14:52 NLPLibSVM\
文件 557 2017-03-15 16:14 NLPLibSVM\.classpath
文件 385 2012-10-05 10:47 NLPLibSVM\.project
目录 0 2017-03-17 14:52 NLPLibSVM\.settings\
文件 114 2017-03-15 16:08 NLPLibSVM\.settings\com.genuitec.eclipse.core.prefs
文件 629 2012-10-05 10:47 NLPLibSVM\.settings\org.eclipse.jdt.core.prefs
目录 0 2017-03-17 14:52 NLPLibSVM\bin\
文件 1206 2017-03-17 14:51 NLPLibSVM\bin\LibSVMTest.class
文件 5640 2017-03-17 14:40 NLPLibSVM\bin\svm_predict.class
文件 8087 2017-03-15 16:14 NLPLibSVM\bin\svm_scale.class
文件 492 2017-03-17 14:14 NLPLibSVM\bin\svm_train$1.class
文件 9156 2017-03-17 14:14 NLPLibSVM\bin\svm_train.class
目录 0 2017-03-17 14:52 NLPLibSVM\libsvm-3.12\
目录 0 2017-03-17 14:52 NLPLibSVM\libsvm-3.12\libsvm-3.12\
文件 1497 2012-01-31 13:51 NLPLibSVM\libsvm-3.12\libsvm-3.12\COPYRIGHT
文件 72186 2012-04-01 06:17 NLPLibSVM\libsvm-3.12\libsvm-3.12\FAQ.html
文件 27670 2003-07-12 12:07 NLPLibSVM\libsvm-3.12\libsvm-3.12\heart_scale
目录 0 2017-03-17 14:52 NLPLibSVM\libsvm-3.12\libsvm-3.12\java\
目录 0 2017-03-17 14:52 NLPLibSVM\libsvm-3.12\libsvm-3.12\java\libsvm\
文件 50329 2012-04-01 06:18 NLPLibSVM\libsvm-3.12\libsvm-3.12\java\libsvm.jar
文件 62406 2012-04-01 06:18 NLPLibSVM\libsvm-3.12\libsvm-3.12\java\libsvm\svm.java
文件 61755 2012-02-03 13:56 NLPLibSVM\libsvm-3.12\libsvm-3.12\java\libsvm\svm.m4
文件 734 2010-09-12 20:11 NLPLibSVM\libsvm-3.12\libsvm-3.12\java\libsvm\svm_model.java
文件 115 2003-10-11 20:30 NLPLibSVM\libsvm-3.12\libsvm-3.12\java\libsvm\svm_node.java
文件 1288 2006-03-03 23:44 NLPLibSVM\libsvm-3.12\libsvm-3.12\java\libsvm\svm_parameter.java
文件 87 2009-02-18 11:20 NLPLibSVM\libsvm-3.12\libsvm-3.12\java\libsvm\svm_print_interface.java
文件 136 2003-10-11 20:30 NLPLibSVM\libsvm-3.12\libsvm-3.12\java\libsvm\svm_problem.java
文件 624 2009-02-18 08:41 NLPLibSVM\libsvm-3.12\libsvm-3.12\java\Makefile
文件 4267 2009-03-18 04:20 NLPLibSVM\libsvm-3.12\libsvm-3.12\java\svm_predict.java
文件 8944 2011-05-28 22:19 NLPLibSVM\libsvm-3.12\libsvm-3.12\java\svm_scale.java
文件 12269 2012-02-03 13:29 NLPLibSVM\libsvm-3.12\libsvm-3.12\java\svm_toy.java
............此处省略70个文件信息
- 上一篇:socket 基于udp 的双机通讯
- 下一篇:滑动窗口协议模拟 JAVA.zip
相关资源
- 滑动窗口协议模拟 JAVA.zip
- java实现汉诺塔小游戏
- 4.3读取摄像头并显示
- java2word jar包
- 图书管理系统 servlet+jsp适合初学者
- Java证书打印工具类
- java openCV 人脸识别 找茬
- 基于java旅游网站毕业论文
- JAVA动物识别系统266510
- java猴子选王
- java8+tomcat8+struts2.5+spring4.3+hibernate5.2框
- jdbc+控制台java+oracle模拟银行程序MVC思
- Java版剑指Offer全部测试用例
- java秒杀(高并发)视频教程
- 基于UDP协议的数据包收发程序代码+报
- 基于java和mysql的学生信息管理系统
- 西电软院java上机大作业全
- JavaATM机取款模拟程序
- mail.jar+activation.jar+additional.jar
- java打砖块源码加注释
- jxl完美实现Excel加水印(内及jar包,基
- javadbf.jar-修复中文乱码-部分生僻字显
- 数据结构课设 java版 校园导航系统
- Java实现音视频通讯
- pcap文件解析,并且按照五元组分类
- javaweb 图片上传
- 学生成绩管理系统java源代码
- commons-collections-3.2.jar - Java包页
- 基于rxtx的java串口通信
- Elasticsearch5.5.1 JAVA客户端TransportClien
评论
共有 条评论