60 std::vector<std::vector<std::pair<Int, double> > >
sequences;
65 SVMData(std::vector<std::vector<std::pair<Int, double> > >& seqs, std::vector<double>& lbls);
69 bool store(
const String& filename)
const;
71 bool load(
const String& filename);
162 void setParameter(SVM_parameter_type type,
Int value);
170 void setParameter(SVM_parameter_type type,
double value);
177 Int train(
struct svm_problem* problem);
196 void saveModel(
const std::string& modelFilename)
const;
206 void loadModel(
const std::string& modelFilename);
213 void predict(
struct svm_problem* problem, std::vector<double>& predicted_labels);
220 void predict(
const SVMData& problem, std::vector<double>& results);
261 Int getIntParameter(SVM_parameter_type type);
290 double getDoubleParameter(SVM_parameter_type type);
297 void createRandomPartitions(svm_problem* problem,
Size number, std::vector<svm_problem*>& partitions);
304 void createRandomPartitions(
const SVMData& problem,
306 std::vector<SVMData>& problems);
310 static svm_problem* mergePartitions(
const std::vector<svm_problem*>& problems,
Size except);
315 static void mergePartitions(
const std::vector<SVMData>& problems,
325 void predict(
const std::vector<svm_node*>& vectors, std::vector<double>& predicted_rts);
331 static void getLabels(svm_problem* problem, std::vector<double>& labels);
337 double performCrossValidation(svm_problem* problem_ul,
339 const bool is_labeled,
340 const std::map<SVM_parameter_type, double>& start_values_map,
341 const std::map<SVM_parameter_type, double>& step_sizes_map,
342 const std::map<SVM_parameter_type, double>& end_values_map,
343 Size number_of_partitions,
345 std::map<SVM_parameter_type, double>& best_parameters,
346 bool additive_step_sizes =
true,
348 const String& performances_file_name =
"performances.txt",
349 bool mcc_as_performance_measure =
false);
361 double getSVRProbability();
378 static double kernelOligo(
const std::vector<std::pair<int, double> >& x,
379 const std::vector<std::pair<int, double> >& y,
380 const std::vector<double>& gauss_table,
381 int max_distance = -1);
390 static double kernelOligo(
const svm_node* x,
const svm_node* y,
const std::vector<double>& gauss_table,
double sigma_square = 0,
Size max_distance = 50);
395 void getSignificanceBorders(svm_problem* data, std::pair<double, double>& borders,
double confidence = 0.95,
Size number_of_runs = 5,
Size number_of_partitions = 5,
double step_size = 0.01,
Size max_iterations = 1000000);
400 void getSignificanceBorders(
const SVMData& data,
401 std::pair<double, double>& sigmas,
402 double confidence = 0.95,
403 Size number_of_runs = 5,
404 Size number_of_partitions = 5,
405 double step_size = 0.01,
406 Size max_iterations = 1000000);
414 double getPValue(
double sigma1,
double sigma2, std::pair<double, double> point);
425 void getDecisionValues(svm_problem* data, std::vector<double>& decision_values);
433 void scaleData(svm_problem* data,
Int max_scale_value = -1);
435 static void calculateGaussTable(
Size border_length,
double sigma, std::vector<double>& gauss_table);
444 svm_problem* computeKernelMatrix(svm_problem* problem1, svm_problem* problem2);
453 svm_problem* computeKernelMatrix(
const SVMData& problem1,
const SVMData& problem2);
459 void setTrainingSample(svm_problem* training_sample);
464 void setTrainingSample(
SVMData& training_sample);
475 void getSVCProbabilities(
struct svm_problem* problem, std::vector<double>& probabilities, std::vector<double>& prediction_labels);
480 void setWeights(
const std::vector<Int>& weight_labels,
const std::vector<double>& weights);
489 bool nextGrid_(
const std::vector<double>& start_values,
490 const std::vector<double>& step_sizes,
491 const std::vector<double>& end_values,
492 const bool additive_step_sizes,
493 std::vector<double>& actual_values);
495 Size getNumberOfEnclosedPoints_(
double m1,
double m2,
const std::vector<std::pair<double, double> >& points);
500 void initParameters_();
507 static void printToVoid_(
const char* );
517 svm_problem* training_set_ =
nullptr;
518 svm_problem* training_problem_ =
nullptr;
the C parameter of the svm
Definition: SVMWrapper.h:99
A more convenient string class.
Definition: String.h:58
SVMData training_data_
the training set (different encoding)
Definition: SVMWrapper.h:519
svm_model * model_
the learned svm discriminant
Definition: SVMWrapper.h:510
Serves as a wrapper for the libsvm.
Definition: SVMWrapper.h:83
the epsilon parameter for epsilon-SVR
Definition: SVMWrapper.h:101
SVM_kernel_type
Kernel type.
Definition: SVMWrapper.h:109
bool operator==(const IDBoostGraph::ProteinGroup &lhs, const IDBoostGraph::ProteinGroup &rhs)
Main OpenMS namespace.
Definition: FeatureDeconvolution.h:47
std::vector< std::vector< std::pair< Int, double > > > sequences
Definition: SVMWrapper.h:60
Size border_length_
the actual kernel type
Definition: SVMWrapper.h:516
Size kernel_type_
the actual kernel type
Definition: SVMWrapper.h:515
svm_parameter * param_
the parameters for the svm
Definition: SVMWrapper.h:509
Data structure used in SVMWrapper.
Definition: SVMWrapper.h:58
Math::RandomShuffler shuffler_
random shuffler to create training partitions
Definition: SVMWrapper.h:520
the svm type can be NU_SVR or EPSILON_SVR
Definition: SVMWrapper.h:96
std::vector< double > gauss_table_
lookup table for fast computation of the oligo kernel
Definition: SVMWrapper.h:513
Definition: SVMWrapper.h:104
the gamma parameter of the POLY, RBF and SIGMOID kernel
Definition: SVMWrapper.h:102
Definition: SVMWrapper.h:103
Definition: MathFunctions.h:407
double sigma_
for the oligo kernel (amount of positional smearing)
Definition: SVMWrapper.h:511
static String number(double d, UInt n)
Definition: StringUtils.h:217
the degree for the polynomial- kernel
Definition: SVMWrapper.h:98
std::vector< double > labels
Definition: SVMWrapper.h:61
size_t Size
Size type e.g. used as variable which can hold result of size()
Definition: Types.h:127
std::vector< std::vector< double > > gauss_tables_
lookup table for fast computation of the combined oligo kernel
Definition: SVMWrapper.h:514
Base class for all classes that want to report their progress.
Definition: ProgressLogger.h:52
int Int
Signed integer type.
Definition: Types.h:102
std::vector< double > sigmas_
for the combined oligo kernel (amount of positional smearing)
Definition: SVMWrapper.h:512
the nu parameter for nu-SVR
Definition: SVMWrapper.h:100
the kernel type
Definition: SVMWrapper.h:97
SVM_parameter_type
Parameters for the svm to be set from outside.
Definition: SVMWrapper.h:94