Home | Develop | Download | Contact
example_mncknn2.cpp
1 
65 #include <iostream>
66 #include <Pds/Ra>
67 #include <Pds/Ml>
68 
69 
70 int main(void)
71 {
72  Pds::IterationConf Conf;
73  Conf.SetMaxIter(10000); Conf.Show=true;
74  Pds::ConfusionMatrix ConfMat;
75 
76 
77  Pds::Octave::XLabel="x_1";
78  Pds::Octave::YLabel="x_2";
79  Pds::Octave::MarkerSize=40;
80 
81  unsigned int K=5; // Number of clusters
82  unsigned int C=3; // Numer of classes
83  unsigned int L=1000; // Numer of 1s or 0s
84  Pds::Matrix X;
85  Pds::Vector Y,Yp;
86 
87  // Generating training data
89 
90  Pds::Octave::Plot::ScatterX2DY(X,Y,"testando.m","example_mncknn2_data.png");
91 
92  /********* Training *********/
93 
94  // Create MncKnn
95  Pds::MncKnn MKnn(Conf,X,Y,{K,10,7});
96 
97  // Predict "traning" data with Knn=7
98  Yp=MKnn.Predict(X,3,7);
99 
100  ConfMat=Pds::ConfusionMatrix::Calculate(Yp,Y);
101 
102  Pds::Octave::Plot::ConfMatrix(ConfMat.Data,ConfMat.Id,"testando.m","example_mncknn2_confmatrix.png");
103 
104  /********* Testing *********/
105 
106  // Predict "testing" data with Knn=7
107  Pds::Matrix Min=X.MinInCols();
108  Pds::Matrix Max=X.MaxInCols();
109  Pds::Matrix X1=Pds::Matrix(10*L,1); X1.FillRandU(Min.Get(0),Max.Get(0));
110  Pds::Matrix X2=Pds::Matrix(10*L,1); X2.FillRandU(Min.Get(1),Max.Get(1));
111  X=Pds::MergeHor({X1,X2});
112 
113  Yp=MKnn.Predict(X,3,7);
114 
115  Pds::Octave::Plot::ScatterX2DY(X,Yp,"testando.m","example_mncknn2_testing.png");
116 
117 
118  return 0;
119 }
La clase tipo Pds::ConfusionMatrix . Esta clase genera un bloque de datos para analizar curvas de apr...
std::vector< int > Id
La clase tipo Pds::IterationConf . Esta clase genera una matriz de Nlin lineas y 1 columna....
La clase tipo Pds::MncKnn . Esta clase genera una estructura de Pds::MncKnn. Para usar incluir Pds/Mn...
Definition: MncKnn.hpp:66
static Pds::ConfusionMatrix Calculate(const Pds::Vector &Ypredict, const Pds::Vector &Yactual)
Crea un objeto Dat de tipo Pds::ConfusionMatrix.
bool SetMaxIter(unsigned int MaxIter)
Coloca el valor MaxIter.
double Predict(const Pds::Vector &x, unsigned int Mnc, unsigned int Knn) const
Evalua el objeto de tipo Pds::MncKnn.
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