亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? learn.cpp

?? 做回歸很好
?? CPP
?? 第 1 頁 / 共 2 頁
字號:
#include <stdlib.h>
#include <string.h>
#include <fstream.h>
#include <math.h>
#include <float.h>
#include "globals.h"
#include "example_set.h"
#include "svm_c.h"
#include "parameters.h"
#include "kernel.h"
#include "svm_nu.h"
#include "version.h"

// global svm-objects
kernel_c* kernel=0;
parameters_c* parameters=0;
svm_c* svm;
example_set_c* training_set=0;

struct example_set_list{
  example_set_c* the_set;
  example_set_list* next;
};
example_set_list* test_sets = 0;


void print_help(){
  cout<<endl;
  cout<<"my_svm: train a svm from the given parameters and examples."<<endl<<endl;
  cout<<"usage: my_svm"<<endl
      <<"       my_svm <FILE>"<<endl
      <<"       my_svm <FILE1> <FILE2> ..."<<endl<<endl;
  cout<<"The input has to consist of:"<<endl
      <<"- the svm parameters"<<endl
      <<"- the kernel definition"<<endl
      <<"- the training set"<<endl
      <<"- one or more test sets (optional)"<<endl;

  cout<<endl<<"See the documentation for the input format. The first example set to be entered is considered to be the training set, all others are test sets. Each input file can consist of one or more definitions. If no input file is specified, the input is read from <stdin>."<<endl<<endl;

  cout<<endl<<"This software is free only for non-commercial use. It must not be modified and distributed without prior permission of the author. The author is not responsible for implications from the use of this software."<<endl;
  exit(0);
};


void read_input(istream& input_stream, char* filename){
  // returns number of examples sets read
  char* s = new char[MAXCHAR];
  char next;
  int is_linear=1; // linear kernel?
  next = input_stream.peek();
  if(next == EOF){ 
    // set stream to eof
    next = input_stream.get(); 
  };
  while(! input_stream.eof()){
    if('#' == next){
      // ignore comment
      input_stream.getline(s,MAXCHAR);
    }
    else if('\n' == next){
      // ignore newline
      next = input_stream.get();
    }
    else if('@' == next){
      // new section
      input_stream >> s;
      if(0 == strcmp("@parameters",s)){
	// read parameters
	if(parameters == 0){
	  parameters = new parameters_c();
	  input_stream >> *parameters;
	  if(kernel != 0){
	    parameters->is_linear = is_linear;
	  };
	}
	else{
	  cout <<"*** ERROR: Parameters multiply defined"<<endl;
	  throw input_exception();
	};
      }
      else if(0==strcmp("@examples",s)){
	if(0 == training_set){
	  // input training set
	  training_set = new example_set_c();
	  if(0 != parameters){
	    training_set->set_format(parameters->default_example_format);
	  };
	  input_stream >> *training_set;	    
	  training_set->set_filename(filename);
	  cout<<"   read "<<training_set->size()<<" examples, format "<<training_set->my_format<<", dimension = "<<training_set->get_dim()<<"."<<endl;
	}
	else{
	  // input test sets
	  example_set_list* test_set = new example_set_list;
	  test_set->the_set = new example_set_c();
	  if(0 != parameters){
	    (test_set->the_set)->set_format(parameters->default_example_format);
	  };
	  input_stream >> *(test_set->the_set);
	  (test_set->the_set)->set_filename(filename);
	  test_set->next = test_sets;
	  test_sets = test_set;
	  cout<<"   read "<<(test_set->the_set)->size()<<" examples, format "<<(test_set->the_set)->my_format<<", dimension = "<<(test_set->the_set)->get_dim()<<"."<<endl;
	};
      }
      else if(0==strcmp("@kernel",s)){
	if(0 == kernel){
	  kernel_container_c k_cont;
	  input_stream >> k_cont;
	  kernel = k_cont.get_kernel();
	  is_linear = k_cont.is_linear;
	  if(parameters != 0){
	    parameters->is_linear = is_linear;
	  };
	}
	else{
	  cout <<"*** ERROR: Kernel multiply defined"<<endl;
	  throw input_exception();
	};
      };
    }
    else{
      // default = "@examples"
      if(0 == training_set){
	// input training set
	training_set = new example_set_c();
	if(0 != parameters){
	  training_set->set_format(parameters->default_example_format);
	};
	input_stream  >> *training_set;	    
	training_set->set_filename(filename);
	cout<<"   read "<<training_set->size()<<" examples, format "<<training_set->my_format<<", dimension = "<<training_set->get_dim()<<"."<<endl;
      }
      else{
	// input test sets
	example_set_list* test_set = new example_set_list;
	test_set->the_set = new example_set_c();
	if(0 != parameters){
	  (test_set->the_set)->set_format(parameters->default_example_format);
	};
	input_stream >> *(test_set->the_set);
	(test_set->the_set)->set_filename(filename);
	test_set->next = test_sets;
	test_sets = test_set;
	cout<<"   read "<<(test_set->the_set)->size()<<" examples, format "<<(test_set->the_set)->my_format<<", dimension = "<<(test_set->the_set)->get_dim()<<"."<<endl;
      };
    };
    next = input_stream.peek();
    if(next == EOF){ 
      // set stream to eof
      next = input_stream.get(); 
    };
  };
  delete []s;
};


