Home | Develop | Download | Contact
example_ldc_2d.cpp
1 
63 #include <iostream>
64 #include <Pds/Ra>
65 #include <Pds/Ml>
66 
67 int main(void)
68 {
69  unsigned int L=300;
70  unsigned int K=3;
71  Pds::Octave::MarkerSize=64;
72  Pds::Octave::YLimits=true;
73  Pds::Octave::XLimits=true;
74  Pds::Octave::DAspect=true;
75 
76  Pds::Matrix X;
77  Pds::Vector Y,Ys;
79 
80  // Load dataset of L samples an K gaussian normal.
82 
83  // Plor de dataset X with label Y.
84  Pds::Octave::Plot::ScatterX2DY(X,Y,"testando3d.m","example_ldc_2d_data.png");
85 
86  // Calculate the Ldc classifier.
87  Pds::LDC Ldc(X,Y);
88  Ldc.Print("----- LDC :\n");
89 
90  // Test of training
91  Ys=Ldc.Predict(X);
92 
93  // Confusion matrix
95  Pds::Octave::Plot::ConfMatrix(CM.Data,Ldc.GetLabel(),"testando.m","example_ldc_2d_ConfMatrix.png");
96 
97  // Load new dataset Xt.
98  Pds::Matrix Min=X.MinInCols();
99  Pds::Matrix Max=X.MaxInCols();
100  Pds::Matrix X1=Pds::Matrix(10*L,1); X1.FillRandU(Min.Get(0),Max.Get(0));
101  Pds::Matrix X2=Pds::Matrix(10*L,1); X2.FillRandU(Min.Get(1),Max.Get(1));
102  X=Pds::MergeHor({X1,X2});
103 
104  // Predict the datset Xt.
105  Ys=Ldc.Predict(X);
106 
107  // Print the result of classification.
108  Pds::Octave::Plot::ScatterX2DY(X,Ys,"testando3d.m","example_ldc_2d_class.png");
109 
110  Ldc.ExportFile("salida.txt");
111  Pds::LDC Ldc2("salida.txt");
112  Ldc.Print("----- LDC2 :\n");
113 
114  return 0;
115 }
La clase tipo Pds::ConfusionMatrix . Esta clase genera un bloque de datos para analizar curvas de apr...
La clase tipo Pds::LDC . Esta clase genera una matriz de Nlin lineas y 1 columna. Para usar incluir P...
Definition: LDC.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