jubatus_core
0.1.2
Jubatus: Online machine learning framework for distributed environment
|
#include <linear_classifier.hpp>
Public Member Functions | |
std::string | classify (const common::sfv_t &fv) const |
void | classify_with_scores (const common::sfv_t &fv, classify_result &scores) const |
void | clear () |
bool | delete_label (const std::string &label) |
std::vector< std::string > | get_labels () const |
framework::mixable * | get_mixable () |
virtual void | get_status (std::map< std::string, std::string > &status) const |
jubatus::util::lang::shared_ptr< unlearner::unlearner_base > | label_unlearner () const |
linear_classifier (storage_ptr storage) | |
virtual std::string | name () const =0 |
void | pack (framework::packer &pk) const |
bool | set_label (const std::string &label) |
void | set_label_unlearner (jubatus::util::lang::shared_ptr< unlearner::unlearner_base > label_unlearner) |
virtual void | train (const common::sfv_t &fv, const std::string &label)=0 |
bool | unlearn_label (const std::string &label) |
void | unpack (msgpack::object o) |
virtual | ~linear_classifier () |
Public Member Functions inherited from jubatus::core::classifier::classifier_base | |
classifier_base () | |
virtual | ~classifier_base () |
Protected Member Functions | |
float | calc_margin (const common::sfv_t &sfv, const std::string &label, std::string &incorrect_label) const |
float | calc_margin_and_variance (const common::sfv_t &sfv, const std::string &label, std::string &incorrect_label, float &variance) const |
void | check_touchable (const std::string &label) |
std::string | get_largest_incorrect_label (const common::sfv_t &sfv, const std::string &label, classify_result &scores) const |
void | touch (const std::string &label) |
void | update_weight (const common::sfv_t &sfv, float step_weigth, const std::string &pos_label, const std::string &neg_class) |
Static Protected Member Functions | |
static float | squared_norm (const common::sfv_t &sfv) |
Protected Attributes | |
framework::linear_function_mixer | mixable_storage_ |
storage_ptr | storage_ |
jubatus::util::lang::shared_ptr< unlearner::unlearner_base > | unlearner_ |
Definition at line 38 of file linear_classifier.hpp.
|
explicit |
Definition at line 42 of file linear_classifier.cpp.
|
virtual |
Definition at line 46 of file linear_classifier.cpp.
|
protected |
Definition at line 151 of file linear_classifier.cpp.
References get_largest_incorrect_label().
Referenced by calc_margin_and_variance(), jubatus::core::classifier::passive_aggressive_1::train(), and jubatus::core::classifier::passive_aggressive_2::train().
|
protected |
Definition at line 170 of file linear_classifier.cpp.
References calc_margin(), and storage_.
Referenced by jubatus::core::classifier::arow::train(), jubatus::core::classifier::normal_herd::train(), and jubatus::core::classifier::confidence_weighted::train().
|
protected |
Definition at line 225 of file linear_classifier.cpp.
References JUBATUS_EXCEPTION, and unlearner_.
Referenced by set_label(), touch(), jubatus::core::classifier::perceptron::train(), jubatus::core::classifier::arow::train(), jubatus::core::classifier::normal_herd::train(), jubatus::core::classifier::confidence_weighted::train(), jubatus::core::classifier::passive_aggressive_1::train(), and jubatus::core::classifier::passive_aggressive_2::train().
string jubatus::core::classifier::linear_classifier::classify | ( | const common::sfv_t & | fv | ) | const |
Definition at line 81 of file linear_classifier.cpp.
References classify_with_scores().
Referenced by jubatus::core::classifier::perceptron::train().
|
virtual |
Implements jubatus::core::classifier::classifier_base.
Definition at line 68 of file linear_classifier.cpp.
References storage_.
Referenced by classify(), and get_largest_incorrect_label().
|
virtual |
Implements jubatus::core::classifier::classifier_base.
Definition at line 96 of file linear_classifier.cpp.
References storage_, and unlearner_.
|
virtual |
Implements jubatus::core::classifier::classifier_base.
Definition at line 232 of file linear_classifier.cpp.
References storage_, and unlearner_.
|
virtual |
Implements jubatus::core::classifier::classifier_base.
Definition at line 103 of file linear_classifier.cpp.
References storage_.
|
protected |
Definition at line 131 of file linear_classifier.cpp.
References classify_with_scores().
Referenced by calc_margin().
|
virtual |
Implements jubatus::core::classifier::classifier_base.
Definition at line 213 of file linear_classifier.cpp.
References mixable_storage_.
|
virtual |
Implements jubatus::core::classifier::classifier_base.
Definition at line 118 of file linear_classifier.cpp.
References storage_.
|
inline |
Definition at line 49 of file linear_classifier.hpp.
References unlearner_.
Referenced by set_label_unlearner().
|
pure virtual |
Implements jubatus::core::classifier::classifier_base.
Implemented in jubatus::core::classifier::passive_aggressive_2, jubatus::core::classifier::confidence_weighted, jubatus::core::classifier::normal_herd, jubatus::core::classifier::passive_aggressive_1, jubatus::core::classifier::arow, jubatus::core::classifier::passive_aggressive, and jubatus::core::classifier::perceptron.
|
virtual |
Implements jubatus::core::classifier::classifier_base.
Definition at line 206 of file linear_classifier.cpp.
References storage_.
|
virtual |
Implements jubatus::core::classifier::classifier_base.
Definition at line 107 of file linear_classifier.cpp.
References check_touchable(), storage_, and unlearner_.
|
virtual |
Implements jubatus::core::classifier::classifier_base.
Definition at line 58 of file linear_classifier.cpp.
References label_unlearner(), mixable_storage_, jubatus::core::framework::linear_function_mixer::set_label_unlearner(), and unlearner_.
|
staticprotected |
Definition at line 198 of file linear_classifier.cpp.
Referenced by jubatus::core::classifier::passive_aggressive_1::train(), and jubatus::core::classifier::passive_aggressive_2::train().
|
protected |
Definition at line 217 of file linear_classifier.cpp.
References check_touchable(), and unlearner_.
Referenced by jubatus::core::classifier::perceptron::train(), jubatus::core::classifier::passive_aggressive_1::train(), jubatus::core::classifier::passive_aggressive_2::train(), jubatus::core::classifier::arow::update(), jubatus::core::classifier::normal_herd::update(), and jubatus::core::classifier::confidence_weighted::update().
|
pure virtual |
Implements jubatus::core::classifier::classifier_base.
Implemented in jubatus::core::classifier::passive_aggressive_2, jubatus::core::classifier::confidence_weighted, jubatus::core::classifier::normal_herd, jubatus::core::classifier::passive_aggressive_1, jubatus::core::classifier::arow, jubatus::core::classifier::passive_aggressive, and jubatus::core::classifier::perceptron.
bool jubatus::core::classifier::linear_classifier::unlearn_label | ( | const std::string & | label | ) |
Callback function to delete the label via unlearner.
Definition at line 247 of file linear_classifier.cpp.
References storage_.
|
virtual |
Implements jubatus::core::classifier::classifier_base.
Definition at line 209 of file linear_classifier.cpp.
References storage_.
|
protected |
Definition at line 123 of file linear_classifier.cpp.
References storage_.
Referenced by jubatus::core::classifier::perceptron::train(), jubatus::core::classifier::passive_aggressive_1::train(), and jubatus::core::classifier::passive_aggressive_2::train().
|
protected |
Definition at line 101 of file linear_classifier.hpp.
Referenced by get_mixable(), and set_label_unlearner().
|
protected |
Definition at line 99 of file linear_classifier.hpp.
Referenced by calc_margin_and_variance(), classify_with_scores(), clear(), delete_label(), get_labels(), get_status(), pack(), set_label(), jubatus::core::classifier::arow::train(), jubatus::core::classifier::normal_herd::train(), jubatus::core::classifier::confidence_weighted::train(), jubatus::core::classifier::passive_aggressive_1::train(), jubatus::core::classifier::passive_aggressive_2::train(), unlearn_label(), unpack(), jubatus::core::classifier::arow::update(), jubatus::core::classifier::normal_herd::update(), jubatus::core::classifier::confidence_weighted::update(), and update_weight().
|
protected |
Definition at line 100 of file linear_classifier.hpp.
Referenced by check_touchable(), clear(), delete_label(), label_unlearner(), set_label(), set_label_unlearner(), and touch().