jubatus_core  0.1.2
Jubatus: Online machine learning framework for distributed environment
kmeans_compressor.hpp
Go to the documentation of this file.
1 // Jubatus: Online machine learning framework for distributed environment
2 // Copyright (C) 2013 Preferred Networks and Nippon Telegraph and Telephone Corporation.
3 //
4 // This library is free software; you can redistribute it and/or
5 // modify it under the terms of the GNU Lesser General Public
6 // License version 2.1 as published by the Free Software Foundation.
7 //
8 // This library is distributed in the hope that it will be useful,
9 // but WITHOUT ANY WARRANTY; without even the implied warranty of
10 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11 // Lesser General Public License for more details.
12 //
13 // You should have received a copy of the GNU Lesser General Public
14 // License along with this library; if not, write to the Free Software
15 // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
16 
17 #ifndef JUBATUS_CORE_CLUSTERING_KMEANS_COMPRESSOR_HPP_
18 #define JUBATUS_CORE_CLUSTERING_KMEANS_COMPRESSOR_HPP_
19 
20 #include "compressor.hpp"
21 
22 namespace jubatus {
23 namespace core {
24 namespace clustering {
25 namespace compressor {
26 
27 class kmeans_compressor : public compressor {
28  public:
29  explicit kmeans_compressor(const clustering_config& cfg);
31 
32  void compress(const wplist& src, size_t bsize, size_t dstsize, wplist& dst);
33 
34  public:
35  virtual double get_probability(
36  const weighted_point& p,
37  double min_dist,
38  const weighted_point& nearest_bp,
39  double bp_score,
40  double weight_sum,
41  double squared_min_dist_sum);
42 
43  private:
44  void get_bicriteria(
45  const wplist& src,
46  size_t bsize,
47  size_t dstsize,
48  wplist& dst);
49 
51  const wplist& src,
52  const wplist& bicriteria,
53  size_t dstsize,
54  wplist& dst);
55 };
56 
57 } // namespace compressor
58 } // namespace clustering
59 } // namespace core
60 } // namespace jubatus
61 
62 #endif // JUBATUS_CORE_CLUSTERING_KMEANS_COMPRESSOR_HPP_
void compress(const wplist &src, size_t bsize, size_t dstsize, wplist &dst)
void get_bicriteria(const wplist &src, size_t bsize, size_t dstsize, wplist &dst)
pair< size_t, double > min_dist(const common::sfv_t &p, const vector< common::sfv_t > &P)
Definition: util.cpp:182
virtual double get_probability(const weighted_point &p, double min_dist, const weighted_point &nearest_bp, double bp_score, double weight_sum, double squared_min_dist_sum)
void bicriteria_to_coreset(const wplist &src, const wplist &bicriteria, size_t dstsize, wplist &dst)
std::vector< weighted_point > wplist
Definition: types.hpp:55