jubatus_core  0.1.2
Jubatus: Online machine learning framework for distributed environment
Public Types | Public Member Functions | Private Attributes | List of all members
jubatus::core::driver::classifier Class Reference

#include <classifier.hpp>

Inheritance diagram for jubatus::core::driver::classifier:
Inheritance graph
Collaboration diagram for jubatus::core::driver::classifier:
Collaboration graph

Public Types

typedef core::classifier::classifier_base classifier_base
 

Public Member Functions

 classifier (jubatus::util::lang::shared_ptr< classifier_base > classifier_method, jubatus::util::lang::shared_ptr< fv_converter::datum_to_fv_converter > converter)
 
jubatus::core::classifier::classify_result classify (const fv_converter::datum &data) const
 
void clear ()
 
bool delete_label (const std::string &name)
 
std::vector< std::string > get_labels () const
 
void get_status (std::map< std::string, std::string > &status) const
 
void pack (framework::packer &pk) const
 
bool set_label (const std::string &label)
 
void train (const std::string &, const fv_converter::datum &)
 
void unpack (msgpack::object o)
 
virtual ~classifier ()
 
- Public Member Functions inherited from jubatus::core::driver::driver_base
 driver_base ()
 
virtual framework::mixableget_mixable ()
 
std::vector< storage::versionget_versions () const
 
virtual ~driver_base ()
 

Private Attributes

jubatus::util::lang::shared_ptr< classifier_baseclassifier_
 
jubatus::util::lang::shared_ptr< fv_converter::datum_to_fv_converterconverter_
 
fv_converter::mixable_weight_manager wm_
 

Additional Inherited Members

- Protected Member Functions inherited from jubatus::core::driver::driver_base
void register_mixable (framework::mixable *mixable)
 
- Protected Attributes inherited from jubatus::core::driver::driver_base
mixable_holder holder_
 

Detailed Description

Definition at line 40 of file classifier.hpp.

Member Typedef Documentation

Definition at line 42 of file classifier.hpp.

Constructor & Destructor Documentation

jubatus::core::driver::classifier::classifier ( jubatus::util::lang::shared_ptr< classifier_base classifier_method,
jubatus::util::lang::shared_ptr< fv_converter::datum_to_fv_converter converter 
)

Definition at line 42 of file classifier.cpp.

References classifier_, converter_, jubatus::core::framework::linear_mixable_helper< Model, Diff >::get_model(), jubatus::core::driver::driver_base::register_mixable(), and wm_.

45  : converter_(converter)
46  , classifier_(classifier_method)
48  register_mixable(classifier_->get_mixable());
50 
51  converter_->set_weight_manager(wm_.get_model());
52 }
jubatus::util::lang::shared_ptr< fv_converter::datum_to_fv_converter > converter_
Definition: classifier.hpp:69
jubatus::util::lang::shared_ptr< classifier_base > classifier_
Definition: classifier.hpp:70
fv_converter::mixable_weight_manager wm_
Definition: classifier.hpp:71
void register_mixable(framework::mixable *mixable)
Definition: driver.cpp:242
storage::mixable_lsh_index_storage::model_ptr model_ptr
Definition: euclid_lsh.cpp:90

Here is the call graph for this function:

jubatus::core::driver::classifier::~classifier ( )
virtual

Definition at line 54 of file classifier.cpp.

54  {
55 }

Member Function Documentation

jubatus::core::classifier::classify_result jubatus::core::driver::classifier::classify ( const fv_converter::datum data) const

Definition at line 64 of file classifier.cpp.

References classifier_, converter_, and jubatus::core::common::jsonconfig::v().

65  {
67  converter_->convert(data, v);
68 
70  classifier_->classify_with_scores(v, scores);
71  return scores;
72 }
std::vector< classify_result_elem > classify_result
jubatus::util::lang::shared_ptr< fv_converter::datum_to_fv_converter > converter_
Definition: classifier.hpp:69
jubatus::util::lang::shared_ptr< classifier_base > classifier_
Definition: classifier.hpp:70
std::vector< T > v(size)
std::vector< std::pair< std::string, float > > sfv_t
Definition: type.hpp:29

Here is the call graph for this function:

void jubatus::core::driver::classifier::clear ( )
virtual

Implements jubatus::core::driver::driver_base.

Definition at line 82 of file classifier.cpp.

References classifier_, and converter_.

