SHOGUN  5.0.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules
ECOCSimpleDecoder.cpp
Go to the documentation of this file.
1 /*
2  * This program is free software; you can redistribute it and/or modify
3  * it under the terms of the GNU General Public License as published by
4  * the Free Software Foundation; either version 3 of the License, or
5  * (at your option) any later version.
6  *
7  * Written (W) 2012 Chiyuan Zhang
8  * Copyright (C) 2012 Chiyuan Zhang
9  */
10 
13 
14 using namespace shogun;
15 
17 {
18  SGVector<float64_t> query=outputs;
19 
20  if (binary_decoding())
21  query = binarize(outputs);
22 
23  SGVector<float64_t> distances(codebook.num_cols);
24  for (int32_t i=0; i < distances.vlen; ++i)
25  distances[i] = compute_distance(query, codebook.get_column_vector(i));
26 
27  int32_t result = CMath::arg_min(distances.vector, 1, distances.vlen);
28  return result;
29 }
virtual float64_t compute_distance(SGVector< float64_t > outputs, const int32_t *code)=0
index_t num_cols
Definition: SGMatrix.h:376
index_t vlen
Definition: SGVector.h:494
SGVector< float64_t > binarize(const SGVector< float64_t > query)
Definition: ECOCDecoder.cpp:16
T * get_column_vector(index_t col) const
Definition: SGMatrix.h:113
virtual bool binary_decoding()=0
static int32_t arg_min(T *vec, int32_t inc, int32_t len, T *minv_ptr=NULL)
Definition: Math.h:289
virtual int32_t decide_label(const SGVector< float64_t > outputs, const SGMatrix< int32_t > codebook)
all of classes and functions are contained in the shogun namespace
Definition: class_list.h:18

SHOGUN Machine Learning Toolbox - Documentation