Home | Develop | Download | Contact
KmeansPerceptron.hpp
1 /*
2  * KmeansPerceptron.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_KMEANSPERCEPTRON_HPP__
33 #define __PDS_KMEANSPERCEPTRON_HPP__
34 
35 
54 #include <Pds/Ra>
55 #include <Pds/Perceptron>
56 #include <Pds/IterationConf>
57 
58 #include <sstream> // std::ostringstream
59 #include <vector>
60 #include <string>
61 
62 namespace Pds{
63 
72 {
73 private:
75  std::vector<Pds::Perceptron> P;
76  std::vector<Pds::Vector> C;
77  std::vector<unsigned int> Out;
78 
79 public:
80 
91 
102  KmeansPerceptron( const std::string &filename_w,
103  const std::string &filename_c,
104  const std::string &filename_o);
105 
121  KmeansPerceptron(const Pds::Matrix &W,const Pds::Matrix &C);
122 
140  const Pds::Matrix &X,
141  const Pds::Vector &Y,
142  unsigned int K);
143 
145 
146 
152 public:
153 
164  double Predict(const Pds::Vector &x) const;
165 
171  Pds::Vector Predict(const Pds::Matrix &X) const;
172 
177 public:
178 
194  bool ExportFile(const std::string &filename_p,
195  const std::string &filename_c,
196  const std::string &filename_o) const;
197 
203 public:
204 
215  unsigned int Nel(void) const;
216 
223  bool IsEmpty(void) const;
224 
231  bool IsNotEmpty(void) const;
232 
233 
239  void MakeEmpty(void);
240 
245 public:
246 
255  std::string ToString(void) const;
256 
257 
263  void Print(std::string str="") const;
268 }; // Class KmeansPerceptron
269 
270 } // namespace Pds
271 
272 
292 std::ostream& operator<<(std::ostream &out,const Pds::KmeansPerceptron &A);
293 
302 #endif
303 
La clase tipo Pds::IterationConf . Esta clase genera una matriz de Nlin lineas y 1 columna....
La clase tipo Pds::KmeansPerceptron . Esta clase genera una matriz de Nlin lineas y 1 columna....
std::vector< Pds::Vector > C
std::vector< unsigned int > Out
std::vector< Pds::Perceptron > P
KmeansPerceptron(const std::string &filename_w, const std::string &filename_c, const std::string &filename_o)
Crea un objeto de tipo Pds::KmeansPerceptron.
KmeansPerceptron(Pds::IterationConf &Conf, const Pds::Matrix &X, const Pds::Vector &Y, unsigned int K)
Crea un objeto de tipo Pds::KmeansPerceptron calculando los pesos conociendo los vectores de entrada ...
std::string ToString(void) const
Convierte el vector de pesos del perceptron en un std::string.
KmeansPerceptron(const Pds::Matrix &W, const Pds::Matrix &C)
Crea un objeto de tipo Pds::KmeansPerceptron copiando datos desde una matriz. Toda la matriz es vecto...
unsigned int Nel(void) const
Número de elementos en el ensemble.
bool IsNotEmpty(void) const
Verifica si el perceptron NO está vazio, es decir vector de pessos tiene elementos y funcion de activ...
void MakeEmpty(void)
Convierte el perceptron a vazio, es decir con el vector de pessos sin elementos y funcion de activaci...
KmeansPerceptron(void)
Crea un objeto vazio de tipo Pds::KmeansPerceptron. El método IsEmpty() retorna true.
double Predict(const Pds::Vector &x) const
Evalua el objeto de tipo Pds::KmeansPerceptron.
bool ExportFile(const std::string &filename_p, const std::string &filename_c, const std::string &filename_o) const
Salva en formato texto el objeto de tipo Pds::KmeansPerceptron.
void Print(std::string str="") const
Imprime en pantalla el contenido del vector de pesos después del texto indicado en str.
Pds::Vector Predict(const Pds::Matrix &X) const
Evalua el objeto de tipo Pds::KmeansPerceptron.
std::ostream & operator<<(std::ostream &out, const Pds::KmeansPerceptron &A)
Retorna el contenido del perceptron por la salida estándar.
bool IsEmpty(void) const
Verifica si el perceptron está vazio, es decir vector de pessos sin elementos y funcion de activación...
Nombre de espacio para Pds (Procesamiento Digital de Senales)

Enlaces de interés

HomePage Bazaar Download Bug report Ayuda Developer Feed