ModErn Text Analysis
META Enumerates Textual Applications
Public Member Functions | Static Public Attributes | Private Attributes | List of all members
meta::classify::one_vs_all Class Reference

Generalizes binary classifiers to operate over multiclass types using the one vs all method. More...

#include <one_vs_all.h>

Inheritance diagram for meta::classify::one_vs_all:
meta::classify::classifier

Public Member Functions

template<class Function >
 one_vs_all (std::shared_ptr< index::forward_index > idx, Function &&create)
 Constructs a new one_vs_all classifier on the given index by using the given function to create binary_classifiers. More...
 
void train (const std::vector< doc_id > &docs) override
 Creates a classification model based on training documents. More...
 
class_label classify (doc_id d_id) override
 Classifies a document into a specific group, as determined by training data. More...
 
void reset () override
 Clears any learning data associated with this classifier.
 
- Public Member Functions inherited from meta::classify::classifier
 classifier (std::shared_ptr< index::forward_index > idx)
 
virtual confusion_matrix test (const std::vector< doc_id > &docs)
 Classifies a collection document into specific groups, as determined by training data; this function will make repeated calls to classify(). More...
 
virtual confusion_matrix cross_validate (const std::vector< doc_id > &input_docs, size_t k, bool even_split=false, int seed=1)
 Performs k-fold cross-validation on a set of documents. More...
 

Static Public Attributes

static const std::string id = "one-vs-all"
 The identifier for this classifier.
 

Private Attributes

std::unordered_map< class_label, std::unique_ptr< binary_classifier > > classifiers_
 The set of classifiers this ensemble uses for classification.
 

Additional Inherited Members

- Protected Attributes inherited from meta::classify::classifier
std::shared_ptr< index::forward_indexidx_
 the index that the classifer is run on
 

Detailed Description

Generalizes binary classifiers to operate over multiclass types using the one vs all method.

Constructor & Destructor Documentation

template<class Function >
meta::classify::one_vs_all::one_vs_all ( std::shared_ptr< index::forward_index idx,
Function &&  create 
)
inline

Constructs a new one_vs_all classifier on the given index by using the given function to create binary_classifiers.

The create parameter must take a single parameter: the positive label for the binary classifier to be created.

Parameters
idxThe forward_index to be passed to each binary_classifier created for the ensemble
createA Callable (function object, lambda, etc.) that is used to create the individual binary_classifiers.

Member Function Documentation

void meta::classify::one_vs_all::train ( const std::vector< doc_id > &  docs)
overridevirtual

Creates a classification model based on training documents.

Parameters
docsThe training documents

Implements meta::classify::classifier.

class_label meta::classify::one_vs_all::classify ( doc_id  d_id)
overridevirtual

Classifies a document into a specific group, as determined by training data.

Parameters
d_idThe document to classify
Returns
the class it belongs to

Implements meta::classify::classifier.


The documentation for this class was generated from the following files: