Home | Develop | Download | Contact
PWC.hpp
1 /*
2  * PWC.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_PWC_HPP__
33 #define __PDS_PWC_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 PWC
63 {
64 private:
66  std::vector<Pds::Matrix> Sinv;
67 
69  std::vector<Pds::Matrix> C;
70 
72  std::vector<double> Det;
73 
75  std::vector<int> Label;
76 public:
77 
87  PWC(void);
88 
100  PWC(const char filename[]);
101 
102 
114  PWC(const std::string &filename);
115 
133  PWC(const Pds::PWC &B);
134 
192  PWC(const Pds::Matrix &X, const Pds::Vector &Y);
193 
194  ~PWC();
195 
196 
202 public:
203 
214  double Predict(const Pds::Vector &x, double h=0.1) const;
215 
222  Pds::Vector Predict(const Pds::Matrix &X, double h=0.1) const;
223 
228 public:
229 
240  bool ExportFile(const std::string &filename) const;
241 
246 public:
247 
261  bool IsEmpty(void) const;
262 
268  bool IsNotEmpty(void) const;
269 
274 public:
275 
303 
316  bool Copy(const Pds::PWC &B);
317 
318 
323 public:
324 
335  void MakeEmpty(void);
336 
341  unsigned int GetN(void) const;
342 
347  unsigned int GetM(void) const;
348 
353  std::vector<Pds::Matrix> GetSinv(void) const;
354 
359  std::vector<Pds::Matrix> GetC(void) const;
360 
365  std::vector<double> GetDet(void) const;
366 
371  std::vector<int> GetLabel(void) const;
372 
377  void Print(std::string str="") const;
378 
383 }; // Class PWC
384 
385 } // namespace Pds
386 
387 
392 #endif
393 
La clase tipo Pds::PWC . Esta clase genera una matriz de Nlin lineas y 1 columna. Para usar incluir P...
Definition: PWC.hpp:63
std::vector< double > Det
Definition: PWC.hpp:72
std::vector< Pds::Matrix > C
Definition: PWC.hpp:69
std::vector< Pds::Matrix > Sinv
Definition: PWC.hpp:66
std::vector< int > Label
Definition: PWC.hpp:75
PWC(const char filename[])
Carga un vector de pesos desde un archivo de texto.
PWC(void)
Crea un objeto vazio de tipo Pds::PWC. El método IsEmpty() retorna true.
bool IsEmpty(void) const
Verifica si el PWC está vazio.
unsigned int GetN(void) const
Retorna el tamanho de la variable de entrada.
std::vector< Pds::Matrix > GetC(void) const
Retorna los valores medios.
PWC(const std::string &filename)
Carga un vector de pesos desde un archivo de texto.
PWC(const Pds::Matrix &X, const Pds::Vector &Y)
Crea un objeto de tipo Pds::PWC calculando los vectores y valores própios desde los vectores de entra...
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 vectores que representan las etiquetas para cada ID.
std::vector< double > GetDet(void) const
Retorna un std::vector de constantes.
Pds::Vector Predict(const Pds::Matrix &X, double h=0.1) const
Evalua el objeto de tipo Pds::PWC.
Pds::PWC & operator=(const Pds::PWC &B)
Copia en si mismo (A), un PWC B. Este operador es similar al método Copy(). No importa el tamaño de A...
PWC(const Pds::PWC &B)
Crea un objeto de tipo Pds::PWC copiando datos desde otra PWC. Este es un Copy assignment constructor...
bool Copy(const Pds::PWC &B)
Copia en si mismo (A), el contenido de un PWC B. Este método es similar a usar el operador = ....
unsigned int GetM(void) const
Retorna el número de clases.
std::vector< Pds::Matrix > GetSinv(void) const
Retorna las inversas de las matrices de covarianza.
bool ExportFile(const std::string &filename) const
Salva en formato .txt el objeto de tipo Pds::PWC.
void Print(std::string str="") const
Imprime en pantalla el contenido del PWC.
bool IsNotEmpty(void) const
Verifica si el PWC NO está vazio.
double Predict(const Pds::Vector &x, double h=0.1) const
Evalua el objeto de tipo Pds::PWC.
Nombre de espacio para Pds (Procesamiento Digital de Senales)

Enlaces de interés

HomePage Bazaar Download Bug report Ayuda Developer Feed