Home | Develop | Download | Contact
example_logisticregression_ms.cpp
1 
60 #include <iostream>
61 #include <Pds/Ra>
62 #include <Pds/Ml>
63 
64 int main(void)
65 {
66  Pds::IterationConf Conf; Conf.Show=true; Conf.SetMinError(1e-07);
67  Pds::Vector Yp;
69 
70  // Generating data
71  unsigned int L=5000;
72  Pds::Matrix X;
73  Pds::Vector Y;
75  Pds::Vector W(X.Ncol()+1);
76 
77  // Split data set in {Training,Cross-validation,Test}
79 
80  Pds::Octave::XLabel="x_1";
81  Pds::Octave::YLabel="x_2";
82  Pds::Octave::Plot::PointsX2DY(Dat.Xtr,Dat.Ytr,"testando.m","example_logisticregression_ms_data.png");
83 
84  // Create W using training data
85  W.Fill(0.1); Conf.SetAlpha(0.1);
86  Pds::Ra::Tic();
88  W.T().Print("W:\n");
89  Pds::Ra::Toc();
90 
91  // Testing W with testing data set
93 
94  // Metrics
95  Metrics = Pds::ClassificationMetrics::Optimal(Yp,Dat.Ycv);
96  Metrics.Print("\n");
97 
98  Pds::Octave::Plot::PointsX2DYW( Dat.Xcv,Yp.Geq(Metrics.Threshold),W,
99  "testando.m","example_logisticregression_ms_training.png");
100 
101  // Testing W with testing data set
103 
104  Metrics = Pds::ClassificationMetrics::Calculate(Metrics.Threshold,Yp,Dat.Ytt);
105  Metrics.Print("\n");
106 
107  Pds::Octave::Plot::PointsX2DYW( Dat.Xtt,Yp.Geq(Metrics.Threshold),W,
108  "testando.m","example_logisticregression_ms_testing.png");
109 
110  return 0;
111 }
La clase tipo Pds::ClassificationMetrics . Esta clase genera un bloque de datos para analizar curvas ...
La clase tipo Pds::DataSetBlock . Esta clase genera un bloque de datos para analizar curvas de aprend...
La clase tipo Pds::IterationConf . Esta clase genera una matriz de Nlin lineas y 1 columna....
static Pds::ClassificationMetrics Calculate(double Threshold, const Pds::Vector &Ypredict, const Pds::Vector &Yactual)
Crea un objeto Dat de tipo Pds::ClassificationMetrics.
static Pds::ClassificationMetrics Optimal(const Pds::Vector &Ypredict, const Pds::Vector &Yactual)
Crea un objeto Dat de tipo Pds::ClassificationMetrics.
void Print(std::string str="")
Imprime en pantalla los datos de la estructura tipo Pds::ClassificationMetrics.
bool SetAlpha(double Alpha)
Coloca el valor alpha.
bool SetMinError(double MinError)
Coloca el valor MinError.
Pds::DataSetBlock Split(const Pds::Matrix &X, const Pds::Vector &Y, double Training, double CrossVal, double Test)
Divide un data set en 3 data set: {Training, CrossValidation, Test}, selecionados aleatoriamente sin ...
void LoadDataLine(unsigned int L, Pds::Matrix &X, Pds::Vector &Y)
Clasificacion de datos separados por una linea.
Pds::Vector FittingLogitMeanSquare(Pds::IterationConf &Conf, const Pds::Matrix &X, const Pds::Vector &Y, double Delta=0.0001)
Calculo de pesos.
Pds::Vector Classify(const Pds::Vector &W, const Pds::Matrix &X)
Calculo del resultado del clasificador.

Enlaces de interés

HomePage Bazaar Download Bug report Ayuda Developer Feed