Home | Develop | Download | Contact
test_logisticregression.cpp
1 
73 #include <iostream>
74 #include <Pds/Ra>
75 #include <Pds/Ml>
76 
77 int main(void)
78 {
79  Pds::IterationConf Conf;
80  Conf.Show=true;
81  Pds::Vector Yp;
83 
84  // Generating data
85  unsigned int L=10000;
86  Pds::Matrix X;
87  Pds::Vector Y;
89  Pds::Vector W(X.Ncol()+1);
90 
91  // Split data set in {Training,Cross-validation,Test}
93 
94  // Create W using training data
95  W.Fill(0.1); Conf.SetAlpha(0.1);
96  Pds::Ra::Tic();
98  W.T().Print("W:\n");
99  Pds::Ra::Toc();
100 
101  W.Fill(0.1); Conf.SetAlpha(0.1);
102  Pds::Ra::Tic();
104  W.T().Print("W:\n");
105  Pds::Ra::Toc();
106 
107  // Testing W with testing data set
109 
110  // Metrics
111  Metrics = Pds::ClassificationMetrics::Optimal(Yp,Dat.Ytt);
112  Metrics.Print("\n");
113 
114  // Curvas de diagnostico
116  Conf.Show=false;
117  double percent=1.0/10.0;
118  Diag=Pds::LogisticModel::LearningCurves(Conf,Dat.Xtr,Dat.Ytr,Dat.Xcv,Dat.Ycv,percent);
119 
120  Diag.Var.Save("Var.txt");
121  Diag.ErrorCv.Save("ErrorCv.txt");
122  Diag.ErrorTr.Save("ErrorTr.txt");
123 
124 
125  return 0;
126 }
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::DiagnosticCurves . Esta clase genera un bloque de datos para analizar curvas de ap...
La clase tipo Pds::IterationConf . Esta clase genera una matriz de Nlin lineas y 1 columna....
static Pds::ClassificationMetrics Optimal(const Pds::Vector &Ypredict, const Pds::Vector &Yactual)
Crea un objeto 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.
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}.
void LoadDataLine(unsigned int L, Pds::Matrix &X, Pds::Vector &Y)
Clasificacion de datos separados por una linea.
Pds::DiagnosticCurves LearningCurves(Pds::IterationConf &Conf, const Pds::Matrix &Xtr, const Pds::Vector &Ytr, const Pds::Matrix &Xcv, const Pds::Vector &Ycv, double percent)
Retorna learning curve.
Pds::Vector FittingGradientCrossEntropy(Pds::IterationConf &Conf, const Pds::Matrix &X, const Pds::Vector &Y, const Pds::Vector &W0)
Gradiente descendente para sigmoide.
Pds::Vector FittingGradientSVM(Pds::IterationConf &Conf, const Pds::Matrix &X, const Pds::Vector &Y, const Pds::Vector &W0)
Gradiente descendente para sigmoide.
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