Home | Develop | Download | Contact
example_logisticregression_ig.cpp
1 
43 #include <iostream>
44 #include <Pds/Ra>
45 #include <Pds/Ml>
46 
47 int main(void)
48 {
49  Pds::IterationConf Conf;
50  Conf.Show=true; Conf.SetMinError(1e-07); Conf.SetAlpha(0.1);
51 
52  // Generating data
53  Pds::Matrix X(Pds::Ra::TextFormat,"../test/hard-data-x.txt");
54  Pds::Vector Y(Pds::Ra::TextFormat,"../test/hard-data-y.txt");
59 
60  Pds::Octave::XLabel="x_1";
61  Pds::Octave::YLabel="x_2";
62  Pds::Octave::Plot::PointsX2DY(X,Y,"testando.m","example_logisticregression_ig_data.png");
63 
64  Pds::Vector Yp;
65  Pds::Vector W;
66 
68  // Create W using training data
69 
70  // Método ortogonal
72 
73  W.T().Print(" W_ig: ");
74  std::cout<< " Cost(W): "<<Pds::LogisticModel::CostInformationGain(W,X,Y)<<"\n\n";
75 
77 
78  Pds::Octave::Plot::PointsX2DYW(X,Yp,W,"testando.m","example_logisticregression_ig_ortogonal.png");
79 
80  // Método de gradiente
82  W.T().Print(" W_ig: ");
84 
85  W.T().Print(" W_ig: ");
86  std::cout<< " Cost(W): "<<Pds::LogisticModel::CostInformationGain(W,X,Y)<<"\n";
87 
89 
90  Pds::Octave::Plot::PointsX2DYW(X,Yp,W,"testando_gradient.m","example_logisticregression_ig_gradient.png");
91 
92  return 0;
93 }
La clase tipo Pds::IterationConf . Esta clase genera una matriz de Nlin lineas y 1 columna....
bool SetAlpha(double Alpha)
Coloca el valor alpha.
bool SetMinError(double MinError)
Coloca el valor MinError.
Pds::Vector FittingGradientIG(Pds::IterationConf &Conf, const Pds::Matrix &X, const Pds::Vector &Y, const Pds::Vector &W0)
Calculo de pesos.
double CostInformationGain(const Pds::Vector &W, const Pds::Matrix &X, const Pds::Vector &Y)
Calculo de costo.
Pds::Vector Classify(const Pds::Vector &W, const Pds::Matrix &X)
Calculo del resultado del clasificador.
Pds::Vector GetW0MeanMethod(const Pds::Matrix &X)
Obtiene de forma rapida un vector inicial para usar en regresion logistica.
Pds::Vector FittingOrtogonalIG(const Pds::Matrix &X, const Pds::Vector &Y, unsigned int MinID)
Calculo de pesos.
std::string YLabel
Texto correspondente a ylabel.
std::string XLabel
Texto correspondente a xlabel.
bool PointsX2DYW(const Pds::Matrix &X, const Pds::Vector &Y, const Pds::Vector &W, const std::string &octfilename, const std::string &imgfilename)
Plot de muestras en 2D en las columnas X, clasificadas de forma binaria con Y>=0.5,...
bool PointsX2DY(const Pds::Matrix &X, const Pds::Vector &Y, const std::string &octfilename, const std::string &imgfilename)
Plot de muestras en 2D en las columnas X, clasificadas de forma binaria con Y>=0.5,...

Enlaces de interés

HomePage Bazaar Download Bug report Ayuda Developer Feed