82  {
83  classifier_->clear();
84  converter_->clear_weights();
85 }
jubatus::util::lang::shared_ptr< fv_converter::datum_to_fv_converter > converter_
Definition: classifier.hpp:69
jubatus::util::lang::shared_ptr< classifier_base > classifier_
Definition: classifier.hpp:70
bool jubatus::core::driver::classifier::delete_label ( const std::string &  name)

Definition at line 78 of file classifier.cpp.

References classifier_.

78  {
79  return classifier_->delete_label(label);
80 }
jubatus::util::lang::shared_ptr< classifier_base > classifier_
Definition: classifier.hpp:70
std::vector< std::string > jubatus::core::driver::classifier::get_labels ( ) const

Definition at line 87 of file classifier.cpp.

References classifier_.

87  {
88  return classifier_->get_labels();
89 }
jubatus::util::lang::shared_ptr< classifier_base > classifier_
Definition: classifier.hpp:70
void jubatus::core::driver::classifier::get_status ( std::map< std::string, std::string > &  status) const

Definition at line 74 of file classifier.cpp.

References classifier_.

74  {
75  classifier_->get_status(status);
76 }
jubatus::util::lang::shared_ptr< classifier_base > classifier_
Definition: classifier.hpp:70
void jubatus::core::driver::classifier::pack ( framework::packer pk) const
virtual

Implements jubatus::core::driver::driver_base.

Definition at line 94 of file classifier.cpp.

References classifier_, jubatus::core::framework::linear_mixable_helper< Model, Diff >::get_model(), and wm_.

94  {
95  pk.pack_array(2);
96  classifier_->pack(pk);
97  wm_.get_model()->pack(pk);
98 }
jubatus::util::lang::shared_ptr< classifier_base > classifier_
Definition: classifier.hpp:70
fv_converter::mixable_weight_manager wm_
Definition: classifier.hpp:71

Here is the call graph for this function:

bool jubatus::core::driver::classifier::set_label ( const std::string &  label)

Definition at line 90 of file classifier.cpp.

References classifier_.

90  {
91  return classifier_->set_label(label);
92 }
jubatus::util::lang::shared_ptr< classifier_base > classifier_
Definition: classifier.hpp:70
void jubatus::core::driver::classifier::train ( const std::string &  ,
const fv_converter::datum  
)

Definition at line 57 of file classifier.cpp.

References classifier_, converter_, jubatus::core::common::sort_and_merge(), and jubatus::core::common::jsonconfig::v().

57  {
59  converter_->convert_and_update_weight(data, v);
61  classifier_->train(v, label);
62 }
jubatus::util::lang::shared_ptr< fv_converter::datum_to_fv_converter > converter_
Definition: classifier.hpp:69
jubatus::util::lang::shared_ptr< classifier_base > classifier_
Definition: classifier.hpp:70
std::vector< T > v(size)
void sort_and_merge(sfv_t &sfv)
Definition: vector_util.cpp:28
std::vector< std::pair< std::string, float > > sfv_t
Definition: type.hpp:29

Here is the call graph for this function:

void jubatus::core::driver::classifier::unpack ( msgpack::object  o)
virtual

Implements jubatus::core::driver::driver_base.

Definition at line 100 of file classifier.cpp.

References classifier_, converter_, jubatus::core::framework::linear_mixable_helper< Model, Diff >::get_model(), and wm_.

100  {
101  if (o.type != msgpack::type::ARRAY || o.via.array.size != 2) {
102  throw msgpack::type_error();
103  }
104 
105  // clear before load
106  classifier_->clear();
107  converter_->clear_weights();
108  classifier_->unpack(o.via.array.ptr[0]);
109  wm_.get_model()->unpack(o.via.array.ptr[1]);
110 }
jubatus::util::lang::shared_ptr< fv_converter::datum_to_fv_converter > converter_
Definition: classifier.hpp:69
jubatus::util::lang::shared_ptr< classifier_base > classifier_
Definition: classifier.hpp:70
fv_converter::mixable_weight_manager wm_
Definition: classifier.hpp:71

Here is the call graph for this function:

Member Data Documentation

jubatus::util::lang::shared_ptr<classifier_base> jubatus::core::driver::classifier::classifier_
private
jubatus::util::lang::shared_ptr<fv_converter::datum_to_fv_converter> jubatus::core::driver::classifier::converter_
private

Definition at line 69 of file classifier.hpp.

Referenced by classifier(), classify(), clear(), train(), and unpack().

fv_converter::mixable_weight_manager jubatus::core::driver::classifier::wm_
private

Definition at line 71 of file classifier.hpp.

Referenced by classifier(), pack(), and unpack().


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