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

#include <recommender_mock_storage.hpp>

Collaboration diagram for jubatus::core::recommender::recommender_mock_storage:
Collaboration graph

Public Member Functions

void clear ()
 
void get_diff (recommender_mock_storage &diff) const
 
storage::version get_version () const
 
void mix (const recommender_mock_storage &lhs, recommender_mock_storage &rhs) const
 
 MSGPACK_DEFINE (similar_relation_, neighbor_relation_)
 
std::string name () const
 
void neighbor_items_distance (const common::sfv_t &query, std::vector< std::pair< std::string, float > > &ids, size_t ret_num) const
 
void pack (framework::packer &packer) const
 
bool put_diff (const recommender_mock_storage &mixed_diff)
 
void remove (const common::sfv_t &query)
 
void set_neighbor_items (const common::sfv_t &query, const std::vector< std::pair< std::string, float > > &ids)
 
void set_similar_items (const common::sfv_t &query, const std::vector< std::pair< std::string, float > > &ids)
 
void similar_items_similarity (const common::sfv_t &query, std::vector< std::pair< std::string, float > > &ids, size_t ret_num) const
 
void unpack (msgpack::object o)
 
void update (const common::sfv_t &from, const common::sfv_t &to)
 
virtual ~recommender_mock_storage ()
 

Private Types

typedef std::map< common::sfv_t, std::vector< std::pair< std::string, float > > > relation_type
 

Static Private Member Functions

static void get_relation (const common::sfv_t &query, const relation_type &relmap, size_t ret_num, std::vector< std::pair< std::string, float > > &ids)
 
static void mix_relation (const relation_type &from, relation_type &to)
 
static void update_relation_key (const common::sfv_t &from, const common::sfv_t &to, relation_type &relmap)
 

Private Attributes

relation_type neighbor_relation_
 
relation_type similar_relation_
 

Detailed Description

Definition at line 33 of file recommender_mock_storage.hpp.

Member Typedef Documentation

typedef std::map<common::sfv_t, std::vector<std::pair<std::string, float> > > jubatus::core::recommender::recommender_mock_storage::relation_type
private

Definition at line 73 of file recommender_mock_storage.hpp.

Constructor & Destructor Documentation

jubatus::core::recommender::recommender_mock_storage::~recommender_mock_storage ( )
virtual

Definition at line 33 of file recommender_mock_storage.cpp.

33  {
34 }

Member Function Documentation

void jubatus::core::recommender::recommender_mock_storage::clear ( )
void jubatus::core::recommender::recommender_mock_storage::get_diff ( recommender_mock_storage diff) const

Definition at line 90 of file recommender_mock_storage.cpp.

90  {
91  diff = *this;
92 }
void jubatus::core::recommender::recommender_mock_storage::get_relation ( const common::sfv_t query,
const relation_type relmap,
size_t  ret_num,
std::vector< std::pair< std::string, float > > &  ids 
)
staticprivate

Definition at line 110 of file recommender_mock_storage.cpp.

Referenced by neighbor_items_distance(), and similar_items_similarity().

114  {
115  ids.clear();
116 
117  relation_type::const_iterator it = relmap.find(query);
118  if (it != relmap.end()) {
119  ids = it->second;
120  }
121 
122  if (ids.size() > ret_num) {
123  ids.resize(ret_num);
124  }
125 }

Here is the caller graph for this function:

storage::version jubatus::core::recommender::recommender_mock_storage::get_version ( ) const
inline

Definition at line 59 of file recommender_mock_storage.hpp.

59  {
60  return storage::version();
61  }
void jubatus::core::recommender::recommender_mock_storage::mix ( const recommender_mock_storage lhs,
recommender_mock_storage rhs 
) const

Definition at line 100 of file recommender_mock_storage.cpp.

References mix_relation(), neighbor_relation_, and similar_relation_.

102  {
103  mix_relation(lhs.similar_relation_, rhs.similar_relation_);
104  mix_relation(lhs.neighbor_relation_, rhs.neighbor_relation_);
105 }
static void mix_relation(const relation_type &from, relation_type &to)

Here is the call graph for this function:

void jubatus::core::recommender::recommender_mock_storage::mix_relation ( const relation_type from,
relation_type to 
)
staticprivate

Definition at line 144 of file recommender_mock_storage.cpp.

