Home | Develop | Download | Contact
QDC.hpp
1 /*
2  * QDC.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_QDC_HPP__
33 #define __PDS_QDC_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 QDC
63 {
64 private:
66  std::vector<Pds::Matrix> Sinv;
67 
69  std::vector<Pds::Vector> Mu;
70 
72  std::vector<double> C;
73 
75  std::vector<int> Label;
76 public:
77 
87  QDC(void);
88 
100  QDC(const char filename[]);
101 
102 
114  QDC(const std::string &filename);
115 
133  QDC(const Pds::QDC &B);
134 
192  QDC(const Pds::Matrix &X, const Pds::Vector &Y);
193 
194  ~QDC();
195 
196 
202 public:
203 
213  double Predict(const Pds::Vector &x) const;
214 
220  Pds::Vector Predict(const Pds::Matrix &X) const;
221 
226 public:
227 
238  bool ExportFile(const std::string &filename) const;
239 
244 public:
245 
259  bool IsEmpty(void) const;
260 
266  bool IsNotEmpty(void) const;
267 
272 public:
273 
301 
314  bool Copy(const Pds::QDC &B);
315 
316 
321 public:
322 
333  void MakeEmpty(void);
334 
339  unsigned int GetN(void) const;
340 
345  unsigned int GetM(void) const;
346 
351  std::vector<Pds::Matrix> GetSinv(void) const;
352 
357  std::vector<Pds::Vector> GetMu(void) const;
358 
363  std::vector<double> GetC(void) const;
364 
369  std::vector<int> GetLabel(void) const;
370 
375  void Print(std::string str="") const;
376 
381 }; // Class QDC
382 
383 } // namespace Pds
384 
385 
390 #endif
391 
La clase tipo Pds::QDC . Esta clase genera una matriz de Nlin lineas y 1 columna. Para usar incluir P...
Definition: QDC.hpp:63
std::vector< int > Label
Definition: QDC.hpp:75
std::vector< Pds::Vector > Mu
Definition: QDC.hpp:69
std::vector< Pds::Matrix > Sinv
Definition: QDC.hpp:66
std::vector< double > C
Definition: QDC.hpp:72
QDC(const char filename[])
Carga un vector de pesos desde un archivo de texto.
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::QDC.
std::vector< double > GetC(void) const
Retorna un std::vector de constantes.
bool IsNotEmpty(void) const
Verifica si el QDC NO está vazio.
bool Copy(const Pds::QDC &B)
Copia en si mismo (A), el contenido de un QDC B. Este método es similar a usar el operador = ....
QDC(void)
Crea un objeto vazio de tipo Pds::QDC. El método IsEmpty() retorna true.
QDC(const Pds::Matrix &X, const Pds::Vector &Y)
Crea un objeto de tipo Pds::QDC calculando los vectores y valores própios desde los vectores de entra...
std::vector< int > GetLabel(void) const
Retorna un std::vector de vectores que representan las etiquetas para cada ID.
unsigned int GetN(void) const
Retorna el tamanho de la variable de entrada.
std::vector< Pds::Matrix > GetSinv(void) const
Retorna las inversas de las matrices de covarianza.
QDC(const Pds::QDC &B)
Crea un objeto de tipo Pds::QDC copiando datos desde otra QDC. Este es un Copy assignment constructor...
unsigned int GetM(void) const
Retorna el número de clases.
bool IsEmpty(void) const
Verifica si el QDC está vazio.
double Predict(const Pds::Vector &x) const
Evalua el objeto de tipo Pds::QDC.
bool ExportFile(const std::string &filename) const
Salva en formato .txt el objeto de tipo Pds::QDC.
void Print(std::string str="") const
Imprime en pantalla el contenido del QDC.
QDC(const std::string &filename)
Carga un vector de pesos desde un archivo de texto.
Pds::QDC & operator=(const Pds::QDC &B)
Copia en si mismo (A), un QDC B. Este operador es similar al método Copy(). No importa el tamaño de A...
void MakeEmpty(void)
Convierte el PCS a vazio, es decir limpia todos los datos internos.
Nombre de espacio para Pds (Procesamiento Digital de Senales)

Enlaces de interés

HomePage Bazaar Download Bug report Ayuda Developer Feed