Home | Develop | Download | Contact
NBGMM.hpp
1 /*
2  * NBGMM.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_NBGMM_HPP__
33 #define __PDS_NBGMM_HPP__
34 
35 
48 #include <Pds/Vector>
49 #include <Pds/Matrix>
50 #include <Pds/IterationConf>
51 #include <Pds/DataGMM>
52 
53 #include <sstream> // std::ostringstream
54 
55 namespace Pds{
56 
64 class NBGMM
65 {
66 private:
68  std::vector<Pds::DataGMM> Dat;
69 
71  std::vector<double> Pi;
72 
74  std::vector<int> Label;
75 public:
76 
86  NBGMM(void);
87 
99  NBGMM(const char filename[]);
100 
101 
113  NBGMM(const std::string &filename);
114 
132  NBGMM(const Pds::NBGMM &B);
133 
188  NBGMM( const Pds::IterationConf &Conf,
189  const Pds::Matrix &X,
190  const Pds::Vector &Y,
191  const std::vector<unsigned int> &K,
192  double Sigma=0.5);
193 
195 
196 
202 public:
203 
221  double Predict(const Pds::Vector &x) const;
222 
236  Pds::Vector Predict(const Pds::Matrix &X) const;
237 
242 public:
243 
254  bool ExportFile(const std::string &filename) const;
255 
260 public:
261 
275  bool IsEmpty(void) const;
276 
282  bool IsNotEmpty(void) const;
283 
288 public:
289 
317 
330  bool Copy(const Pds::NBGMM &B);
331 
332 
337 public:
338 
349  void MakeEmpty(void);
350 
355  unsigned int GetN(void) const;
356 
361  unsigned int GetM(void) const;
362 
367  std::vector<Pds::DataGMM> GetDat(void) const;
368 
373  std::vector<double> GetPi(void) const;
374 
379  std::vector<int> GetLabel(void) const;
380 
385  void Print(std::string str="") const;
386 
391 }; // Class NBGMM
392 
393 } // namespace Pds
394 
395 
400 #endif
401 
La clase tipo Pds::IterationConf . Esta clase genera una matriz de Nlin lineas y 1 columna....
La clase tipo Pds::NBGMM . Esta clase genera una matriz de Nlin lineas y 1 columna....
Definition: NBGMM.hpp:65
std::vector< int > Label
Definition: NBGMM.hpp:74
std::vector< double > Pi
Definition: NBGMM.hpp:71
std::vector< Pds::DataGMM > Dat
Definition: NBGMM.hpp:68
std::vector< Pds::DataGMM > GetDat(void) const
Retorna los datos GMM.
void MakeEmpty(void)
Convierte el PCS a vazio, es decir limpia todos los datos internos.
std::vector< int > GetLabel(void) const
Retorna un std::vector de valores que representan las etiquetas para cada ID.
NBGMM(const std::string &filename)
Carga un vector de pesos desde un archivo de texto.
bool Copy(const Pds::NBGMM &B)
Copia en si mismo (A), el contenido de un NBGMM B. Este método es similar a usar el operador = ....
bool IsEmpty(void) const
Verifica si el NBGMM está vazio.
bool ExportFile(const std::string &filename) const
Salva en formato .txt el objeto de tipo Pds::NBGMM.
void Print(std::string str="") const
Imprime en pantalla el contenido del NBGMM.
NBGMM(const char filename[])
Carga un vector de pesos desde un archivo de texto.
Pds::Vector Predict(const Pds::Matrix &X) const
Evalua el objeto de tipo Pds::NBGMM.
Pds::NBGMM & operator=(const Pds::NBGMM &B)
Copia en si mismo (A), un NBGMM B. Este operador es similar al método Copy(). No importa el tamaño de...
NBGMM(const Pds::IterationConf &Conf, const Pds::Matrix &X, const Pds::Vector &Y, const std::vector< unsigned int > &K, double Sigma=0.5)
Crea un objeto de tipo Pds::NBGMM calculando desde los vectores de entrada en X.
unsigned int GetN(void) const
Retorna el tamanho de la variable de entrada.
std::vector< double > GetPi(void) const
Retorna un std::vector de valores que representan la probabilidad a priori de cada clase.
NBGMM(void)
Crea un objeto vazio de tipo Pds::NBGMM. El método IsEmpty() retorna true.
bool IsNotEmpty(void) const
Verifica si el NBGMM NO está vazio.
NBGMM(const Pds::NBGMM &B)
Crea un objeto de tipo Pds::NBGMM copiando datos desde otra NBGMM. Este es un Copy assignment constru...
double Predict(const Pds::Vector &x) const
Evalua el objeto de tipo Pds::NBGMM.
unsigned int GetM(void) const
Retorna el número de clases.
Nombre de espacio para Pds (Procesamiento Digital de Senales)

Enlaces de interés

HomePage Bazaar Download Bug report Ayuda Developer Feed