Home | Develop | Download | Contact
LDC.hpp
1 /*
2  * LDC.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_LDC_HPP__
33 #define __PDS_LDC_HPP__
34 
35 
47 #include <Pds/Vector>
48 #include <Pds/Matrix>
49 #include <Pds/IterationConf>
50 
51 #include <sstream> // std::ostringstream
52 
53 namespace Pds{
54 
62 class LDC
63 {
64 private:
66  Pds::Matrix Sinv;
67 
69  std::vector<Pds::Vector> Mu;
70 
72  std::vector<Pds::Vector> W;
73 
75  std::vector<double> C;
76 
78  std::vector<int> Label;
79 public:
80 
90  LDC(void);
91 
103  LDC(const char filename[]);
104 
105 
117  LDC(const std::string &filename);
118 
136  LDC(const Pds::LDC &B);
137 
213  LDC(const Pds::Matrix &X, const Pds::Vector &Y);
214 
215  ~LDC();
216 
217 
223 public:
224 
234  double Predict(const Pds::Vector &x) const;
235 
241  Pds::Vector Predict(const Pds::Matrix &X) const;
242 
247 public:
248 
259  bool ExportFile(const std::string &filename) const;
260 
265 public:
266 
280  bool IsEmpty(void) const;
281 
287  bool IsNotEmpty(void) const;
288 
293 public:
294 
322 
335  bool Copy(const Pds::LDC &B);
336 
337 
342 public:
343 
354  void MakeEmpty(void);
355 
360  unsigned int GetN(void) const;
361 
366  unsigned int GetM(void) const;
367 
372  Pds::Matrix GetSinv(void) const;
373 
378  std::vector<Pds::Vector> GetMu(void) const;
379 
384  std::vector<Pds::Vector> GetW(void) const;
385 
390  std::vector<double> GetC(void) const;
391 
396  std::vector<int> GetLabel(void) const;
397 
402  void Print(std::string str="") const;
403 
408 }; // Class LDC
409 
410 } // namespace Pds
411 
412 
417 #endif
418 
La clase tipo Pds::LDC . Esta clase genera una matriz de Nlin lineas y 1 columna. Para usar incluir P...
Definition: LDC.hpp:63
std::vector< int > Label
Definition: LDC.hpp:78
std::vector< Pds::Vector > W
Definition: LDC.hpp:72
std::vector< double > C
Definition: LDC.hpp:75
Pds::Matrix Sinv
Definition: LDC.hpp:66
std::vector< Pds::Vector > Mu
Definition: LDC.hpp:69
std::vector< Pds::Vector > GetMu(void) const
Retorna los valores medios.
Pds::Vector Predict(const Pds::Matrix &X) const
Evalua el objeto de tipo Pds::LDC.
unsigned int GetM(void) const
Retorna el número de clases.
bool IsEmpty(void) const
Verifica si el LDC está vazio.
LDC(const Pds::Matrix &X, const Pds::Vector &Y)
Crea un objeto de tipo Pds::LDC calculando los vectores y valores própios desde los vectores de entra...
std::vector< double > GetC(void) const
Retorna un std::vector de constantes.
bool ExportFile(const std::string &filename) const
Salva en formato .txt el objeto de tipo Pds::LDC.
Pds::LDC & operator=(const Pds::LDC &B)
Copia en si mismo (A), un LDC B. Este operador es similar al método Copy(). No importa el tamaño de A...
std::vector< int > GetLabel(void) const
Retorna un std::vector de vectores que representan las etiquetas para cada ID.
bool Copy(const Pds::LDC &B)
Copia en si mismo (A), el contenido de un LDC B. Este método es similar a usar el operador = ....
std::vector< Pds::Vector > GetW(void) const
Retorna los valores W.
unsigned int GetN(void) const
Retorna el tamanho de la variable de entrada.
Pds::Matrix GetSinv(void) const
Retorna las inversa de la matrice de covarianza.
void MakeEmpty(void)
Convierte el PCS a vazio, es decir limpia todos los datos internos.
LDC(void)
Crea un objeto vazio de tipo Pds::LDC. El método IsEmpty() retorna true.
void Print(std::string str="") const
Imprime en pantalla el contenido del LDC.
bool IsNotEmpty(void) const
Verifica si el LDC NO está vazio.
double Predict(const Pds::Vector &x) const
Evalua el objeto de tipo Pds::LDC.
LDC(const Pds::LDC &B)
Crea un objeto de tipo Pds::LDC copiando datos desde otra LDC. Este es un Copy assignment constructor...
LDC(const std::string &filename)
Carga un vector de pesos desde un archivo de texto.
LDC(const char filename[])
Carga un vector de pesos desde un archivo de texto.
Nombre de espacio para Pds (Procesamiento Digital de Senales)

Enlaces de interés

HomePage Bazaar Download Bug report Ayuda Developer Feed