Referenced by mix().

146  {
147  for (relation_type::const_iterator it = from.begin(); it != from.end();
148  ++it) {
149  to[it->first] = it->second;
150  }
151 }

Here is the caller graph for this function:

jubatus::core::recommender::recommender_mock_storage::MSGPACK_DEFINE ( similar_relation_  ,
neighbor_relation_   
)
string jubatus::core::recommender::recommender_mock_storage::name ( ) const

Definition at line 78 of file recommender_mock_storage.cpp.

78  {
79  return "recommender_mock_storage";
80 }
void jubatus::core::recommender::recommender_mock_storage::neighbor_items_distance ( const common::sfv_t query,
std::vector< std::pair< std::string, float > > &  ids,
size_t  ret_num 
) const

Definition at line 55 of file recommender_mock_storage.cpp.

References get_relation(), and neighbor_relation_.

58  {
59  get_relation(query, neighbor_relation_, ret_num, ids);
60 }
static void get_relation(const common::sfv_t &query, const relation_type &relmap, size_t ret_num, std::vector< std::pair< std::string, float > > &ids)

Here is the call graph for this function:

void jubatus::core::recommender::recommender_mock_storage::pack ( framework::packer packer) const

Definition at line 82 of file recommender_mock_storage.cpp.

82  {
83  packer.pack(*this);
84 }
msgpack::packer< jubatus_packer > packer
Definition: bandit_base.hpp:31
bool jubatus::core::recommender::recommender_mock_storage::put_diff ( const recommender_mock_storage mixed_diff)

Definition at line 94 of file recommender_mock_storage.cpp.

95  {
96  *this = mixed_diff;
97  return true;
98 }
void jubatus::core::recommender::recommender_mock_storage::remove ( const common::sfv_t query)
void jubatus::core::recommender::recommender_mock_storage::set_neighbor_items ( const common::sfv_t query,
const std::vector< std::pair< std::string, float > > &  ids 
)

Definition at line 42 of file recommender_mock_storage.cpp.

References neighbor_relation_.

void jubatus::core::recommender::recommender_mock_storage::set_similar_items ( const common::sfv_t query,
const std::vector< std::pair< std::string, float > > &  ids 
)

Definition at line 36 of file recommender_mock_storage.cpp.

References similar_relation_.

void jubatus::core::recommender::recommender_mock_storage::similar_items_similarity ( const common::sfv_t query,
std::vector< std::pair< std::string, float > > &  ids,
size_t  ret_num 
) const

Definition at line 48 of file recommender_mock_storage.cpp.

References get_relation(), and similar_relation_.

51  {
52  get_relation(query, similar_relation_, ret_num, ids);
53 }
static void get_relation(const common::sfv_t &query, const relation_type &relmap, size_t ret_num, std::vector< std::pair< std::string, float > > &ids)

Here is the call graph for this function:

void jubatus::core::recommender::recommender_mock_storage::unpack ( msgpack::object  o)

Definition at line 86 of file recommender_mock_storage.cpp.

86  {
87  o.convert(this);
88 }
void jubatus::core::recommender::recommender_mock_storage::update ( const common::sfv_t from,
const common::sfv_t to 
)

Definition at line 62 of file recommender_mock_storage.cpp.

References neighbor_relation_, similar_relation_, and update_relation_key().

63  {
66 }
static void update_relation_key(const common::sfv_t &from, const common::sfv_t &to, relation_type &relmap)

Here is the call graph for this function:

void jubatus::core::recommender::recommender_mock_storage::update_relation_key ( const common::sfv_t from,
const common::sfv_t to,
relation_type relmap 
)
staticprivate

Definition at line 128 of file recommender_mock_storage.cpp.

Referenced by update().

131  {
132  relation_type::iterator it = relmap.find(from);
133  if (it != relmap.end()) {
134  relation_type::mapped_type val;
135  val.swap(it->second);
136  relmap.erase(it);
137  relmap[to].swap(val);
138  } else {
139  relmap[to]; // add default value
140  }
141 }

Here is the caller graph for this function:

Member Data Documentation

relation_type jubatus::core::recommender::recommender_mock_storage::neighbor_relation_
private
relation_type jubatus::core::recommender::recommender_mock_storage::similar_relation_
private

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