Skip to content

Commit

Permalink
added an example for multiclass serialization that doesnt work (but r…
Browse files Browse the repository at this point in the history
…uns fine) Once muticlass label serialization work this should be turned into a test
  • Loading branch information
karlnapf committed Mar 14, 2013
1 parent 9e0747f commit 4da2a23
Show file tree
Hide file tree
Showing 2 changed files with 44 additions and 0 deletions.
1 change: 1 addition & 0 deletions examples/undocumented/libshogun/Makefile
Expand Up @@ -84,6 +84,7 @@ TARGETS = basic_minimal \
converter_stochasticproximityembedding \
converter_factoranalysis \
serialization_basic_tests \
serialization_multiclass_labels \
kernel_machine_train_locked \
statistics \
transfer_multitaskleastsquaresregression \
Expand Down
@@ -0,0 +1,43 @@
/*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* Written (W) 2013 Heiko Strathmann
*/
#include <shogun/labels/BinaryLabels.h>

using namespace shogun;

void test_sigmoid_fitting()
{
CBinaryLabels* labels=new CBinaryLabels(10);
labels->set_values(SGVector<float64_t>(labels->get_num_labels()));

for (index_t i=0; i<labels->get_num_labels(); ++i)
labels->set_value(i%2==0 ? 1 : -1, i);

labels->get_values().display_vector("scores");
labels->scores_to_probabilities();

/* only two probabilities will be the result, repeatedly,
* assert against reference implementation */
ASSERT(CMath::abs(labels->get_value(0)-0.8571428439385661)<10E-15);
ASSERT(CMath::abs(labels->get_value(1)-0.14285715606143384)<10E-15);

SG_UNREF(labels);
}

int main()
{
init_shogun_with_defaults();

// sg_io->set_loglevel(MSG_DEBUG);

test_sigmoid_fitting();

exit_shogun();
return 0;
}

0 comments on commit 4da2a23

Please sign in to comment.