Programa para el testeo de las funciones.Para compilar o código example_logisticregression_ig.cpp:
g++ -static -o example_logisticregression_ig example_logisticregression_ig.cpp -lpdsmlmm
Para executar o programa:
./example_logisticregression_ig
Retornando por consola:
W_ig: 0.4812 0 -1
Cost(W): 0.15893202856795
-------------------------
IterationConf data
-------------------------
Alpha: 0.1
MinError: 1e-07
MaxIter: 1000
-------------------------
iter: 1000 Alpha: 0.020986616658128 last_error: 0.0074522609311292
-------------------------
Alpha: 0.020986616658128
LastError: 0.0074522609311292
LastIter: 1000
-------------------------
W_ig: -0.73261682797554 -0.63672966050461 2.1557255295481
Cost(W): 0.30983446123018
Clasification - data
Clasification - ortogonal
Clasification - gradient
Código example_logisticregression_ig.cpp:
#include <iostream>
#include <Pds/Ra>
#include <Pds/Ml>
int main(void)
{
Pds::Matrix X(Pds::Ra::TextFormat,"../test/hard-data-x.txt");
Pds::Vector Y(Pds::Ra::TextFormat,"../test/hard-data-y.txt");
Pds::Vector Yp;
Pds::Vector W;
W.T().Print(" W_ig: ");
W.T().Print(" W_ig: ");
W.T().Print(" W_ig: ");
return 0;
}
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,...