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::regression Class Reference

#include <regression.hpp>

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

Public Types

typedef core::regression::regression_base regression_base
 

Public Member Functions

void clear ()
 
float estimate (const fv_converter::datum &data) const
 
void get_status (std::map< std::string, std::string > &status) const
 
void pack (framework::packer &pk) const
 
 regression (jubatus::util::lang::shared_ptr< storage::storage_base > model_storage, jubatus::util::lang::shared_ptr< regression_base > regression_method, jubatus::util::lang::shared_ptr< fv_converter::datum_to_fv_converter > converter)
 
void train (const std::pair< float, fv_converter::datum > &data)
 
void unpack (msgpack::object o)
 
virtual ~regression ()
 
- 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< fv_converter::datum_to_fv_converterconverter_
 
framework::linear_function_mixer mixable_regression_model_
 
jubatus::util::lang::shared_ptr< jubatus::core::regression::regression_baseregression_
 
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 regression.hpp.

Member Typedef Documentation

Definition at line 42 of file regression.hpp.

Constructor & Destructor Documentation

jubatus::core::driver::regression::regression ( jubatus::util::lang::shared_ptr< storage::storage_base model_storage,
jubatus::util::lang::shared_ptr< regression_base regression_method,
jubatus::util::lang::shared_ptr< fv_converter::datum_to_fv_converter converter 
)

Definition at line 39 of file regression.cpp.

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

43  : converter_(converter)
44  , regression_(regression_method)
45  , mixable_regression_model_(regression_method->get_storage())
49 
50  converter_->set_weight_manager(wm_.get_model());
51 }
jubatus::util::lang::shared_ptr< jubatus::core::regression::regression_base > regression_
Definition: regression.hpp:65
fv_converter::mixable_weight_manager wm_
Definition: regression.hpp:67
framework::linear_function_mixer mixable_regression_model_
Definition: regression.hpp:66
jubatus::util::lang::shared_ptr< fv_converter::datum_to_fv_converter > converter_
Definition: regression.hpp:63
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::regression::~regression ( )
virtual

Definition at line 53 of file regression.cpp.

53  {
54 }

Member Function Documentation

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

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

Definition at line 74 of file regression.cpp.

References converter_, and regression_.

74  {
75  regression_->clear();
76  converter_->clear_weights();
77 }
jubatus::util::lang::shared_ptr< jubatus::core::regression::regression_base > regression_
Definition: regression.hpp:65
jubatus::util::lang::shared_ptr< fv_converter::datum_to_fv_converter > converter_
Definition: regression.hpp:63
float jubatus::core::driver::regression::estimate ( const fv_converter::datum data) const

Definition at line 62 of file regression.cpp.

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

63  {
65  converter_->convert(data, v);
66  float value = regression_->estimate(v);
67  return value;
68 }
jubatus::util::lang::shared_ptr< jubatus::core::regression::regression_base > regression_
Definition: regression.hpp:65
std::vector< T > v(size)
std::vector< std::pair< std::string, float > > sfv_t
Definition: type.hpp:29
jubatus::util::lang::shared_ptr< fv_converter::datum_to_fv_converter > converter_
Definition: regression.hpp:63

Here is the call graph for this function:

void jubatus::core::driver::regression::get_status ( std::map< std::string, std::string > &  status) const

Definition at line 70 of file regression.cpp.

References regression_.

70  {
71  regression_->get_status(status);
72 }
jubatus::util::lang::shared_ptr< jubatus::core::regression::regression_base > regression_
Definition: regression.hpp:65
void jubatus::core::driver::regression::pack ( framework::packer pk) const
virtual

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

Definition at line 79 of file regression.cpp.

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

79  {
80  pk.pack_array(2);
81  regression_->get_storage()->pack(pk);
82  wm_.get_model()->pack(pk);
83 }
jubatus::util::lang::shared_ptr< jubatus::core::regression::regression_base > regression_
Definition: regression.hpp:65
fv_converter::mixable_weight_manager wm_
Definition: regression.hpp:67

Here is the call graph for this function:

void jubatus::core::driver::regression::train ( const std::pair< float, fv_converter::datum > &  data)

Definition at line 56 of file regression.cpp.

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

56  {
58  converter_->convert_and_update_weight(data.second, v);
59  regression_->train(v, data.first);
60 }
jubatus::util::lang::shared_ptr< jubatus::core::regression::regression_base > regression_
Definition: regression.hpp:65
std::vector< T > v(size)
std::vector< std::pair< std::string, float > > sfv_t
Definition: type.hpp:29
jubatus::util::lang::shared_ptr< fv_converter::datum_to_fv_converter > converter_
Definition: regression.hpp:63

Here is the call graph for this function:

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

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

Definition at line 85 of file regression.cpp.

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

85  {
86  if (o.type != msgpack::type::ARRAY || o.via.array.size != 2) {
87  throw msgpack::type_error();
88  }
89 
90  // clear before load
91  regression_->clear();
92  converter_->clear_weights();
93  regression_->get_storage()->unpack(o.via.array.ptr[0]);
94  wm_.get_model()->unpack(o.via.array.ptr[1]);
95 }
jubatus::util::lang::shared_ptr< jubatus::core::regression::regression_base > regression_
Definition: regression.hpp:65
fv_converter::mixable_weight_manager wm_
Definition: regression.hpp:67
jubatus::util::lang::shared_ptr< fv_converter::datum_to_fv_converter > converter_
Definition: regression.hpp:63

Here is the call graph for this function:

Member Data Documentation

jubatus::util::lang::shared_ptr<fv_converter::datum_to_fv_converter> jubatus::core::driver::regression::converter_
private

Definition at line 63 of file regression.hpp.

Referenced by clear(), estimate(), regression(), train(), and unpack().

framework::linear_function_mixer jubatus::core::driver::regression::mixable_regression_model_
private

Definition at line 66 of file regression.hpp.

Referenced by regression().

jubatus::util::lang::shared_ptr<jubatus::core::regression::regression_base> jubatus::core::driver::regression::regression_
private

Definition at line 65 of file regression.hpp.

Referenced by clear(), estimate(), get_status(), pack(), train(), and unpack().

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

Definition at line 67 of file regression.hpp.

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


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