Home | Develop | Download | Contact
KmeansPredictor.hpp
1 /*
2  * KmeansPredictor.hpp
3  *
4  * Copyright 2018 Fernando Pujaico Rivera <fernando.pujaico.rivera@gmail.com>
5  *
6  * This program is free software; you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License as published by
8  * the Free Software Foundation; either version 2 of the License, or
9  * (at your option) any later version.
10  *
11  * This program is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  * GNU General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License
17  * along with this program; if not, write to the Free Software
18  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
19  * MA 02110-1301, USA.
20  *
21  */
22 
32 #ifndef __PDS_KMEANSPREDICTOR_HPP__
33 #define __PDS_KMEANSPREDICTOR_HPP__
34 
35 
49 #include <Pds/Ra>
50 #include <Pds/Predictor>
51 #include <Pds/IterationConf>
52 
53 #include <sstream> // std::ostringstream
54 #include <vector>
55 #include <string>
56 
57 namespace Pds{
58 
67 {
68 private:
70  std::vector<Pds::Predictor> P;
71  std::vector<Pds::Vector> C;
72 
73 public:
74 
85 
94  KmeansPredictor( const std::string &filename_w,
95  const std::string &filename_c);
96 
112  KmeansPredictor(const Pds::Matrix &W,const Pds::Matrix &C);
113 
131  const Pds::Matrix &X,
132  const Pds::Vector &Y,
133  unsigned int K);
134 
136 
137 
143 public:
144 
155  double Predict(const Pds::Vector &x) const;
156 
162  Pds::Vector Predict(const Pds::Matrix &X) const;
163 
168 public:
169 
183  bool ExportFile(const std::string &filename_p,
184  const std::string &filename_c) const;
185 
191 public:
192 
203  unsigned int Nel(void) const;
204 
211  bool IsEmpty(void) const;
212 
219  bool IsNotEmpty(void) const;
220 
221 
227  void MakeEmpty(void);
228 
233 public:
234 
243  std::string ToString(void) const;
244 
245 
251  void Print(std::string str="") const;
256 }; // Class KmeansPredictor
257 
258 } // namespace Pds
259 
260 
280 std::ostream& operator<<(std::ostream &out,const Pds::KmeansPredictor &A);
281 
290 #endif
291 
La clase tipo Pds::IterationConf . Esta clase genera una matriz de Nlin lineas y 1 columna....
La clase tipo Pds::KmeansPredictor . Esta clase genera una matriz de Nlin lineas y 1 columna....
std::vector< Pds::Predictor > P
std::vector< Pds::Vector > C
void Print(std::string str="") const
Imprime en pantalla el contenido del vector de pesos después del texto indicado en str.
bool IsNotEmpty(void) const
Verifica si el perceptron NO está vazio, es decir vector de pessos tiene elementos y funcion de activ...
std::string ToString(void) const
Convierte el vector de pesos del perceptron en un std::string.
std::ostream & operator<<(std::ostream &out, const Pds::KmeansPredictor &A)
Retorna el contenido del perceptron por la salida estándar.
KmeansPredictor(const Pds::Matrix &W, const Pds::Matrix &C)
Crea un objeto de tipo Pds::KmeansPredictor copiando datos desde una matriz. Toda la matriz es vector...
KmeansPredictor(Pds::IterationConf &Conf, const Pds::Matrix &X, const Pds::Vector &Y, unsigned int K)
Crea un objeto de tipo Pds::KmeansPredictor calculando los pesos conociendo los vectores de entrada X...
Pds::Vector Predict(const Pds::Matrix &X) const
Evalua el objeto de tipo Pds::KmeansPredictor.
KmeansPredictor(const std::string &filename_w, const std::string &filename_c)
Crea un objeto de tipo Pds::KmeansPredictor.
void MakeEmpty(void)
Convierte el perceptron a vazio, es decir con el vector de pessos sin elementos y funcion de activaci...
unsigned int Nel(void) const
Número de elementos en el ensemble.
bool IsEmpty(void) const
Verifica si el perceptron está vazio, es decir vector de pessos sin elementos y funcion de activación...
bool ExportFile(const std::string &filename_p, const std::string &filename_c) const
Salva en formato texto el objeto de tipo Pds::KmeansPredictor.
KmeansPredictor(void)
Crea un objeto vazio de tipo Pds::KmeansPredictor. El método IsEmpty() retorna true.
double Predict(const Pds::Vector &x) const
Evalua el objeto de tipo Pds::KmeansPredictor.
Nombre de espacio para Pds (Procesamiento Digital de Senales)

Enlaces de interés

HomePage Bazaar Download Bug report Ayuda Developer Feed