+ boxplot.py: script to generate graphic with boxplot to illustrate distances between theorical and visual means for each population value
This commit is contained in:
parent
b70a60bc59
commit
ba6770df43
3 changed files with 123 additions and 78 deletions
|
|
@ -34,6 +34,7 @@ INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/application/eda_sa)
|
||||||
|
|
||||||
SET(SOURCES
|
SET(SOURCES
|
||||||
t-doEstimatorNormalMulti
|
t-doEstimatorNormalMulti
|
||||||
|
t-mean-distance
|
||||||
)
|
)
|
||||||
|
|
||||||
FOREACH(current ${SOURCES})
|
FOREACH(current ${SOURCES})
|
||||||
|
|
|
||||||
19
test/boxplot.py
Executable file
19
test/boxplot.py
Executable file
|
|
@ -0,0 +1,19 @@
|
||||||
|
#!/usr/bin/env python
|
||||||
|
|
||||||
|
from pylab import *
|
||||||
|
|
||||||
|
FILE_LOCATIONS = 'means_distances_results/files_description.txt'
|
||||||
|
|
||||||
|
data = []
|
||||||
|
|
||||||
|
locations = [ line.split()[0] for line in open( FILE_LOCATIONS ) ]
|
||||||
|
|
||||||
|
for cur_file in locations:
|
||||||
|
data.append( [ float(line.split()[7]) for line in open( cur_file ).readlines() ] )
|
||||||
|
|
||||||
|
print locations
|
||||||
|
#print data
|
||||||
|
|
||||||
|
boxplot( data )
|
||||||
|
|
||||||
|
show()
|
||||||
|
|
@ -1,3 +1,6 @@
|
||||||
|
#include <sys/stat.h>
|
||||||
|
#include <sys/types.h>
|
||||||
|
|
||||||
#include <sstream>
|
#include <sstream>
|
||||||
#include <iomanip>
|
#include <iomanip>
|
||||||
#include <fstream>
|
#include <fstream>
|
||||||
|
|
@ -27,9 +30,10 @@ int main(int ac, char** av)
|
||||||
|
|
||||||
std::string section("Algorithm parameters");
|
std::string section("Algorithm parameters");
|
||||||
|
|
||||||
|
unsigned int r_max = parser.createParam((unsigned int)100, "run-number", "Number of run", 'r', section).value(); // r
|
||||||
unsigned int p_min = parser.createParam((unsigned int)10, "population-min", "Population min", 'p', section).value(); // p
|
unsigned int p_min = parser.createParam((unsigned int)10, "population-min", "Population min", 'p', section).value(); // p
|
||||||
unsigned int p_max = parser.createParam((unsigned int)10000, "population-max", "Population max", 'P', section).value(); // P
|
unsigned int p_max = parser.createParam((unsigned int)1000, "population-max", "Population max", 'P', section).value(); // P
|
||||||
unsigned int p_step = parser.createParam((unsigned int)10, "population-step", "Population step", 't', section).value(); // t
|
unsigned int p_step = parser.createParam((unsigned int)50, "population-step", "Population step", 't', section).value(); // t
|
||||||
unsigned int s_size = parser.createParam((unsigned int)2, "dimension-size", "Dimension size", 'd', section).value(); // d
|
unsigned int s_size = parser.createParam((unsigned int)2, "dimension-size", "Dimension size", 'd', section).value(); // d
|
||||||
|
|
||||||
AtomType mean_value = parser.createParam((AtomType)0, "mean", "Mean value", 'm', section).value(); // m
|
AtomType mean_value = parser.createParam((AtomType)0, "mean", "Mean value", 'm', section).value(); // m
|
||||||
|
|
@ -37,6 +41,9 @@ int main(int ac, char** av)
|
||||||
AtomType covar2_value = parser.createParam((AtomType)0.5, "covar2", "Covar value 2", '2', section).value(); // 2
|
AtomType covar2_value = parser.createParam((AtomType)0.5, "covar2", "Covar value 2", '2', section).value(); // 2
|
||||||
AtomType covar3_value = parser.createParam((AtomType)1.0, "covar3", "Covar value 3", '3', section).value(); // 3
|
AtomType covar3_value = parser.createParam((AtomType)1.0, "covar3", "Covar value 3", '3', section).value(); // 3
|
||||||
|
|
||||||
|
std::string results_directory = parser.createParam((std::string)"means_distances_results", "results-directory", "Results directory", 'R', section).value(); // R
|
||||||
|
std::string files_description = parser.createParam((std::string)"files_description.txt", "files-description", "Files description", 'F', section).value(); // F
|
||||||
|
|
||||||
if (parser.userNeedsHelp())
|
if (parser.userNeedsHelp())
|
||||||
{
|
{
|
||||||
parser.printHelp(std::cout);
|
parser.printHelp(std::cout);
|
||||||
|
|
@ -48,18 +55,34 @@ int main(int ac, char** av)
|
||||||
|
|
||||||
//-----------------------------------------------------
|
//-----------------------------------------------------
|
||||||
|
|
||||||
|
assert(r_max >= 1);
|
||||||
assert(s_size >= 2);
|
assert(s_size >= 2);
|
||||||
|
|
||||||
eo::log << eo::debug << "p_size s_size mean(0) mean(1) new-mean(0) new-mean(1) distance" << std::endl;
|
eo::log << eo::quiet;
|
||||||
|
|
||||||
eo::log << eo::logging;
|
::mkdir( results_directory.c_str(), 0755 );
|
||||||
|
|
||||||
for ( unsigned int p_size = p_min; p_size <= p_max; p_size *= p_step )
|
for ( unsigned int p_size = p_min; p_size <= p_max; p_size += p_step )
|
||||||
{
|
{
|
||||||
|
|
||||||
assert(p_size >= p_min);
|
assert(p_size >= p_min);
|
||||||
|
|
||||||
|
std::ostringstream desc_file;
|
||||||
|
desc_file << results_directory << "/" << files_description;
|
||||||
|
|
||||||
|
std::ostringstream cur_file;
|
||||||
|
cur_file << results_directory << "/pop_" << p_size << ".txt";
|
||||||
|
|
||||||
|
eo::log << eo::file( desc_file.str() ) << cur_file.str().c_str() << std::endl;
|
||||||
|
|
||||||
|
eo::log << eo::file( cur_file.str() );
|
||||||
|
|
||||||
|
eo::log << eo::logging << "run_number p_size s_size mean(0) mean(1) new-mean(0) new-mean(1) distance" << std::endl;
|
||||||
|
|
||||||
|
eo::log << eo::quiet;
|
||||||
|
|
||||||
|
for ( unsigned int r = 1; r <= r_max; ++r)
|
||||||
|
{
|
||||||
|
|
||||||
eoState state;
|
eoState state;
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -162,7 +185,7 @@ int main(int ac, char** av)
|
||||||
|
|
||||||
distance = sqrt( distance );
|
distance = sqrt( distance );
|
||||||
|
|
||||||
eo::log << p_size << " " << s_size << " "
|
eo::log << r << " " << p_size << " " << s_size << " "
|
||||||
<< mean(0) << " " << mean(1) << " "
|
<< mean(0) << " " << mean(1) << " "
|
||||||
<< new_mean(0) << " " << new_mean(1) << " "
|
<< new_mean(0) << " " << new_mean(1) << " "
|
||||||
<< distance << std::endl
|
<< distance << std::endl
|
||||||
|
|
@ -172,5 +195,7 @@ int main(int ac, char** av)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Reference in a new issue