Home | Develop | Download | Contact
KmeansNn.hpp
1 /*
2  * KmeansNn.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_KMEANSNN_HPP__
33 #define __PDS_KMEANSNN_HPP__
34 
35 
50 #include <Pds/Ra>
51 #include <Pds/IterationConf>
52 
53 #include <sstream> // std::ostringstream
54 #include <vector>
55 #include <string>
56 
57 namespace Pds{
58 
66 class KmeansNn
67 {
68 private:
71 
73  Pds::Matrix C;
74 
76  std::vector<Pds::Matrix> XX;
77 
79  std::vector<Pds::Matrix> YY;
80 
82  std::vector<bool> Full;
83 
85  std::vector<int> IdFull;
86 
87 public:
88 
98  KmeansNn(void);
99 
100 
101 
119  const Pds::Matrix &X,
120  const Pds::Vector &Y,
121  unsigned int K);
122 
123 
143  const Pds::Matrix &X,
144  const Pds::Vector &Y,
145  std::vector<unsigned int> L);
146 
148 
149 
155 public:
156 
168  double Predict(const Pds::Vector &x, unsigned int Knn) const;
169 
176  Pds::Vector Predict(const Pds::Matrix &X, unsigned int Knn) const;
177 
182 public:
183 
195  bool ExportFile(const std::string &filename) const;
196 
202 public:
203 
216  bool IsEmpty(void) const;
217 
224  bool IsNotEmpty(void) const;
225 
226 
227 
232 public:
233 
245  unsigned int Nel(void) const;
246 
252  void MakeEmpty(void);
253 
258  std::string ToString(void) const;
259 
260 
266  void Print(std::string str="") const;
271 }; // Class KmeansNn
272 
273 } // namespace Pds
274 
275 
295 std::ostream& operator<<(std::ostream &out,const Pds::KmeansNn &A);
296 
305 #endif
306 
La clase tipo Pds::IterationConf . Esta clase genera una matriz de Nlin lineas y 1 columna....
La clase tipo Pds::KmeansNn . Esta clase genera una estructura de Pds::KmeansNn. Para usar incluir Pd...
Definition: KmeansNn.hpp:67
std::vector< Pds::Matrix > XX
Definition: KmeansNn.hpp:76
std::vector< Pds::Matrix > YY
Definition: KmeansNn.hpp:79
std::vector< bool > Full
Definition: KmeansNn.hpp:82
Pds::Matrix C
Definition: KmeansNn.hpp:73
std::vector< int > IdFull
Definition: KmeansNn.hpp:85
double Predict(const Pds::Vector &x, unsigned int Knn) const
Evalua el objeto de tipo Pds::KmeansNn.
std::ostream & operator<<(std::ostream &out, const Pds::KmeansNn &A)
Retorna el contenido del KmeansNn por la salida estándar.
std::string ToString(void) const
Convierte los datos del KmeansNn en un std::string.
unsigned int Nel(void) const
Número de elementos en el ensemble.
bool IsNotEmpty(void) const
Verifica si el KmeansNn NO está vazio, es decir vector de pessos tiene elementos y funcion de activac...
bool IsEmpty(void) const
Verifica si el KmeansNn está vazio, es decir vector de pessos sin elementos y funcion de activación n...
KmeansNn(Pds::IterationConf &Conf, const Pds::Matrix &X, const Pds::Vector &Y, unsigned int K)
Crea un objeto de tipo Pds::KmeansNn calculando los pesos conociendo los vectores de entrada X y el d...
KmeansNn(void)
Crea un objeto vazio de tipo Pds::KmeansNn. El método IsEmpty() retorna true.
void MakeEmpty(void)
Convierte el KmeansNn a vazio, es decir con el vector de pessos sin elementos y funcion de activación...
Pds::Vector Predict(const Pds::Matrix &X, unsigned int Knn) const
Evalua el objeto de tipo Pds::KmeansNn.
KmeansNn(Pds::IterationConf &Conf, const Pds::Matrix &X, const Pds::Vector &Y, std::vector< unsigned int > L)
Crea un objeto de tipo Pds::KmeansNn calculando los pesos conociendo los vectores de entrada X y el d...
bool ExportFile(const std::string &filename) const
Salva en formato texto el objeto de tipo Pds::KmeansNn.
void Print(std::string str="") const
Imprime en pantalla el contenido del vector de pesos después del texto indicado en str.
Nombre de espacio para Pds (Procesamiento Digital de Senales)

Enlaces de interés

HomePage Bazaar Download Bug report Ayuda Developer Feed