Home | Develop | Download | Contact
LDA.hpp
1 /*
2  * LDA.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_LDA_HPP__
33 #define __PDS_LDA_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 LDA
63 {
64 private:
66  Pds::Vector Lambda;
67 
69  Pds::Matrix V;
70 
71  std::vector<Pds::Vector> W;
72  std::vector<int> Label;
73 public:
74 
84  LDA(void);
85 
97  LDA(const char filename[]);
98 
99 
111  LDA(const std::string &filename);
112 
130  LDA(const Pds::LDA &B);
131 
198  LDA(const Pds::Matrix &X, const Pds::Vector &Y);
199 
200  ~LDA();
201 
202 
208 public:
209 
234  double Predict(const Pds::Vector &x) const;
235 
317  Pds::Vector Predict(const Pds::Matrix &X) const;
318 
323 public:
324 
335  bool ExportFile(const std::string &filename) const;
336 
341 public:
342 
356  bool IsEmpty(void) const;
357 
363  bool IsNotEmpty(void) const;
364 
369 public:
370 
398 
411  bool Copy(const Pds::LDA &B);
412 
413 
418 public:
419 
430  void MakeEmpty(void);
431 
436  unsigned int GetN(void) const;
437 
442  unsigned int GetM(void) const;
443 
448  Pds::Vector GetLambda(void) const;
449 
454  Pds::Matrix GetV(void) const;
455 
460  std::vector<Pds::Vector> GetW(void) const;
461 
466  std::vector<int> GetLabel(void) const;
467 
472  void Print(std::string str="") const;
473 
478 }; // Class LDA
479 
480 } // namespace Pds
481 
482 
487 #endif
488 
La clase tipo Pds::LDA . Esta clase genera una matriz de Nlin lineas y 1 columna. Para usar incluir P...
Definition: LDA.hpp:63
Pds::Matrix V
Definition: LDA.hpp:69
std::vector< int > Label
Definition: LDA.hpp:72
Pds::Vector Lambda
Definition: LDA.hpp:66
std::vector< Pds::Vector > W
Definition: LDA.hpp:71
double Predict(const Pds::Vector &x) const
Evalua el objeto de tipo Pds::LDA.
LDA(const std::string &filename)
Carga un vector de pesos desde un archivo de texto.
LDA(const char filename[])
Carga un vector de pesos desde un archivo de texto.
unsigned int GetM(void) const
Retorna el número de clases.
unsigned int GetN(void) const
Retorna el tamaño del vector de entrada.
Pds::Vector GetLambda(void) const
Retorna el vector de valores propios en orden ascendente.
Pds::LDA & operator=(const Pds::LDA &B)
Copia en si mismo (A), un LDA B. Este operador es similar al método Copy(). No importa el tamaño de A...
Pds::Matrix GetV(void) const
Retorna la matriz de vectores própios en las columnas.
Pds::Vector Predict(const Pds::Matrix &X) const
Evalua el objeto de tipo Pds::LDA.
bool Copy(const Pds::LDA &B)
Copia en si mismo (A), el contenido de un LDA B. Este método es similar a usar el operador = ....
std::vector< Pds::Vector > GetW(void) const
Retorna un std::vector de vectores que representan los clasificadores.
bool ExportFile(const std::string &filename) const
Salva en formato .txt el objeto de tipo Pds::LDA.
bool IsEmpty(void) const
Verifica si el LDA está vazio.
LDA(void)
Crea un objeto vazio de tipo Pds::LDA. El método IsEmpty() retorna true.
void MakeEmpty(void)
Convierte el PCS a vazio, es decir limpia todos los datos internos.
LDA(const Pds::LDA &B)
Crea un objeto de tipo Pds::LDA copiando datos desde otra LDA. Este es un Copy assignment constructor...
std::vector< int > GetLabel(void) const
Retorna un std::vector de vectores que representan las etiquetas para cada ID.
LDA(const Pds::Matrix &X, const Pds::Vector &Y)
Crea un objeto de tipo Pds::LDA calculando los vectores y valores própios desde los vectores de entra...
bool IsNotEmpty(void) const
Verifica si el LDA NO está vazio.
void Print(std::string str="") const
Imprime en pantalla el contenido del LDA.
Nombre de espacio para Pds (Procesamiento Digital de Senales)

Enlaces de interés

HomePage Bazaar Download Bug report Ayuda Developer Feed