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

#include <recommender.hpp>

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

Public Member Functions

float calc_l2norm (const fv_converter::datum &q)
 
float calc_similality (const fv_converter::datum &l, const fv_converter::datum &r)
 
void clear ()
 
void clear_row (const std::string &id)
 
fv_converter::datum complete_row_from_datum (const fv_converter::datum &dat)
 
fv_converter::datum complete_row_from_id (const std::string &id)
 
fv_converter::datum decode_row (const std::string &id)
 
std::vector< std::string > get_all_rows ()
 
void pack (framework::packer &pk) const
 
 recommender (jubatus::util::lang::shared_ptr< core::recommender::recommender_base > method, jubatus::util::lang::shared_ptr< fv_converter::datum_to_fv_converter > converter)
 
std::vector< std::pair< std::string, float > > similar_row_from_datum (const fv_converter::datum &data, size_t size)
 
std::vector< std::pair< std::string, float > > similar_row_from_id (const std::string &id, size_t ret_num)
 
void unpack (msgpack::object o)
 
void update_row (const std::string &id, const fv_converter::datum &dat)
 
virtual ~recommender ()
 
- 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_
 
jubatus::util::lang::shared_ptr< core::recommender::recommender_baserecommender_
 
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 42 of file recommender.hpp.

Constructor & Destructor Documentation

jubatus::core::driver::recommender::recommender ( jubatus::util::lang::shared_ptr< core::recommender::recommender_base method,
jubatus::util::lang::shared_ptr< fv_converter::datum_to_fv_converter converter 
)

Definition at line 44 of file recommender.cpp.

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

47  : converter_(converter),
48  recommender_(recommender_method),
50  register_mixable(recommender_->get_mixable());
52 
53  converter_->set_weight_manager(wm_.get_model());
54 }
jubatus::util::lang::shared_ptr< core::recommender::recommender_base > recommender_
Definition: recommender.hpp:78
fv_converter::mixable_weight_manager wm_
Definition: recommender.hpp:79
jubatus::util::lang::shared_ptr< fv_converter::datum_to_fv_converter > converter_
Definition: recommender.hpp:76
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::recommender::~recommender ( )
virtual

Definition at line 56 of file recommender.cpp.

56  {
57 }

Member Function Documentation

float jubatus::core::driver::recommender::calc_l2norm ( const fv_converter::datum q)

Definition at line 125 of file recommender.cpp.

References jubatus::core::recommender::recommender_base::calc_l2norm(), and converter_.

125  {
126  common::sfv_t v0;
127  converter_->convert(q, v0);
129 }
static float calc_l2norm(const common::sfv_t &query)
jubatus::util::lang::shared_ptr< fv_converter::datum_to_fv_converter > converter_
Definition: recommender.hpp:76
std::vector< std::pair< std::string, float > > sfv_t
Definition: type.hpp:29

Here is the call graph for this function:

float jubatus::core::driver::recommender::calc_similality ( const fv_converter::datum l,
const fv_converter::datum r 
)

Definition at line 116 of file recommender.cpp.

References jubatus::core::recommender::recommender_base::calc_similality(), and converter_.

118  {
119  common::sfv_t v0, v1;
120  converter_->convert(l, v0);
121  converter_->convert(r, v1);
123 }
jubatus::util::lang::shared_ptr< fv_converter::datum_to_fv_converter > converter_
Definition: recommender.hpp:76
std::vector< std::pair< std::string, float > > sfv_t
Definition: type.hpp:29
static float calc_similality(common::sfv_t &q1, common::sfv_t &q2)

Here is the call graph for this function:

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

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

Definition at line 71 of file recommender.cpp.

References converter_, and recommender_.

71  {
72  recommender_->clear();
73  converter_->clear_weights();
74 }
jubatus::util::lang::shared_ptr< core::recommender::recommender_base > recommender_
Definition: recommender.hpp:78
jubatus::util::lang::shared_ptr< fv_converter::datum_to_fv_converter > converter_
Definition: recommender.hpp:76
void jubatus::core::driver::recommender::clear_row ( const std::string &  id)

Definition at line 59 of file recommender.cpp.

References recommender_.

59  {
60  recommender_->clear_row(id);
61 }
jubatus::util::lang::shared_ptr< core::recommender::recommender_base > recommender_
Definition: recommender.hpp:78
fv_converter::datum jubatus::core::driver::recommender::complete_row_from_datum ( const fv_converter::datum dat)

Definition at line 85 of file recommender.cpp.

References converter_, recommender_, jubatus::core::fv_converter::revert_feature(), and jubatus::core::common::jsonconfig::v().

86  {
87  common::sfv_t u, v;
88  converter_->convert(dat, u);
89  recommender_->complete_row(u, v);
90 
91  fv_converter::datum ret;
93  return ret;
94 }
void revert_feature(const common::sfv_t &fv, fv_converter::datum &data)
Definition: revert.cpp:31
jubatus::util::lang::shared_ptr< core::recommender::recommender_base > recommender_
Definition: recommender.hpp:78
jubatus::util::lang::shared_ptr< fv_converter::datum_to_fv_converter > converter_
Definition: recommender.hpp:76
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:

