Point Cloud Library (PCL)
1.14.1-dev
|
SVM (Support Vector Machines) classification of a dataset. More...
#include <pcl/ml/svm_wrapper.h>
Public Member Functions | |
SVMClassify () | |
Constructor. More... | |
~SVMClassify () | |
Destructor. More... | |
void | setInputTrainingSet (std::vector< SVMData > training_set) |
It adds/store the training set with labelled data. More... | |
std::vector< SVMData > | getInputTrainingSet () |
Return the current training set. More... | |
void | resetTrainingSet () |
Reset the training set. More... | |
bool | loadClassifierModel (const char *filename) |
Read in a classifier model (in svmlight format). More... | |
void | getClassificationResult (std::vector< std::vector< double >> &out) |
Get the result of the classification. More... | |
void | saveClassificationResult (const char *filename) |
Save the classification result in an extern file. More... | |
void | setClassifierModel (SVMModel model) |
Set the classifier model. More... | |
bool | loadClassProblem (const char *filename) |
Read in a raw classification problem (in svmlight format). More... | |
bool | loadNormClassProblem (const char *filename) |
Read in a normalized classification problem (in svmlight format). More... | |
void | setProbabilityEstimates (bool set) |
Set whether the classification has to be done with the probability estimate. More... | |
bool | classificationTest () |
Start the classification on labelled input dataset. More... | |
bool | classification () |
Start the classification on un-labelled input dataset. More... | |
std::vector< double > | classification (SVMData in) |
Start the classification on a single set. More... | |
bool | saveClassProblem (const char *filename) |
Save the raw classification problem in a file (in svmlight format). More... | |
bool | saveNormClassProblem (const char *filename) |
Save the normalized classification problem in a file (in svmlight format). More... | |
Public Member Functions inherited from pcl::SVM | |
SVM () | |
Constructor. More... | |
~SVM () | |
Destructor. More... | |
void | getLabel (std::vector< int > &labels) |
Return the labels order from the classifier model. More... | |
void | saveClassifierModel (const char *filename) |
Save the classifier model in an extern file (in svmlight format). More... | |
Protected Member Functions | |
void | scaleProblem (svm_problem &input, svm_scaling scaling) |
It scales the input dataset using the model information. More... | |
Protected Member Functions inherited from pcl::SVM | |
char * | readline (FILE *input) |
To read a line from the input file. More... | |
void | exitInputError (int line_num) |
Outputs an error in file reading. More... | |
const std::string & | getClassName () const |
Get a string representation of the name of this class. More... | |
void | adaptInputToLibSVM (std::vector< SVMData > training_set, svm_problem &prob) |
Convert the input format (vector of SVMData) into a readable format for libSVM. More... | |
void | adaptLibSVMToInput (std::vector< SVMData > &training_set, svm_problem prob) const |
Convert the libSVM format (svm_problem) into a easier output format. More... | |
bool | loadProblem (const char *filename, svm_problem &prob) |
Load a problem from an extern file. More... | |
bool | saveProblem (const char *filename, bool labelled) |
Save the raw problem in an extern file. More... | |
bool | saveProblemNorm (const char *filename, svm_problem prob_, bool labelled) |
Save the problem (with normalized values) in an extern file. More... | |
Protected Attributes | |
bool | model_extern_copied_ |
bool | predict_probability_ {false} |
std::vector< std::vector< double > > | prediction_ |
std::string | class_name_ |
bool | labelled_training_set_ |
char * | line_ |
int | max_line_len_ |
SVMModel | model_ |
SVMParam | param_ |
svm_problem | prob_ |
svm_scaling | scaling_ |
std::vector< SVMData > | training_set_ |
Protected Attributes inherited from pcl::SVM | |
std::vector< SVMData > | training_set_ |
svm_problem | prob_ |
SVMModel | model_ |
svm_scaling | scaling_ |
SVMParam | param_ |
std::string | class_name_ |
char * | line_ {nullptr} |
int | max_line_len_ {10000} |
bool | labelled_training_set_ |
Additional Inherited Members | |
Static Protected Member Functions inherited from pcl::SVM | |
static void | printNull (const char *) |
Set for output printings during classification. More... | |
SVM (Support Vector Machines) classification of a dataset.
It can be used both for testing a classifier model and for classify of new data.
Definition at line 378 of file svm_wrapper.h.
|
inline |
|
inline |
Destructor.
Definition at line 404 of file svm_wrapper.h.
References svm_model::l, model_, and model_extern_copied_.
bool pcl::SVMClassify::classification | ( | ) |
Start the classification on un-labelled input dataset.
To get the classification result, use getClassificationResult().
std::vector<double> pcl::SVMClassify::classification | ( | SVMData | in | ) |
Start the classification on a single set.
bool pcl::SVMClassify::classificationTest | ( | ) |
Start the classification on labelled input dataset.
It returns the accuracy percentage. To get the classification result, use getClassificationResult().
|
inline |
Get the result of the classification.
Definition at line 450 of file svm_wrapper.h.
References prediction_.
|
inline |
Return the current training set.
Definition at line 429 of file svm_wrapper.h.
References training_set_.
bool pcl::SVMClassify::loadClassifierModel | ( | const char * | filename | ) |
Read in a classifier model (in svmlight format).
|
inline |
Read in a raw classification problem (in svmlight format).
The values are normalized using the classifier model information.
Definition at line 490 of file svm_wrapper.h.
References pcl::SVM::adaptLibSVMToInput(), svm_model::l, pcl::SVM::loadProblem(), model_, prob_, scaleProblem(), scaling_, and training_set_.
|
inline |
Read in a normalized classification problem (in svmlight format).
The data is kept without normalizing.
Definition at line 507 of file svm_wrapper.h.
References pcl::SVM::adaptLibSVMToInput(), pcl::SVM::loadProblem(), prob_, and training_set_.
|
inline |
void pcl::SVMClassify::saveClassificationResult | ( | const char * | filename | ) |
Save the classification result in an extern file.
|
inline |
Save the raw classification problem in a file (in svmlight format).
Definition at line 550 of file svm_wrapper.h.
References pcl::SVM::saveProblem().
|
inline |
Save the normalized classification problem in a file (in svmlight format).
Definition at line 560 of file svm_wrapper.h.
References prob_, and pcl::SVM::saveProblemNorm().
|
protected |
It scales the input dataset using the model information.
Referenced by loadClassProblem().
|
inline |
Set the classifier model.
Definition at line 462 of file svm_wrapper.h.
References svm_node::index, svm_scaling::max, model_, model_extern_copied_, svm_scaling::obj, svm_model::scaling, and scaling_.
|
inline |
It adds/store the training set with labelled data.
Definition at line 412 of file svm_wrapper.h.
References pcl::SVM::adaptInputToLibSVM(), pcl::SVM::getClassName(), svm_scaling::max, prob_, scaling_, and training_set_.
|
inline |
Set whether the classification has to be done with the probability estimate.
(The classifier model has to support it).
Definition at line 517 of file svm_wrapper.h.
References predict_probability_.
|
protected |
Definition at line 130 of file svm_wrapper.h.
Referenced by SVMClassify().
|
protected |
Definition at line 134 of file svm_wrapper.h.
|
protected |
Definition at line 132 of file svm_wrapper.h.
|
protected |
Definition at line 133 of file svm_wrapper.h.
|
protected |
Definition at line 126 of file svm_wrapper.h.
Referenced by loadClassProblem(), setClassifierModel(), and ~SVMClassify().
|
protected |
Definition at line 390 of file svm_wrapper.h.
Referenced by setClassifierModel(), and ~SVMClassify().
|
protected |
Definition at line 129 of file svm_wrapper.h.
|
protected |
Definition at line 392 of file svm_wrapper.h.
Referenced by setProbabilityEstimates().
|
protected |
Definition at line 393 of file svm_wrapper.h.
Referenced by getClassificationResult().
|
protected |
Definition at line 125 of file svm_wrapper.h.
Referenced by loadClassProblem(), loadNormClassProblem(), saveNormClassProblem(), and setInputTrainingSet().
|
protected |
Definition at line 127 of file svm_wrapper.h.
Referenced by loadClassProblem(), setClassifierModel(), and setInputTrainingSet().
|
protected |
Definition at line 124 of file svm_wrapper.h.
Referenced by getInputTrainingSet(), loadClassProblem(), loadNormClassProblem(), resetTrainingSet(), and setInputTrainingSet().