svm_result do_cv(){
  SVMINT number = parameters->cross_validation;
  SVMINT size = training_set->size();
  int verbosity = parameters->verbosity;
  if((number > size) || (0 >= number)){
    number = size; // leave-one-out testing
  };
  //  SVMINT cv_size = size / number;
  if(! parameters->cv_inorder){
    training_set->permute();
  };
  training_set->clear_alpha();
  example_set_c* cv_train=new example_set_c(); //=0;
  example_set_c* cv_test=new example_set_c(); //=0;
  svm_result train_result;
  svm_result test_result;
  svm_result train_sum;
  svm_result test_sum;
  train_sum.VCdim = 0;
  train_sum.pred_loss=0;
  train_sum.loss=0;
  train_sum.loss_pos=0;
  train_sum.loss_neg=0;
  train_sum.MAE = 0;
  train_sum.MSE = 0;
  train_sum.accuracy = 0;
  train_sum.precision = 0;
  train_sum.recall=0;
  train_sum.number_svs=0;
  train_sum.number_bsv=0;
  test_sum.VCdim = 0;
  test_sum.loss=0;
  test_sum.loss_pos=0;
  test_sum.loss_neg=0;
  test_sum.MAE = 0;
  test_sum.MSE = 0;
  test_sum.accuracy = 0;
  test_sum.precision = 0;
  test_sum.recall=0;
  test_sum.number_svs=0;
  test_sum.number_bsv=0;
  SVMINT j;
  if(verbosity>2){
    if(parameters->cv_window>0){
      cout<<"beginning "<<(number-parameters->cv_window)<<" sliding window steps"<<endl;
    }
    else{
      cout<<"beginning "<<number<<"-fold crossvalidation"<<endl;
    };
  };
  SVMINT i;
  for(i=parameters->cv_window;i<number;i++){
    // do cv
    if(verbosity >= 3){
      cout<<"----------------------------------------"<<endl;
      cout<<(i+1);
      if(0 == i%10) cout<<"st";
      else if(1==i%10) cout<<"nd";
      else if(2==i%10) cout<<"rd";
      else cout<<"th";
      cout<<" step"<<endl;
    };
    //cout<<"From "<<i*cv_size<<" to "<<(i+1)*cv_size<<endl;
    cv_train->clear();
    cv_test->clear();
    cv_train->set_dim(training_set->get_dim());
    cv_test->set_dim(training_set->get_dim());
    if(training_set->initialised_y()){
      cv_train->set_initialised_y();
      cv_test->set_initialised_y();
    };
    cv_train->put_Exp_Var(training_set->get_exp(),training_set->get_var());
    cv_test->put_Exp_Var(training_set->get_exp(),training_set->get_var());
    if(verbosity>=4){
      cout<<"Initing examples sets"<<endl;
    };

    if(parameters->cv_window>0){
      // training window
      for(j=SVMINT((i-parameters->cv_window)*size/number);((j<(SVMINT)(i*size/number))&&(j<size));j++){
	cv_train->put_example(training_set->get_example(j));
      };
      // test window
      for(j=(SVMINT)(i*size/number);((j<(SVMINT)((i+1)*size/number))&&(j<size));j++){
	cv_test->put_example(training_set->get_example(j));
      };
    }
    else{
      for(j=(SVMINT)(i*size/number);((j<(SVMINT)((i+1)*size/number))&&(j<size));j++){
	cv_test->put_example(training_set->get_example(j));
      };
      for(j=0;j<(SVMINT)(i*size/number);j++){
	cv_train->put_example(training_set->get_example(j));
      };
      for(j=(SVMINT)((i+1)*size/number);j<size;j++){
	cv_train->put_example(training_set->get_example(j));
      };
    };
    cv_train->clear_alpha();
    cv_test->clear_alpha();
    cv_train->compress();
    cv_test->compress();

    if(verbosity>=4){
      cout<<"Setting up the SVM"<<endl;
    };
    kernel->init(parameters->kernel_cache,cv_train);
    svm->init(kernel,parameters);

    // train & test the svm
    if(verbosity>=4){
      cout<<"Training"<<endl;
    };
    //    cv_train->clear_alpha();

    train_result = svm->train(cv_train);
    if(verbosity>=4){
      cout<<"Testing"<<endl;
    };
    test_result = svm->test(cv_test,0);

    train_sum.VCdim += train_result.VCdim;
    train_sum.loss += train_result.loss;
    train_sum.loss_pos += train_result.loss_pos;
    train_sum.loss_neg += train_result.loss_neg;
    train_sum.MAE += train_result.MAE;
    train_sum.MSE += train_result.MSE;
    train_sum.pred_loss += train_result.pred_loss;
    train_sum.accuracy += train_result.accuracy;
    train_sum.precision += train_result.precision;
    train_sum.recall += train_result.recall;
    train_sum.number_svs += train_result.number_svs;
    train_sum.number_bsv += train_result.number_bsv;
    test_sum.loss += test_result.loss;
    test_sum.loss_pos += test_result.loss_pos;
    test_sum.loss_neg += test_result.loss_neg;
    test_sum.MAE += test_result.MAE;
    test_sum.MSE += test_result.MSE;
    test_sum.accuracy += test_result.accuracy;
    test_sum.precision += test_result.precision;
    test_sum.recall += test_result.recall;
    if(verbosity>=4){
      cout<<"Training set:"<<endl
	  <<"Loss: "<<train_result.loss<<endl;
      if(parameters->Lpos != parameters->Lneg){
	cout<<"  Loss+: "<<train_result.loss_pos<<endl;
	cout<<"  Loss-: "<<train_result.loss_neg<<endl;
      };
      cout<<"MAE: "<<train_result.MAE<<endl;
      cout<<"MSE: "<<train_result.MSE<<endl;
      cout<<"VCdim: "<<train_result.VCdim<<endl;
      if(parameters->is_pattern){
	cout<<"Accuracy  : "<<train_result.accuracy<<endl
	    <<"Precision : "<<train_result.precision<<endl
	    <<"Recall    : "<<train_result.recall<<endl;
      };
      cout<<"Support Vectors : "<<train_result.number_svs<<endl;
      cout<<"Bounded SVs     : "<<train_result.number_bsv<<endl;
      cout<<"Test set:"<<endl
	  <<"Loss: "<<test_result.loss<<endl;
      if(parameters->Lpos != parameters->Lneg){
	cout<<"  Loss+: "<<test_result.loss_pos<<endl;
	cout<<"  Loss-: "<<test_result.loss_neg<<endl;
      };
      if(parameters->is_pattern){
	cout<<"Accuracy  : "<<test_result.accuracy<<endl
	    <<"Precision : "<<test_result.precision<<endl
	    <<"Recall    : "<<test_result.recall<<endl;
      };
    };
  };
  parameters->verbosity = verbosity;
  number-=parameters->cv_window;
  if(verbosity > 1){
    cout<<"----------------------------------------"<<endl;
    cout<<"Results of "<<number<<"-fold cross-validation:"<<endl;
    cout<<"-- Training set: --"<<endl
	<<"Loss: "<<train_sum.loss/number<<endl;
    if(parameters->Lpos != parameters->Lneg){
      cout<<"  Loss+: "<<train_sum.loss_pos/number<<endl;
      cout<<"  Loss-: "<<train_sum.loss_neg/number<<endl;
    };
    cout<<"MAE: "<<train_sum.MAE/number<<endl;
    cout<<"MSE: "<<train_sum.MSE/number<<endl;
    cout<<"VCdim: "<<train_sum.VCdim/number<<endl;
    if(parameters->is_pattern){
      cout<<"Accuracy  : "<<train_sum.accuracy/number<<endl
	  <<"Precision : "<<train_sum.precision/number<<endl
	  <<"Recall    : "<<train_sum.recall/number<<endl;
    };
    cout<<"Support Vectors : "<<((SVMFLOAT)train_sum.number_svs)/number<<endl;
    cout<<"Bounded SVs     : "<<((SVMFLOAT)train_sum.number_bsv)/number<<endl;
    cout<<"-- Test set: --"<<endl
	<<"Loss: "<<test_sum.loss/number<<endl;
    if(parameters->Lpos != parameters->Lneg){
      cout<<"  Loss+: "<<test_sum.loss_pos/number<<endl;
      cout<<"  Loss-: "<<test_sum.loss_neg/number<<endl;
    };
    cout<<"MAE: "<<test_sum.MAE/number<<endl;
    cout<<"MSE: "<<test_sum.MSE/number<<endl;

    if(parameters->is_pattern){
      cout<<"Accuracy  : "<<test_sum.accuracy/number<<endl
	  <<"Precision : "<<test_sum.precision/number<<endl
	  <<"Recall    : "<<test_sum.recall/number<<endl;
    };
  };
  test_sum.VCdim = train_sum.VCdim/number;
  test_sum.loss /= number;
  test_sum.loss_pos /= number;
  test_sum.loss_neg /= number;
  test_sum.MAE /= number;
  test_sum.MSE /= number;
  test_sum.pred_loss = train_sum.pred_loss;
  test_sum.accuracy /= number;
  test_sum.precision /= number;
  test_sum.recall /= number;
  test_sum.number_svs = train_sum.number_svs/number;
  test_sum.number_bsv = train_sum.number_bsv/number;
  delete cv_test;
  delete cv_train;

  return test_sum;

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产suv精品一区二区6| 亚洲成人资源在线| 国产麻豆成人传媒免费观看| 日韩欧美中文字幕公布| 国产在线观看免费一区| www国产精品av| 从欧美一区二区三区| 国产精品久久久久aaaa| 91在线免费看| 亚洲影院理伦片| 欧美精品tushy高清| 日本不卡在线视频| 日韩欧美国产电影| 国产成人精品一区二区三区网站观看| 久久美女高清视频| 成人av集中营| 亚洲国产精品嫩草影院| 91麻豆精品国产91久久久使用方法| 免费久久精品视频| 国产日韩欧美a| 在线观看av一区| 麻豆久久一区二区| 国产精品人人做人人爽人人添| 91麻豆精品在线观看| 午夜精品爽啪视频| 久久久久国产精品麻豆ai换脸| gogogo免费视频观看亚洲一| 亚洲最新在线观看| 精品欧美一区二区久久 | 欧美色电影在线| 老司机精品视频线观看86| 欧美激情一区在线| 欧美人牲a欧美精品| 国产激情视频一区二区三区欧美| 亚洲国产精品一区二区尤物区| 欧美日韩亚州综合| 国产精品一区专区| 亚洲精品欧美二区三区中文字幕| 欧洲一区在线电影| 91福利社在线观看| 国产精品久久久久久久午夜片| 91国在线观看| 国产精品主播直播| 亚洲精品你懂的| 2024国产精品视频| 欧美日韩国产电影| 粉嫩高潮美女一区二区三区| 午夜成人免费电影| 亚洲日本韩国一区| 久久人人爽爽爽人久久久| 欧美在线制服丝袜| 成人美女在线视频| 久久国产精品第一页| 亚洲综合偷拍欧美一区色| 国产视频在线观看一区二区三区| 欧美色大人视频| 99精品视频一区二区三区| 六月丁香婷婷久久| 午夜精品久久久久久不卡8050| 中文字幕av一区 二区| 日韩精品中文字幕一区二区三区| 欧美性猛片aaaaaaa做受| av在线一区二区三区| 国产精品一区2区| 免费视频一区二区| 午夜免费欧美电影| 亚洲国产婷婷综合在线精品| 国产精品福利一区| 国产精品免费久久久久| 欧美videossexotv100| 欧美一卡二卡在线| 欧美丰满美乳xxx高潮www| 欧美亚州韩日在线看免费版国语版| 国产精品99久久久久久宅男| 青草国产精品久久久久久| 丝袜诱惑亚洲看片| 午夜av一区二区| 午夜电影一区二区三区| 午夜精品视频在线观看| 亚洲一区二区三区美女| 一区二区三区四区在线| 国产精品成人免费| 亚洲欧美在线aaa| 亚洲桃色在线一区| 亚洲柠檬福利资源导航| 亚洲日本va午夜在线电影| 成人欧美一区二区三区1314| 综合久久一区二区三区| 亚洲色图视频网站| 伊人夜夜躁av伊人久久| 亚洲精品ww久久久久久p站| 亚洲精品乱码久久久久久久久 | 欧美一区二区不卡视频| 91麻豆精品国产自产在线观看一区 | 国产一区二区三区蝌蚪| 国内外成人在线| 国产精品911| 99麻豆久久久国产精品免费优播| 色老汉一区二区三区| 欧美日韩一区在线| 日韩视频免费直播| 国产人久久人人人人爽| 国产精品久久久久久久久免费樱桃 | 中文字幕中文字幕一区二区| 综合色天天鬼久久鬼色| 亚洲va国产va欧美va观看| 日韩国产欧美视频| 国产尤物一区二区在线 | 97久久精品人人做人人爽50路 | 蜜臀久久99精品久久久久宅男 | 亚洲免费观看在线视频| 丝袜亚洲另类丝袜在线| 国产真实乱偷精品视频免| 成人av在线资源网| 欧美乱妇一区二区三区不卡视频| 欧美成人乱码一区二区三区| 国产精品日日摸夜夜摸av| 亚洲国产欧美另类丝袜| 久久国内精品自在自线400部| 国产成人自拍在线| 欧美性三三影院| 国产亚洲精品7777| 亚洲妇熟xx妇色黄| 国产福利精品一区二区| 欧美日韩在线播放三区| 2024国产精品视频| 天堂资源在线中文精品| 国产精品一二三区在线| 欧美日韩亚洲国产综合| 中文在线一区二区| 日本不卡不码高清免费观看| 成人综合在线观看| 日韩午夜av电影| 一区二区免费视频| 国产成人精品免费在线| 91精品国产综合久久久久久漫画| 国产精品成人免费在线| 国内精品伊人久久久久av影院| 91国偷自产一区二区开放时间| 26uuu精品一区二区三区四区在线| 夜夜嗨av一区二区三区| 不卡视频一二三| 日韩美女一区二区三区四区| 亚洲一区免费在线观看| 成人免费福利片| 久久亚区不卡日本| 蜜桃视频在线观看一区二区| 欧美在线一区二区| 亚洲欧美另类久久久精品2019| 国产精品99久| 久久综合色8888| 麻豆精品一二三| 欧美精品丝袜中出| 亚洲国产成人av好男人在线观看| 91蜜桃在线观看| 中文字幕欧美区| 国产高清不卡一区二区| 精品久久人人做人人爽| 欧美aaaaa成人免费观看视频| 精品久久久久香蕉网| 亚洲成人av资源| 国产女同互慰高潮91漫画| 欧美电影免费观看高清完整版在线| 精品日韩欧美在线| 蜜臀av亚洲一区中文字幕| 欧美日韩午夜在线| 日日噜噜夜夜狠狠视频欧美人| 色综合久久久久综合体桃花网| 国产精品日韩精品欧美在线| 成人午夜又粗又硬又大| 国产网红主播福利一区二区| 国产在线精品一区二区| 精品少妇一区二区三区视频免付费| 婷婷夜色潮精品综合在线| 欧美日韩免费在线视频| 亚洲福利视频一区二区| 欧美精选一区二区| 日韩精品乱码免费| hitomi一区二区三区精品| 日韩精品在线一区二区| 久久综合一区二区| 调教+趴+乳夹+国产+精品| 日韩av一区二区在线影视| 国产精品三级电影| 中文字幕高清不卡| 久久精品视频网| 中文字幕亚洲视频| 中文字幕日韩av资源站| 亚洲图片你懂的| 亚洲成人av在线电影| 激情综合网av| 国产成人av网站| 久久久久国产精品麻豆ai换脸 | 国产福利一区二区三区视频在线 | 日韩不卡手机在线v区| 亚洲视频网在线直播| 国产精品国产三级国产普通话三级 | 亚洲欧洲性图库| 丰满亚洲少妇av| caoporen国产精品视频|