fv_converter::datum jubatus::core::driver::recommender::complete_row_from_id ( const std::string &  id)

Definition at line 76 of file recommender.cpp.

References recommender_, jubatus::core::fv_converter::revert_feature(), and jubatus::core::common::jsonconfig::v().

76  {
78  recommender_->complete_row(id, v);
79 
80  fv_converter::datum ret;
82  return ret;
83 }
void revert_feature(const common::sfv_t &fv, fv_converter::datum &data)
Definition: revert.cpp:31
jubatus::util::lang::shared_ptr< core::recommender::recommender_base > recommender_
Definition: recommender.hpp:78
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:

fv_converter::datum jubatus::core::driver::recommender::decode_row ( const std::string &  id)

Definition at line 131 of file recommender.cpp.

References recommender_, jubatus::core::fv_converter::revert_feature(), and jubatus::core::common::jsonconfig::v().

131  {
133  recommender_->decode_row(id, v);
134 
135  fv_converter::datum ret;
137  return ret;
138 }
void revert_feature(const common::sfv_t &fv, fv_converter::datum &data)
Definition: revert.cpp:31
jubatus::util::lang::shared_ptr< core::recommender::recommender_base > recommender_
Definition: recommender.hpp:78
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:

std::vector< std::string > jubatus::core::driver::recommender::get_all_rows ( )

Definition at line 140 of file recommender.cpp.

References recommender_.

140  {
141  std::vector<std::string> ret;
142  recommender_->get_all_row_ids(ret);
143  return ret;
144 }
jubatus::util::lang::shared_ptr< core::recommender::recommender_base > recommender_
Definition: recommender.hpp:78
void jubatus::core::driver::recommender::pack ( framework::packer pk) const
virtual

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

Definition at line 146 of file recommender.cpp.

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

146  {
147  pk.pack_array(2);
148  recommender_->pack(pk);
149  wm_.get_model()->pack(pk);
150 }
jubatus::util::lang::shared_ptr< core::recommender::recommender_base > recommender_
Definition: recommender.hpp:78
fv_converter::mixable_weight_manager wm_
Definition: recommender.hpp:79

Here is the call graph for this function:

std::vector< std::pair< std::string, float > > jubatus::core::driver::recommender::similar_row_from_datum ( const fv_converter::datum data,
size_t  size 
)

Definition at line 105 of file recommender.cpp.

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

107  {
109  converter_->convert(data, v);
110 
111  std::vector<std::pair<std::string, float> > ret;
112  recommender_->similar_row(v, ret, size);
113  return ret;
114 }
jubatus::util::lang::shared_ptr< core::recommender::recommender_base > recommender_
Definition: recommender.hpp:78
jubatus::util::lang::shared_ptr< fv_converter::datum_to_fv_converter > converter_
Definition: recommender.hpp:76
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:

std::vector< std::pair< std::string, float > > jubatus::core::driver::recommender::similar_row_from_id ( const std::string &  id,
size_t  ret_num 
)

Definition at line 96 of file recommender.cpp.

References recommender_.

98  {
99  std::vector<std::pair<std::string, float> > ret;
100  recommender_->similar_row(id, ret, ret_num);
101  return ret;
102 }
jubatus::util::lang::shared_ptr< core::recommender::recommender_base > recommender_
Definition: recommender.hpp:78
void jubatus::core::driver::recommender::unpack ( msgpack::object  o)
virtual

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

Definition at line 152 of file recommender.cpp.

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

152  {
153  if (o.type != msgpack::type::ARRAY || o.via.array.size != 2) {
154  throw msgpack::type_error();
155  }
156 
157  // clear before load
158  recommender_->clear();
159  converter_->clear_weights();
160  recommender_->unpack(o.via.array.ptr[0]);
161  wm_.get_model()->unpack(o.via.array.ptr[1]);
162 }
jubatus::util::lang::shared_ptr< core::recommender::recommender_base > recommender_
Definition: recommender.hpp:78
fv_converter::mixable_weight_manager wm_
Definition: recommender.hpp:79
jubatus::util::lang::shared_ptr< fv_converter::datum_to_fv_converter > converter_
Definition: recommender.hpp:76

Here is the call graph for this function:

void jubatus::core::driver::recommender::update_row ( const std::string &  id,
const fv_converter::datum dat 
)

Definition at line 63 of file recommender.cpp.

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

65  {
67  converter_->convert_and_update_weight(dat, v);
68  recommender_->update_row(id, v);
69 }
jubatus::util::lang::shared_ptr< core::recommender::recommender_base > recommender_
Definition: recommender.hpp:78
core::common::sfv_t sfv_diff_t
jubatus::util::lang::shared_ptr< fv_converter::datum_to_fv_converter > converter_
Definition: recommender.hpp:76
std::vector< T > v(size)

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::recommender::converter_
private
jubatus::util::lang::shared_ptr<core::recommender::recommender_base> jubatus::core::driver::recommender::recommender_
private
fv_converter::mixable_weight_manager jubatus::core::driver::recommender::wm_
private

Definition at line 79 of file recommender.hpp.

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


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