Home | Develop | Download | Contact
example_pwc_2d.cpp
1 
164 #include <iostream>
165 #include <Pds/Ra>
166 #include <Pds/Ml>
167 
168 int main(void)
169 {
170  unsigned int L=16;
171  unsigned int K=3;
172  Pds::Octave::MarkerSize=64;
173  Pds::Octave::YLimits=true;
174  Pds::Octave::XLimits=true;
175  Pds::Octave::DAspect=true;
176 
177  Pds::Matrix X;
178  Pds::Vector Y,Ys;
180 
181  // Load dataset of L samples an K gaussian normal.
183 
184  // Plor de dataset X with label Y.
185  Pds::Octave::Plot::ScatterX2DY(X,Y,"testando3d.m","example_pwc_2d_data.png");
186 
187  // Calculate the Pwc classifier.
188  Pds::PWC Pwc(X,Y);
189  Pwc.Print("----- PWC :\n");
190 
191  // Test of training
192  Ys=Pwc.Predict(X,0.5);
193 
194  // Confusion matrix
196  Pds::Octave::Plot::ConfMatrix(CM.Data,Pwc.GetLabel(),"testando.m","example_pwc_2d_ConfMatrix.png");
197 
198  // Load new dataset Xt.
199  Pds::Matrix Min=X.MinInCols();
200  Pds::Matrix Max=X.MaxInCols();
201  Pds::Matrix X1=Pds::Matrix(100*L,1); X1.FillRandU(Min.Get(0),Max.Get(0));
202  Pds::Matrix X2=Pds::Matrix(100*L,1); X2.FillRandU(Min.Get(1),Max.Get(1));
203  X=Pds::MergeHor({X1,X2});
204 
205  // Predict the datset Xt.
206  Ys=Pwc.Predict(X,0.5);
207 
208  // Print the result of classification.
209  Pds::Octave::Plot::ScatterX2DY(X,Ys,"testando3d.m","example_pwc_2d_class.png");
210 
211  Pwc.ExportFile("salida.txt");
212  Pds::PWC Pwc2("salida.txt");
213  Pwc.Print("----- PWC2 :\n");
214 
215  return 0;
216 }
La clase tipo Pds::ConfusionMatrix . Esta clase genera un bloque de datos para analizar curvas de apr...
La clase tipo Pds::PWC . Esta clase genera una matriz de Nlin lineas y 1 columna. Para usar incluir P...
Definition: PWC.hpp:63
static Pds::ConfusionMatrix Calculate(const Pds::Vector &Ypredict, const Pds::Vector &Yactual)
Crea un objeto Dat de tipo Pds::ConfusionMatrix.
void LoadKGaussian(unsigned int L, unsigned int K, Pds::Matrix &X, Pds::Vector &Y, double factor=0.70711)
Clasificación múltiple de datos.

Enlaces de interés

HomePage Bazaar Download Bug report Ayuda Developer Feed