[mlpack-svn] r10110 - mlpack/trunk/src/mlpack/methods/emst

fastlab-svn at coffeetalk-1.cc.gatech.edu fastlab-svn at coffeetalk-1.cc.gatech.edu
Tue Nov 1 14:48:40 EDT 2011


Author: march
Date: 2011-11-01 14:48:39 -0400 (Tue, 01 Nov 2011)
New Revision: 10110

Added:
   mlpack/trunk/src/mlpack/methods/emst/emst_test.cc
   mlpack/trunk/src/mlpack/methods/emst/test_data_3_1000.csv
Removed:
   mlpack/trunk/src/mlpack/methods/emst/README
   mlpack/trunk/src/mlpack/methods/emst/test_data.csv
Modified:
   mlpack/trunk/src/mlpack/methods/emst/CMakeLists.txt
   mlpack/trunk/src/mlpack/methods/emst/dtb.hpp
   mlpack/trunk/src/mlpack/methods/emst/emst_main.cpp
Log:
wrote emst_tests, fixed a few problems created by blindly replacing index_t with size_t

Modified: mlpack/trunk/src/mlpack/methods/emst/CMakeLists.txt
===================================================================
--- mlpack/trunk/src/mlpack/methods/emst/CMakeLists.txt	2011-11-01 17:36:36 UTC (rev 10109)
+++ mlpack/trunk/src/mlpack/methods/emst/CMakeLists.txt	2011-11-01 18:48:39 UTC (rev 10110)
@@ -33,3 +33,11 @@
   mlpack
   boost_unit_test_framework
 )
+
+add_executable(emst_test
+  emst_test.cc
+)
+target_link_libraries(emst_test
+  mlpack
+  boost_unit_test_framework
+)

Deleted: mlpack/trunk/src/mlpack/methods/emst/README
===================================================================
--- mlpack/trunk/src/mlpack/methods/emst/README	2011-11-01 17:36:36 UTC (rev 10109)
+++ mlpack/trunk/src/mlpack/methods/emst/README	2011-11-01 18:48:39 UTC (rev 10110)
@@ -1,19 +0,0 @@
-This folder contains an implementation of the DualTreeBoruvka algorithm for finding a Euclidean Minimum Spanning Tree.  NOTE: this algorithm is awaiting publication and is not for distribution.  
-
-Compile with fl-build emst_main
-
-Run with ./emst_main --data="filename" for basic use.  This will create a file "output.txt" with the minimum spanning tree represented as an edge list.  
-
-Other options:
-
-bool --using_thor -> defaults to 0, thor is not yet supported, so setting it to 1 will cause an error message to be printed
-
-string --data -> the name of the file with the data points
-
-int --dtb/leaf_size -> defaults to 1, the number of points in the leaves of the tree.  For the DualTreeBoruvka algorithm, 1 gives the fastest performance.  I recommend only changing this parameter to conserve memory.
-
-bool --do_naive -> defaults to 0.  If it is 1, then the algorithm will compute the MST with both DualTreeBoruvka and a naive implementation of Boruvka's algorithm.  It will compare the two results and exit with an error if they are different.
-
-string --naive/output_filename -> The name of the file where the naive edge list should be printed.  Defaults to naive_output.txt
-
-string --dtb/output_filename -> The name of the file where the DTB edge list should be printed.  Defaults to output.txt
\ No newline at end of file

Modified: mlpack/trunk/src/mlpack/methods/emst/dtb.hpp
===================================================================
--- mlpack/trunk/src/mlpack/methods/emst/dtb.hpp	2011-11-01 17:36:36 UTC (rev 10109)
+++ mlpack/trunk/src/mlpack/methods/emst/dtb.hpp	2011-11-01 18:48:39 UTC (rev 10110)
@@ -4,7 +4,7 @@
  * @author Bill March (march at gatech.edu)
  *
  * Contains an implementation of the DualTreeBoruvka algorithm for finding a
- * Euclidean Minimum Spanning Tree.
+ * Euclidean Minimum Spanning Tree using the kd-tree data structure.
  *
  * Citation: March, W. B.; Ram, P.; and Gray, A. G.  Fast Euclidean Minimum Spanning
  * Tree: Algorithm, Analysis, Applications.  In KDD, 2010.
@@ -21,17 +21,9 @@
 #include <mlpack/core/tree/binary_space_tree.hpp>
 #include <mlpack/core/kernels/lmetric.hpp>
 
-PARAM(size_t, "leaf_size", "Size of the leaves.", "naive", 1, false);
-
 namespace mlpack {
 namespace emst {
 
-/*
-const fx_submodule_doc dtb_submodules[] = {
-FX_SUBMODULE_DOC_DONE
-};
- */
-
 /**
 * A Stat class for use with fastlib's trees.  This one only stores two values.
  *
@@ -43,10 +35,11 @@
  * points in this node.  If points in this node are in different components,
  * this value will be negative.
  */
+  
 class DTBStat {
  private:
   double max_neighbor_distance_;
-  size_t component_membership_;
+  int component_membership_;
 
  public:
   void set_max_neighbor_distance(double distance) {
@@ -57,11 +50,11 @@
     return max_neighbor_distance_;
   }
 
-  void set_component_membership(size_t membership) {
+  void set_component_membership(int membership) {
     component_membership_ = membership;
   }
 
-  size_t component_membership() {
+  int component_membership() {
     return component_membership_;
   }
 
@@ -108,8 +101,6 @@
  */
 class DualTreeBoruvka {
 
-//  FORBID_ACCIDENTAL_COPIES(DualTreeBoruvka);
-
  public:
   // For now, everything is in Euclidean space
   static const size_t metric = 2;
@@ -144,7 +135,7 @@
   size_t number_r_recursions_;
   size_t number_both_recursions_;
 
-  int do_naive_;
+  bool do_naive_;
 
   DTBTree* tree_;
 
@@ -286,6 +277,9 @@
       //pruned by component membership
 
       mlpack::Log::Assert(reference_node->stat().component_membership() >= 0);
+               
+      mlpack::Log::Info << query_node->stat().component_membership() << "q mem\n";
+      mlpack::Log::Info << reference_node->stat().component_membership() << "r mem\n";
 
       number_component_prunes_++;
     }
@@ -411,7 +405,7 @@
 
   struct SortEdgesHelper_ {
     bool operator() (const EdgePair& pairA, const EdgePair& pairB) {
-      return (pairA.distance() > pairB.distance());
+      return (pairA.distance() < pairB.distance());
     }
   } SortFun;
 
@@ -432,29 +426,33 @@
     SortEdges_();
 
     mlpack::Log::Assert(number_of_edges_ == number_of_points_ - 1);
-    results.set_size(3, number_of_edges_);
+    results.set_size(number_of_edges_, 3);
 
+    // need to unpermute the point labels
     if (!do_naive_) {
       for (size_t i = 0; i < (number_of_points_ - 1); i++) {
 
-        edges_[i].set_lesser_index(old_from_new_permutation_[edges_[i]
-          .lesser_index()]);
+        // Make sure the edge list stores the smaller index first to 
+        // make checking correctness easier
+        size_t ind1, ind2;
+        ind1 = old_from_new_permutation_[edges_[i].lesser_index()];
+        ind2 = old_from_new_permutation_[edges_[i].greater_index()];
+        
+        edges_[i].set_lesser_index(std::min(ind1, ind2));
+        edges_[i].set_greater_index(std::max(ind1, ind2));
 
-        edges_[i].set_greater_index(old_from_new_permutation_[edges_[i]
-          .greater_index()]);
+        results(i, 0) = edges_[i].lesser_index();
+        results(i, 1) = edges_[i].greater_index();
+        results(i, 2) = sqrt(edges_[i].distance());
 
-        results(0, i) = edges_[i].lesser_index();
-        results(1, i) = edges_[i].greater_index();
-        results(2, i) = sqrt(edges_[i].distance());
-
       }
     }
     else {
 
       for (size_t i = 0; i < number_of_edges_; i++) {
-        results(0, i) = edges_[i].lesser_index();
-        results(1, i) = edges_[i].greater_index();
-        results(2, i) = sqrt(edges_[i].distance());
+        results(i, 0) = edges_[i].lesser_index();
+        results(i, 1) = edges_[i].greater_index();
+        results(i, 2) = sqrt(edges_[i].distance());
       }
 
     }
@@ -532,9 +530,10 @@
     fx_result_int(module_, "number_r_recursions", number_r_recursions_);
     fx_result_int(module_, "number_both_recursions", number_both_recursions_);*/
     // TODO, not sure how I missed this last time.
-    mlpack::Log::Info << "total_squared_length" << total_dist_ << std::endl;
-    mlpack::Log::Info << "number_of_points" << number_of_points_ << std::endl;
-    mlpack::Log::Info << "dimension" << data_points_.n_rows << std::endl;
+    mlpack::Log::Info << "Total squared length: " << total_dist_ << std::endl;
+    mlpack::Log::Info << "Number of points: " << number_of_points_ << std::endl;
+    mlpack::Log::Info << "Dimension: " << data_points_.n_rows << std::endl;
+    /*
     mlpack::Log::Info << "number_of_loops" << std::endl;
     mlpack::Log::Info << "number_distance_prunes" << std::endl;
     mlpack::Log::Info << "number_component_prunes" << std::endl;
@@ -542,6 +541,10 @@
     mlpack::Log::Info << "number_q_recursions" << std::endl;
     mlpack::Log::Info << "number_r_recursions" << std::endl;
     mlpack::Log::Info << "number_both_recursions" << std::endl;
+     */
+    
+    mlpack::CLI::GetParam<double>("dtb/total_squared_length") = total_dist_;
+    
   } // OutputResults_
 
   /////////// Public Functions ///////////////////
@@ -554,11 +557,9 @@
 
 
   /**
-   * Takes in a reference to the data set and a module.  Copies the data,
+   * Takes in a reference to the data set.  Copies the data,
    * builds the tree, and initializes all of the member variables.
    *
-   * This module will be checked for the optional parameters "leaf_size" and
-   * "do_naive".
    */
   void Init(const arma::mat& data) {
 
@@ -572,17 +573,20 @@
       // This gives best pruning empirically
       // Use leaf_size=1 unless space is a big concern
       CLI::GetParam<int>("tree/leaf_size") =
-          CLI::GetParam<size_t>("naive/leaf_size");
+          CLI::GetParam<int>("emst/leaf_size");
 
-      Timers::StartTimer("naive/tree_building");
+      Timers::StartTimer("emst/tree_building");
 
       tree_ = new DTBTree(data_points_, old_from_new_permutation_);
 
-      Timers::StopTimer("naive/tree_building");
+      Timers::StopTimer("emst/tree_building");
+      
     }
     else {
+      
       tree_ = NULL;
       old_from_new_permutation_.resize(0);
+      
     }
 
     number_of_points_ = data_points_.n_cols;
@@ -614,24 +618,31 @@
     Timers::StartTimer("emst/MST_computation");
 
     while (number_of_edges_ < (number_of_points_ - 1)) {
+      
       ComputeNeighbors_();
 
       AddAllEdges_();
 
       Cleanup_();
 
-      Log::Info << "number_of_loops = " << number_of_loops_ << std::endl;
+      
+      Log::Info << "Finished loop number: " << number_of_loops_ << std::endl;
+      Log::Info << number_of_edges_ << " edges found so far.\n\n";
+      /*
+      Log::Info << number_leaf_computations_ << " base cases.\n";
+      Log::Info << number_distance_prunes_ << " distance prunes.\n";
+      Log::Info << number_component_prunes_ << " component prunes.\n";
+      Log::Info << number_r_recursions_ << " reference recursions.\n";
+      Log::Info << number_q_recursions_ << " query recursions.\n";
+      Log::Info << number_both_recursions_ << " dual recursions.\n\n";
+      */
+      
     }
 
     Timers::StopTimer("emst/MST_computation");
 
-//    if (results != NULL) {
+    EmitResults_(results);
 
-      EmitResults_(results);
-
-//    }
-
-
     OutputResults_();
 
   } // ComputeMST

Modified: mlpack/trunk/src/mlpack/methods/emst/emst_main.cpp
===================================================================
--- mlpack/trunk/src/mlpack/methods/emst/emst_main.cpp	2011-11-01 17:36:36 UTC (rev 10109)
+++ mlpack/trunk/src/mlpack/methods/emst/emst_main.cpp	2011-11-01 18:48:39 UTC (rev 10110)
@@ -3,159 +3,88 @@
  *
  * Calls the DualTreeBoruvka algorithm from dtb.h
  * Can optionally call Naive Boruvka's method
- * See README for command line options.
+ * 
+ * For algorithm details, see: 
+ * March, W.B., Ram, P., and Gray, A.G.
+ * Fast Euclidean Minimum Spanning Tree: Algorithm, Analysis, Applications. 
+ * In KDD, 2010.
  *
  * @author Bill March (march at gatech.edu)
 */
 
+#include "dtb.hpp"
 
 #include <mlpack/core.h>
-#include "dtb.hpp"
 
-PARAM_FLAG("using_thor", "For when an implementation of thor is around",
-    "emst");
 PARAM_STRING_REQ("input_file", "Data input file.", "emst");
-PARAM_STRING("output_file", "Data output file.", "emst", "emst_output.csv");
-
-PARAM_FLAG("do_naive", "Check against naive.", "naive");
+PARAM_STRING("output_file", "Data output file.  Stored as an edge list.", "emst", "emst_output.csv");
+PARAM_FLAG("do_naive", "Compute the MST using .", "naive");
 PARAM_STRING("output_file", "Naive data output file.", "naive",
     "naive_output.csv");
+PARAM_INT("leaf_size", "Leaf size in the kd-tree.  Singleton leaves give the empirically best performance at the cost of greater memory requirements.", "emst", 1);
+PARAM_DOUBLE("total_squared_length", "Squared length of the computed tree.", "dtb", 0.0);
 
-PARAM(double, "total_squared_length", "Calculation result.", "dtb", 0.0, false);
-
 using namespace mlpack;
 using namespace mlpack::emst;
 
 int main(int argc, char* argv[]) {
+
   CLI::ParseCommandLine(argc, argv);
 
-  // For when I implement a thor version
-  bool using_thor = CLI::GetParam<bool>("emst/using_thor");
 
+  ///////////////// READ IN DATA //////////////////////////////////
+  std::string data_file_name = CLI::GetParam<std::string>("emst/input_file");
 
-  if (using_thor) {
-    Log::Warn << "thor is not yet supported" << std::endl;
+  Log::Info << "Reading in data.\n";
+  
+  arma::mat data_points;
+  data_points.load(data_file_name.c_str());
+  
+  // Do naive
+  if (CLI::GetParam<bool>("naive/do_naive")) {
+    
+    Log::Info << "Running naive algorithm.\n";
+    
+    DualTreeBoruvka naive;
+    //CLI::GetParam<bool>("naive/do_naive") = true;
+    
+    naive.Init(data_points);
+    
+    arma::mat naive_results;
+    naive.ComputeMST(naive_results);
+    
+    std::string naive_output_filename =
+    CLI::GetParam<std::string>("naive/output_file");
+    
+    naive_results.save(naive_output_filename.c_str(), arma::csv_ascii, false,
+                       true);
+    
   }
   else {
+  
+    Log::Info << "Data read, building tree.\n";
 
-    ///////////////// READ IN DATA //////////////////////////////////
-
-    std::string data_file_name = CLI::GetParam<std::string>("emst/input_file");
-
-    arma::mat data_points;
-    data_points.load(data_file_name.c_str());
-
     /////////////// Initialize DTB //////////////////////
     DualTreeBoruvka dtb;
-
+    dtb.Init(data_points);
+    
+    Log::Info << "Tree built, running algorithm.\n\n";
+    
     ////////////// Run DTB /////////////////////
     arma::mat results;
 
     dtb.ComputeMST(results);
 
-    //////////////// Check against naive //////////////////////////
-    if (CLI::GetParam<bool>("naive/do_naive")) {
 
-      DualTreeBoruvka naive;
-      CLI::GetParam<bool>("naive/do_naive") = true;
-
-      naive.Init(data_points);
-
-      arma::mat naive_results;
-      naive.ComputeMST(naive_results);
-
-      /* Compare the naive output to the DTB output */
-
-      Timers::StartTimer("naive/comparison");
-
-
-      // Check if the edge lists are the same
-      // Loop over the naive edge list
-      int is_correct = 1;
-      /*
-      for (size_t naive_index = 0; naive_index < results.size();
-           naive_index++) {
-
-        int this_loop_correct = 0;
-        size_t naive_lesser_index = results[naive_index].lesser_index();
-        size_t naive_greater_index = results[naive_index].greater_index();
-        double naive_distance = results[naive_index].distance();
-
-        // Loop over the DTB edge list and compare against naive
-        // Break when an edge is found that matches the current naive edge
-        for (size_t dual_index = 0; dual_index < naive_results.size();
-             dual_index++) {
-
-          size_t dual_lesser_index = results[dual_index].lesser_index();
-          size_t dual_greater_index = results[dual_index].greater_index();
-          double dual_distance = results[dual_index].distance();
-
-          if (naive_lesser_index == dual_lesser_index) {
-            if (naive_greater_index == dual_greater_index) {
-              DEBUG_ASSERT(naive_distance == dual_distance);
-              this_loop_correct = 1;
-              break;
-            }
-          }
-
-        }
-
-        if (this_loop_correct == 0) {
-          is_correct = 0;
-          break;
-        }
-
-      }
-     */
-      if (is_correct == 0) {
-
-        Log::Warn << "Naive check failed!" << std::endl <<
-        "Edge lists are different." << std::endl << std::endl;
-
-        // Check if the outputs have the same length
-        if (CLI::GetParam<double>("naive/total_squared_length") !=
-           CLI::GetParam<double>("naive/total_squared_length")) {
-
-          Log::Fatal << "Total lengths are different! "
-             << " One algorithm has failed." << std::endl;
-
-          return 1;
-        }
-        else {
-          // NOTE: if the edge lists are different, but the total lengths are
-          // the same, the algorithm may still be correct.  The MST is not
-          // uniquely defined for some point sets.  For example, an equilateral
-          // triangle has three minimum spanning trees.  It is possible for
-          // naive and DTB to find different spanning trees in this case.
-          Log::Info << "Total lengths are the same.";
-          Log::Info << "It is possible the point set";
-          Log::Info << "has more than one minimum spanning tree." << std::endl;
-        }
-
-      }
-      else {
-        Log::Info << "Naive and DualTreeBoruvka produced the same MST." <<
-          std::endl << std::endl;
-      }
-
-      Timers::StopTimer("naive/comparison");
-
-      std::string naive_output_filename =
-          CLI::GetParam<std::string>("naive/output_file");
-
-      naive_results.save(naive_output_filename.c_str(), arma::csv_ascii, false,
-          true);
-    }
-
     //////////////// Output the Results ////////////////
 
     std::string output_filename =
         CLI::GetParam<std::string>("emst/output_file");
 
     results.save(output_filename.c_str(), arma::csv_ascii, false, true);
+    
+  }
 
-  }// end else (if using_thor)
-
   return 0;
 
 }

Added: mlpack/trunk/src/mlpack/methods/emst/emst_test.cc
===================================================================
--- mlpack/trunk/src/mlpack/methods/emst/emst_test.cc	                        (rev 0)
+++ mlpack/trunk/src/mlpack/methods/emst/emst_test.cc	2011-11-01 18:48:39 UTC (rev 10110)
@@ -0,0 +1,138 @@
+/**
+ * @file emst_test.cc
+ *
+ * Test file for EMST methods
+ */
+#include <mlpack/core.h>
+#include "dtb.hpp"
+
+#define BOOST_TEST_MODULE EMST Test
+#include <boost/test/unit_test.hpp>
+
+using namespace mlpack;
+using namespace mlpack::emst;
+
+/***
+ * Simple emst test with small, synthetic dataset.  This is an
+ * exhaustive test, which checks that each method for performing the calculation
+ * (dual-tree, single-tree, naive) produces the correct results.  The dataset is
+ * in one dimension for simplicity -- the correct functionality of distance
+ * functions is not tested here.
+ */
+BOOST_AUTO_TEST_CASE(exhaustive_synthetic_test) {
+  // Set up our data.
+  arma::mat data(1, 11);
+  data[0] = 0.05; // Row addressing is unnecessary (they are all 0).
+  data[1] = 0.37;
+  data[2] = 0.15;
+  data[3] = 1.25;
+  data[4] = 5.05;
+  data[5] = -0.22;
+  data[6] = -2.00;
+  data[7] = -1.30;
+  data[8] = 0.45;
+  data[9] = 0.91;
+  data[10] = 1.00;
+
+
+  // Now perform the actual calculation.
+  arma::mat results;
+  
+  
+  DualTreeBoruvka dtb;
+  dtb.Init(data);
+  dtb.ComputeMST(results);
+
+  // Now the exhaustive check for correctness.  
+
+  BOOST_REQUIRE(results(0, 0) == 1);
+  BOOST_REQUIRE(results(0, 1) == 8);
+  BOOST_REQUIRE_CLOSE(results(0, 2), 0.08, 1e-5);
+  
+  BOOST_REQUIRE(results(1, 0) == 9);
+  BOOST_REQUIRE(results(1, 1) == 10);
+  BOOST_REQUIRE_CLOSE(results(1, 2), 0.09, 1e-5);
+  
+  BOOST_REQUIRE(results(2, 0) == 0);
+  BOOST_REQUIRE(results(2, 1) == 2);
+  BOOST_REQUIRE_CLOSE(results(2, 2), 0.1, 1e-5);
+  
+  BOOST_REQUIRE(results(3, 0) == 1);
+  BOOST_REQUIRE(results(3, 1) == 2);
+  BOOST_REQUIRE_CLOSE(results(3, 2), 0.22, 1e-5);
+  
+  BOOST_REQUIRE(results(4, 0) == 3);
+  BOOST_REQUIRE(results(4, 1) == 10);
+  BOOST_REQUIRE_CLOSE(results(4, 2), 0.25, 1e-5);
+  
+  BOOST_REQUIRE(results(5, 0) == 0);
+  BOOST_REQUIRE(results(5, 1) == 5);
+  BOOST_REQUIRE_CLOSE(results(5, 2), 0.27, 1e-5);
+  
+  BOOST_REQUIRE(results(6, 0) == 8);
+  BOOST_REQUIRE(results(6, 1) == 9);
+  BOOST_REQUIRE_CLOSE(results(6, 2), 0.46, 1e-5);
+  
+  BOOST_REQUIRE(results(7, 0) == 6);
+  BOOST_REQUIRE(results(7, 1) == 7);
+  BOOST_REQUIRE_CLOSE(results(7, 2), 0.7, 1e-5);
+  
+  BOOST_REQUIRE(results(8, 0) == 5);
+  BOOST_REQUIRE(results(8, 1) == 7);
+  BOOST_REQUIRE_CLOSE(results(8, 2), 1.08, 1e-5);
+  
+  BOOST_REQUIRE(results(9, 0) == 3);
+  BOOST_REQUIRE(results(9, 1) == 4);
+  BOOST_REQUIRE_CLOSE(results(9, 2), 3.8, 1e-5);
+  
+  
+}
+
+/**
+ * Test the dual tree method against the naive computation.
+ *
+ * Errors are produced if the results are not identical.
+ */
+BOOST_AUTO_TEST_CASE(dual_tree_vs_naive) {
+  arma::mat input_data;
+
+  // Hard-coded filename: bad!
+  // Code duplication: also bad!
+  if (!input_data.load("test_data_3_1000.csv", arma::auto_detect, false,
+      true))
+    BOOST_FAIL("Cannot load test dataset test_data_3_1000.csv!");
+
+  // Set up matrices to work with (may not be necessary with no ALIAS_MATRIX?).
+  arma::mat dual_data = arma::trans(input_data);
+  arma::mat naive_data = arma::trans(input_data);
+
+  // Reset parameters from last test.
+  DualTreeBoruvka dtb;
+  dtb.Init(dual_data);
+  
+  arma::mat dual_results;
+  dtb.ComputeMST(dual_results);
+  
+  // Set naive mode.
+  CLI::GetParam<bool>("naive/do_naive") = true;
+
+  DualTreeBoruvka dtb_naive;
+  dtb_naive.Init(naive_data);
+  
+  arma::mat naive_results;
+  dtb_naive.ComputeMST(naive_results);
+  
+  BOOST_REQUIRE(dual_results.n_cols == naive_results.n_cols);
+  BOOST_REQUIRE(dual_results.n_rows == naive_results.n_rows);
+  
+  for (size_t i = 0; i < dual_results.n_rows; i++) {
+
+    BOOST_REQUIRE(dual_results(i,0) == naive_results(i,0));
+    BOOST_REQUIRE(dual_results(i,1) == naive_results(i,1));
+    BOOST_REQUIRE_CLOSE(dual_results(i,2), naive_results(i,2), 1e-5);
+
+  }
+  
+  
+}
+

Deleted: mlpack/trunk/src/mlpack/methods/emst/test_data.csv
===================================================================
--- mlpack/trunk/src/mlpack/methods/emst/test_data.csv	2011-11-01 17:36:36 UTC (rev 10109)
+++ mlpack/trunk/src/mlpack/methods/emst/test_data.csv	2011-11-01 18:48:39 UTC (rev 10110)
@@ -1,20 +0,0 @@
-0.3964647737602753 0.8404853694114252
-0.3533360972452435 0.4465834347965441
-0.3186927723118806 0.8864284332230312
-0.01558284940832877 0.5840902203172718
-0.1593686265318048 0.3837158748071943
-0.6910043733821958 0.05885891359273643
-0.899854306161604 0.1635459506303647
-0.1590715025818064 0.5330647140218545
-0.6041441897112385 0.5826990212072189
-0.2699711179070157 0.3904781954634089
-0.2934005701189513 0.7423774060339809
-0.298525606318119 0.07553807853778238
-0.4049826335833338 0.8573779427081831
-0.9419683232918992 0.6628306597899964
-0.8464757799300067 0.002755081426883521
-0.4623792450254847 0.5325960244382983
-0.78787662089292 0.2656122349713712
-0.9827522631010304 0.3067851306141804
-0.6008551364891055 0.608715653358658
-0.2124387982011875 0.8858951305876062

Added: mlpack/trunk/src/mlpack/methods/emst/test_data_3_1000.csv
===================================================================
--- mlpack/trunk/src/mlpack/methods/emst/test_data_3_1000.csv	                        (rev 0)
+++ mlpack/trunk/src/mlpack/methods/emst/test_data_3_1000.csv	2011-11-01 18:48:39 UTC (rev 10110)
@@ -0,0 +1,1000 @@
+0.339406815,0.843176636,0.472701471
+0.212587646,0.351174901,0.81056695
+0.605649993,0.45338097,0.623370668
+0.269783539,0.482031883,0.36535861
+0.725254282,0.477113042,0.042100268
+0.529287901,0.776008587,0.303809928
+0.098778217,0.318454787,0.983422857
+0.685345453,0.837942768,0.540406673
+0.503220972,0.268813629,0.41488501
+0.160147626,0.255047893,0.04072469
+0.564535197,0.943435462,0.597070812
+0.663842864,0.276972185,0.02208704
+0.077321401,0.032366881,0.826784604
+0.794220519,0.319582218,0.266025433
+0.466815953,0.864683732,0.684380976
+0.680962499,0.009554527,0.484176898
+0.257862396,0.875068776,0.326253946
+0.695503778,0.695095604,0.955586038
+0.569205007,0.662786497,0.036489177
+0.604542917,0.250714055,0.232826165
+0.928175028,0.871769923,0.327107027
+0.362809806,0.270846833,0.917535106
+0.567471988,0.09223176,0.018232595
+0.30294,0.197331083,0.676067984
+0.136497436,0.991079028,0.640906359
+0.490191642,0.321877535,0.210121475
+0.886240693,0.124811844,0.109638108
+0.487537807,0.474289999,0.34183089
+0.038698268,0.515865087,0.984297254
+0.437309222,0.534489172,0.792665419
+0.898099395,0.461121197,0.785225662
+0.256850927,0.840446806,0.056158684
+0.335408063,0.806637161,0.913551388
+0.11329872,0.670392847,0.333361274
+0.954403847,0.024104509,0.325578493
+0.824152332,0.614355433,0.271931013
+0.729647547,0.666093053,0.579723184
+0.25675029,0.94037263,0.530553224
+0.799877963,0.555666351,0.056606945
+0.213120693,0.763046224,0.341926361
+0.975873714,0.554796483,0.049489218
+0.422782321,0.375502502,0.875514176
+0.732474122,0.920181004,0.273895723
+0.288070185,0.878065303,0.57017629
+0.269706239,0.854626516,0.607709975
+0.615118638,0.006748605,0.00278243
+0.655373608,0.348029869,0.909502319
+0.358287814,0.419322455,0.362741982
+0.152473842,0.659459939,0.497284571
+0.930791658,0.934132013,0.150924236
+0.792977546,0.953203388,0.465884431
+0.971953827,0.268751729,0.220474277
+0.244730747,0.056636753,0.088649766
+0.873554351,0.305649442,0.91790044
+0.26662478,0.221646762,0.310857157
+0.659541537,0.93018384,0.139339275
+0.833616742,0.833734413,0.551027856
+0.43405195,0.874582065,0.996443541
+0.442896336,0.118977275,0.03127628
+0.388886541,0.976070927,0.294801481
+0.14757794,0.195944854,0.129778502
+0.73209291,0.551685931,0.218866346
+0.85393572,0.675733762,0.501776114
+0.804291505,0.746786474,0.94053733
+0.199998362,0.403471102,0.614783956
+0.302029244,0.084831174,0.043490422
+0.458371115,0.076068613,0.940418665
+0.122287089,0.867270578,0.612001352
+0.423331474,0.370629389,0.407480574
+0.400056969,0.919523609,0.940521669
+0.74852813,0.872400563,0.915423635
+0.614934326,0.67621724,0.382278246
+0.0184522,0.545825352,0.74127138
+0.937453855,0.175662201,0.666301896
+0.504358818,0.251308945,0.849159677
+0.397410107,0.973000161,0.648601332
+0.398342217,0.110698975,0.916968596
+0.464980239,0.683124011,0.070633362
+0.787030874,0.393777381,0.731973049
+0.612845512,0.893440416,0.475331995
+0.241219407,0.792282417,0.389574277
+0.465756798,0.552685716,0.092092299
+0.908028882,0.837528446,0.794160948
+0.552741674,0.898614081,0.764312365
+0.607116253,0.958698621,0.334887326
+0.322583246,0.541387861,0.879874555
+0.124522558,0.229074642,0.510214096
+0.049900273,0.471371867,0.367698395
+0.261657863,0.105228571,0.748191349
+0.216818324,0.700885804,0.34479269
+0.896337659,0.634574468,0.203599217
+0.961150989,0.920563011,0.795999477
+0.120635447,0.744570376,0.107177572
+0.696406743,0.788342315,0.173664558
+0.577700329,0.493151732,0.989211395
+0.270346683,0.586765585,0.208832269
+0.171412097,0.116618251,0.53141933
+0.596260532,0.819973735,0.531503373
+0.120665467,0.556332466,0.643268746
+0.546751646,0.563896374,0.079856633
+0.637150933,0.126536213,0.823749724
+0.637940649,0.951567917,0.397777975
+0.344749598,0.517031469,0.48297473
+0.296545224,0.419944602,0.99985146
+0.707956343,0.985929306,0.942420811
+0.24734852,0.001808114,0.489512545
+0.29395388,0.751934338,0.924845167
+0.306350765,0.676837884,0.614397758
+0.387029257,0.668882644,0.316866608
+0.166701475,0.220250465,0.70788096
+0.666366134,0.343214579,0.063804166
+0.970614577,0.514452347,0.643280872
+0.084297811,0.906111319,0.590434434
+0.163302217,0.226212634,0.074753132
+0.20207705,0.197835179,0.217985026
+0.413236066,0.640190511,0.520645448
+0.807941459,0.463910044,0.996796367
+0.208875906,0.182468954,0.876826443
+0.743474185,0.840439019,0.143677671
+0.266758693,0.103719005,0.920995789
+0.030607849,0.973154392,0.814015083
+0.237753714,0.374336732,0.44138091
+0.83212984,0.547216604,0.371699647
+0.302411666,0.58054099,0.303141758
+0.949214871,0.783756542,0.457582838
+0.32776739,0.133095384,0.351183944
+0.673471065,0.432009028,0.761641303
+0.120361022,0.494421101,0.954699616
+0.049975694,0.857405242,0.133753572
+0.314326245,0.599784238,0.698931698
+0.10972582,0.994733888,0.603365409
+0.246939825,0.79385323,0.576049373
+0.420949269,0.55824091,0.684730016
+0.085903635,0.678776288,0.759533545
+0.221902971,0.606683148,0.183625782
+0.934582003,0.263106456,0.195228637
+0.276550653,0.563455012,0.477130256
+0.939865401,0.683543172,0.98694541
+0.090714119,0.155392084,0.183225576
+0.546170002,0.226065658,0.757518873
+0.635725491,0.259656977,0.803254796
+0.768135532,0.329687113,0.784471673
+0.67201594,0.69314804,0.216292884
+0.731388623,0.632648812,0.298465113
+0.030104188,0.531279626,0.68605789
+0.404907965,0.617707054,0.646985633
+0.38264213,0.522044947,0.606066308
+0.850778503,0.771072538,0.780038925
+0.333386945,0.62981651,0.838539888
+0.144526261,0.90723358,0.672092924
+0.803193149,0.545698586,0.740250704
+0.144775421,0.073065649,0.81327723
+0.800150626,0.077947117,0.498989131
+0.805355858,0.282274855,0.111520406
+0.432276345,0.614069782,0.04562788
+0.119740317,0.122788948,0.68461108
+0.188596378,0.666133286,0.753645204
+0.143050522,0.393902986,0.609633117
+0.754401856,0.84172035,0.387786256
+0.97549575,0.97044364,0.621482928
+0.735098473,0.96738673,0.239086021
+0.825090649,0.153687653,0.520111132
+0.720848546,0.211391499,0.513430909
+0.572411742,0.56579983,0.313933048
+0.766584951,0.704264072,0.103088529
+0.933914925,0.70795791,0.378434849
+0.232266382,0.864968616,0.664769493
+0.180748316,0.792633394,0.983236654
+0.320744207,0.073646797,0.915148464
+0.058415284,0.478244018,0.171213592
+0.613274471,0.423949271,0.899198164
+0.83818587,0.622457639,0.496368891
+0.547369341,0.5160996,0.318684775
+0.489079348,0.504840066,0.174865371
+0.133510366,0.873938618,0.95342181
+0.355477984,0.610358907,0.32242224
+0.32167355,0.132961802,0.381440702
+0.660257981,0.59386003,0.570704079
+0.519799486,0.220676336,0.85452965
+0.097125446,0.037837774,0.581579153
+0.801485909,0.741547848,0.06310355
+0.413142247,0.303102946,0.30224609
+0.07746447,0.555846316,0.750106689
+0.593760097,0.256631753,0.179035377
+0.819000445,0.86578977,0.797167379
+0.644052663,0.148335877,0.377067692
+0.02037784,0.835405997,0.192438566
+0.248506314,0.951214215,0.492923258
+0.387445752,0.862693509,0.11983047
+0.411437123,0.512831692,0.516380652
+0.481199694,0.970780992,0.565521666
+0.967908564,0.168755985,0.447517833
+0.280607962,0.670538365,0.548021587
+0.402044213,0.121532495,0.136718448
+0.83696286,0.739549154,0.495218329
+0.652215616,0.664877651,0.838254198
+0.846246408,0.411635906,0.96601722
+0.359827733,0.627436225,0.666295882
+0.522326573,0.496565812,0.404066784
+0.614406114,0.160072022,0.269439305
+0.221722954,0.558736063,0.890699947
+0.561777087,0.782270647,0.792345194
+0.385698506,0.295964873,0.697613223
+0.101162968,0.27600378,0.239798872
+0.075127486,0.14163579,0.728168103
+0.982440842,0.583109151,0.395072917
+0.69628067,0.26642599,0.283866713
+0.073093261,0.914332418,0.925554624
+0.01642578,0.927883834,0.248712685
+0.11636724,0.556067816,0.248282085
+0.487453151,0.058684617,0.294624957
+0.813726551,0.860917181,0.678149491
+0.492581545,0.501803813,0.193032429
+0.642766795,0.422421802,0.950458987
+0.662519175,0.950448071,0.157126432
+0.548815699,0.127905654,0.23337741
+0.159163516,0.345059322,0.586704542
+0.40029112,0.928563882,0.954476476
+0.587201396,0.44357769,0.797926632
+0.026827624,0.206281621,0.680220462
+0.884217164,0.266754666,0.652197582
+0.475019281,0.447732834,0.14299077
+0.193076354,0.317892868,0.976621856
+0.515208981,0.512331237,0.422351595
+0.336671812,0.870606258,0.364554196
+0.438596677,0.333836845,0.801388791
+0.194389409,0.929245672,0.589545825
+0.205377525,0.079938747,0.187363423
+0.426814991,0.823224852,0.707435026
+0.262972959,0.517545732,0.19872636
+0.720354434,0.847649202,0.709246477
+0.355306192,0.303943053,0.835051265
+0.949975427,0.106134411,0.204516092
+0.106374426,0.874129261,0.971439223
+0.14517828,0.371147898,0.695954142
+0.739099753,0.331888701,0.890413781
+0.627551297,0.9001009,0.177324543
+0.047488938,0.224289129,0.220822902
+0.912785118,0.79570392,0.838242455
+0.49717293,0.703176431,0.754883589
+0.090976094,0.502530756,0.657999889
+0.194042479,0.284561692,0.14516165
+0.409960603,0.285564554,0.097001811
+0.310205693,0.003434942,0.173823303
+0.233583043,0.118822434,0.816665508
+0.513843271,0.539640669,0.864405207
+0.40692643,0.436463418,0.369798489
+0.126544008,0.159580886,0.933714485
+0.286441339,0.872974675,0.04454198
+0.964565622,0.910027403,0.897861798
+0.203121728,0.899714292,0.085173744
+0.445639841,0.360999337,0.016645134
+0.307793993,0.117750087,0.562967352
+0.281587526,0.174834541,0.274581395
+0.119660773,0.099740072,0.484016211
+0.511583585,0.54938211,0.339766424
+0.188451695,0.073022292,0.006123739
+0.346586219,0.49567248,0.234826476
+0.225242461,0.587641331,0.725805817
+0.075409614,0.208266437,0.826377328
+0.204076002,0.04779427,0.040457828
+0.050861901,0.763043363,0.256073344
+0.972150662,0.792678045,0.909955027
+0.506115605,0.031837525,0.903340416
+0.804010111,0.955685921,0.175896939
+0.092926989,0.062223289,0.821308211
+0.363715968,0.726101463,0.79168981
+0.787381816,0.338102828,0.005758252
+0.484331698,0.495765424,0.891180155
+0.241982415,0.277129738,0.561477087
+0.484161267,0.286665154,0.03556541
+0.211600046,0.304292614,0.395789513
+0.372524976,0.202611617,0.166595985
+0.265124748,0.017345601,0.037686194
+0.701786714,0.420334817,0.714000487
+0.034048463,0.651290563,0.050634716
+0.802331316,0.558297752,0.291679579
+0.344037056,0.467477672,0.358504649
+0.639463582,0.425507582,0.954817361
+0.602885138,0.374751922,0.374607167
+0.993637385,0.955212301,0.16550343
+0.955669008,0.745723993,0.889786752
+0.365337348,0.19682491,0.506234866
+0.7457291,0.51831627,0.978818087
+0.92625289,0.631584997,0.443128894
+0.786168714,0.264993195,0.263960382
+0.316681591,0.61079768,0.089349247
+0.858371024,0.834969763,0.174819213
+0.525393487,0.243792169,0.955241627
+0.720242053,0.143419208,0.402799979
+0.749292304,0.217311863,0.799688479
+0.246462289,0.958943724,0.142358796
+0.528138907,0.590786754,0.948225902
+0.454799161,0.510565688,0.295103038
+0.953069085,0.021533141,0.116332423
+0.188120341,0.690529852,0.623168048
+0.318359731,0.758493036,0.91843922
+0.726077549,0.902046947,0.327147423
+0.386752461,0.338547997,0.651921958
+0.707225745,0.584329479,0.37703596
+0.060288975,0.494620757,0.075518168
+0.237652566,0.962903992,0.824801251
+0.535945075,0.958493881,0.754701994
+0.064404553,0.235151293,0.39448081
+0.979476468,0.347342952,0.99138709
+0.189166661,0.798328607,0.697048046
+0.180560013,0.342106481,0.174983336
+0.28337819,0.962425666,0.955845318
+0.593924663,0.66654314,0.570147835
+0.114749593,0.903677338,0.957687266
+0.151925114,0.716482401,0.637800283
+0.235669594,0.580788646,0.528893286
+0.778117587,0.250968708,0.684104646
+0.747849981,0.214563448,0.02984775
+0.720813243,0.066656345,0.737883757
+0.626964368,0.953760147,0.459809098
+0.469018562,0.720549931,0.518332767
+0.821461664,0.507041049,0.514946331
+0.384160041,0.953174654,0.443907617
+0.233220889,0.511502601,0.369065624
+0.434955659,0.150497671,0.76574469
+0.8958592,0.481635774,0.942994014
+0.979260732,0.445148596,0.323549157
+0.334878174,0.403760723,0.385124629
+0.460214884,0.33828675,0.592783427
+0.518346254,0.909618383,0.6009723
+0.338370801,0.317375424,0.337490389
+0.636668843,0.96449714,0.481975016
+0.025064304,0.923419227,0.119203699
+0.048318449,0.53489191,0.76133984
+0.491930784,0.016568024,0.112619998
+0.17743988,0.903969674,0.481918653
+0.981634317,0.513179093,0.316557669
+0.02560158,0.930375993,0.563316641
+0.017997936,0.890571459,0.4580491
+0.96277821,0.443025655,0.083145161
+0.419576578,0.112060055,0.531294103
+0.494454706,0.954168063,0.047922651
+0.800000835,0.673332473,0.064026809
+0.870702162,0.510095577,0.863030178
+0.851121904,0.916229763,0.781903614
+0.159726434,0.082081261,0.19548317
+0.362450326,0.788524336,0.826141196
+0.270846003,0.098989879,0.574494436
+0.406889772,0.838173717,0.436699777
+0.035503139,0.853255007,0.642800341
+0.083155666,0.952721164,0.708076056
+0.847697478,0.56519776,0.894660498
+0.037841045,0.984301359,0.365909559
+0.177721428,0.418447797,0.157612683
+0.429370039,0.508723836,0.767724035
+0.071851749,0.216253471,0.819600825
+0.578083664,0.212360494,0.627380646
+0.380746754,0.954034946,0.11483721
+0.211278539,0.560080096,0.685450354
+0.770737322,0.813954563,0.79322567
+0.318759117,0.06983,0.664250133
+0.059856737,0.06677071,0.26622355
+0.968241527,0.953861837,0.311894576
+0.504226431,0.06220937,0.289105117
+0.256406511,0.249902695,0.348997399
+0.674888311,0.860374,0.605942473
+0.246067727,0.048342783,0.343006159
+0.830735494,0.783740344,0.677522751
+0.99887952,0.341758368,0.229922444
+0.731699282,0.940258743,0.10886285
+0.541383735,0.910293019,0.381124662
+0.750868727,0.848911762,0.265718422
+0.425671591,0.626146239,0.622684142
+0.214013066,0.091251581,0.864057899
+0.545601885,0.310480085,0.046543211
+0.517244356,0.115819763,0.248517895
+0.872633121,0.50117097,0.12009094
+0.255496857,0.472006579,0.796438566
+0.468962035,0.26918685,0.131735945
+0.742353904,0.528441793,0.565922864
+0.85366711,0.2676075,0.914062206
+0.447698287,0.149534939,0.670156644
+0.445589481,0.6431063,0.225580433
+0.357872915,0.788565726,0.814611643
+0.580287142,0.506307991,0.527031912
+0.500500265,0.365277722,0.04677688
+0.141881394,0.926001483,0.86894952
+0.221717771,0.366035312,0.125658418
+0.600339909,0.684670388,0.826168927
+0.307898392,0.20966968,0.752966481
+0.959700077,0.899536378,0.491452813
+0.230433688,0.613941888,0.415683508
+0.495527265,0.634504412,0.370199526
+0.506575734,0.986633413,0.84941237
+0.761764339,0.963921599,0.828872018
+0.348601654,0.087553061,0.791174897
+0.104944192,0.102179531,0.905877926
+0.375324247,0.246387607,0.301420991
+0.875454272,0.118686164,0.988824311
+0.17698346,0.393647261,0.159870783
+0.917659703,0.583236755,0.630992101
+0.285048123,0.469986869,0.37272766
+0.011480822,0.597073945,0.904116141
+0.313259229,0.510005423,0.894823085
+0.795838324,0.911141124,0.928152818
+0.164974957,0.359128099,0.60236716
+0.983429159,0.003861397,0.083218217
+0.242529745,0.562773547,0.664077813
+0.765913188,0.194009625,0.286229668
+0.070781352,0.102661854,0.249285398
+0.511452125,0.418997177,0.284014634
+0.439472205,0.891870259,0.82363463
+0.580892549,0.466753672,0.140496383
+0.615517449,0.738921356,0.461546367
+0.824697707,0.698589656,0.941554339
+0.46610398,0.902958283,0.688012984
+0.523365471,0.691567649,0.547171487
+0.545929937,0.714552317,0.041938604
+0.32756288,0.701840615,0.927731162
+0.761874356,0.276228477,0.886668834
+0.979442228,0.298771691,0.591610911
+0.374731022,0.860510449,0.321638525
+0.8074911,0.097011746,0.930723417
+0.453431338,0.206882669,0.431005917
+0.910029309,0.03223923,0.493150704
+0.2897017,0.170401689,0.739971322
+0.024666309,0.777054677,0.769170439
+0.05624039,0.089983601,0.64642539
+0.149696037,0.539762835,0.702098143
+0.676100319,0.000479419,0.639516981
+0.967411256,0.893394783,0.958913773
+0.158669993,0.527294695,0.347808355
+0.181672491,0.532695548,0.988953142
+0.053598946,0.497693858,0.118111495
+0.132496571,0.985450674,0.753931807
+0.87586561,0.732063591,0.884137731
+0.419609591,0.012639269,0.645369169
+0.102047486,0.008854525,0.658344391
+0.123913855,0.210708056,0.499395878
+0.159685659,0.968477268,0.586268979
+0.834269522,0.369645239,0.245380904
+0.637297781,0.768550638,0.48870442
+0.778386961,0.376787501,0.03205647
+0.67713794,0.632054697,0.000672655
+0.860752189,0.140567399,0.326727043
+0.220600271,0.039797462,0.871431738
+0.373493897,0.910009286,0.043303147
+0.269453424,0.571833998,0.346704152
+0.919787568,0.373470212,0.873193468
+0.776952353,0.362003265,0.172733797
+0.575862615,0.900415576,0.599884308
+0.616882997,0.8845633,0.13177173
+0.366855251,0.729104299,0.950578149
+0.668847681,0.753527405,0.660832331
+0.264243456,0.308498641,0.912106098
+0.542527865,0.880831766,0.535728949
+0.460634645,0.013712653,0.152280892
+0.828209711,0.921304334,0.049084108
+0.874065663,0.473229025,0.545232499
+0.731220357,0.126627169,0.996060848
+0.943461868,0.033256065,0.992038738
+0.211193798,0.522810965,0.907780013
+0.767158364,0.967162642,0.888059793
+0.689583275,0.841550923,0.377520241
+0.147705388,0.959063909,0.031580823
+0.654707489,0.752912445,0.305046055
+0.628378168,0.075829853,0.719349441
+0.886468112,0.185491156,0.719710557
+0.749470564,0.448017109,0.897349202
+0.492693185,0.884164268,0.633427171
+0.44686733,0.7934547,0.773846432
+0.630683325,0.776592453,0.708944434
+0.814848973,0.845977344,0.643222219
+0.016975156,0.729138989,0.058020996
+0.511298247,0.07057554,0.733405098
+0.784480806,0.738595698,0.373688534
+0.530814843,0.44312087,0.691107945
+0.944091316,0.957332961,0.639542386
+0.771047017,0.811962024,0.977774991
+0.87020688,0.755962661,0.925248114
+0.458700988,0.334773333,0.095844508
+0.533831151,0.912609619,0.027149015
+0.524625598,0.652693277,0.497418106
+0.805674264,0.723021478,0.80073208
+0.113696528,0.650247192,0.344709776
+0.826900827,0.593783006,0.550936366
+0.940655423,0.740273144,0.630218018
+0.141520315,0.632429144,0.838610834
+0.39673597,0.503240828,0.590691376
+0.037602886,0.040815285,0.620639119
+0.716116291,0.506754028,0.253596249
+0.619782298,7.76626E-05,0.676065593
+0.496033457,0.98742451,0.984019601
+0.649314148,0.147470427,0.489967654
+0.691622038,0.161245902,0.647851723
+0.936526892,0.590442875,0.939555093
+0.604802621,0.838823011,0.251219058
+0.071190531,0.67647138,0.597666328
+0.019410183,0.495778133,0.44031324
+0.726411874,0.262687025,0.086312948
+0.830480537,0.135077568,0.079159787
+0.950841893,0.769723105,0.47873095
+0.611417896,0.84114966,0.395349789
+0.181347141,0.287776713,0.883076078
+0.200712222,0.873964629,0.571505353
+0.65202277,0.084117342,0.250545655
+0.342561024,0.202306216,0.079726003
+0.584301932,0.122693153,0.129858724
+0.591176502,0.051275102,0.876431468
+0.165946295,0.474087103,0.856717365
+0.839385948,0.763414504,0.961778868
+0.528260865,0.865453126,0.680673095
+0.076050301,0.71693581,0.15210816
+0.780443967,0.33197709,0.73242445
+0.363327494,0.164977224,0.185099911
+0.687912867,0.396104619,0.249748592
+0.88391393,0.554502064,0.089705278
+0.33788714,0.686247878,0.252660937
+0.19163616,0.441496434,0.513458703
+0.478908993,0.15156254,0.818829745
+0.918896553,0.899169945,0.780767514
+0.782967436,0.327693122,0.755050753
+0.32558364,0.492239506,0.12339517
+0.047070459,0.693552034,0.508452959
+0.109465204,0.821862145,0.632136838
+0.826253828,0.610682399,0.632137891
+0.162364171,0.5709024,0.027035072
+0.479768494,0.607203769,0.077566143
+0.897031412,0.795684932,0.974415558
+0.801002173,0.551618649,0.876984199
+0.123312093,0.411438516,0.901446561
+0.594677287,0.32833558,0.914104796
+0.741635419,0.14325589,0.115905361
+0.08993896,0.243272135,0.742401503
+0.116491314,0.690400792,0.020805328
+0.180855336,0.599454312,0.340688071
+0.087037755,0.006886539,0.952560809
+0.300603611,0.113658264,0.797478049
+0.832235841,0.05963984,0.771465426
+0.095194013,0.247650851,0.801344581
+0.300632189,0.150924198,0.086360387
+0.874625368,0.700861247,0.713919826
+0.863383564,0.57922769,0.870911826
+0.11913471,0.767551415,0.50918181
+0.556749667,0.691513618,0.782003681
+0.197331319,0.827247513,0.779623914
+0.987023902,0.734883462,0.623629089
+0.420615082,0.614082171,0.741891207
+0.312249031,0.014913149,0.070878868
+0.974642188,0.983123549,0.086275706
+0.783360774,0.814835668,0.67625897
+0.540478752,0.254940938,0.449867885
+0.048763621,0.290768213,0.625363258
+0.697965851,0.033892112,0.612844092
+0.724879255,0.708375839,0.525641059
+0.747562377,0.173208535,0.263779612
+0.867179342,0.213616814,0.754428508
+0.02226162,0.326141353,0.081963664
+0.627227744,0.116451144,0.409565408
+0.543129433,0.092850944,0.54072763
+0.281594806,0.709633472,0.876793176
+0.35647452,0.063874296,0.965050871
+0.045168661,0.497624359,0.186815072
+0.524949861,0.944601324,0.332059785
+0.126474627,0.02739514,0.246752374
+0.208604998,0.568408651,0.772918262
+0.125784169,0.514833609,0.514478954
+0.154512957,0.373291441,0.993402025
+0.233618131,0.572616698,0.016411005
+0.999890963,0.570275565,0.216853317
+0.486828361,0.379924401,0.696213866
+0.075314427,0.667395497,0.863855433
+0.86294927,0.812782874,0.997533964
+0.031445186,0.249022328,0.973324576
+0.326573891,0.118171329,0.965763005
+0.332020059,0.604459411,0.538268842
+0.706622108,0.694323961,0.209014536
+0.932949763,0.08165582,0.356510191
+0.75591714,0.880443277,0.240181713
+0.227219665,0.515538046,0.063202431
+0.069200681,0.150851636,0.361221939
+0.902427408,0.646942656,0.504832272
+0.262382978,0.180972368,0.403132445
+0.032506623,0.656194,0.257345113
+0.959652463,0.776117592,0.653289283
+0.778669537,0.171816058,0.383820737
+0.64856927,0.78342696,0.966231461
+0.638608998,0.323023815,0.667259556
+0.120265759,0.176019011,0.416173717
+0.275065523,0.921190579,0.324061946
+0.490137925,0.337844445,0.135339916
+0.724097632,0.992269402,0.410123181
+0.296958503,0.142356399,0.479483213
+0.092381103,0.57773093,0.290898447
+0.89183933,0.312149005,0.295126666
+0.669251799,0.071453982,0.955861716
+0.938378225,0.324238979,0.455589077
+0.762236627,0.048617283,0.120655973
+0.886194063,0.842136906,0.886167779
+0.420448588,0.826040453,0.209811195
+0.496120113,0.140244984,0.010275807
+0.291770734,0.089337397,0.940136172
+0.823744617,0.442752205,0.79506829
+0.86635257,0.308919721,0.929313191
+0.124187371,0.515507145,0.3952627
+0.515643261,0.514493405,0.592216269
+0.435577703,0.202265522,0.749380396
+0.851215206,0.581140662,0.909262689
+0.97276388,0.305964393,0.119556192
+0.833642983,0.44267292,0.574065373
+0.908658096,0.985442117,0.032891222
+0.120536868,0.898167052,0.754847347
+0.328480689,0.206500348,0.883388839
+0.584233318,0.127164736,0.934356548
+0.520904286,0.085542266,0.469645136
+0.118804512,0.276694477,0.255706174
+0.669152609,0.480169645,0.350044668
+0.784599588,0.030844507,0.672270616
+0.97462202,0.984822685,0.801402402
+0.09061512,0.20599842,0.288943446
+0.500630874,0.668012143,0.326107661
+0.243946646,0.885842685,0.356343047
+0.704519934,0.112411764,0.840776533
+0.064722176,0.148130565,0.724221405
+0.069998846,0.826917642,0.285248236
+0.463142105,0.129132053,0.071693121
+0.065672617,0.491471158,0.143248345
+0.345719852,0.550477283,0.417188691
+0.523811405,0.923188335,0.366706095
+0.57113315,0.798590349,0.465646081
+0.828359309,0.886833757,0.470994632
+0.649200809,0.422037446,0.338970547
+0.991959241,0.065292471,0.545926733
+0.402707667,0.892315167,0.157737898
+0.583371677,0.915247643,0.510882162
+0.286752954,0.119216908,0.422178531
+0.000574842,0.932477989,0.322762631
+0.521100182,0.182516345,0.799539149
+0.217552185,0.32460329,0.001286413
+0.129263953,0.832799191,0.746800354
+0.859133069,0.682500693,0.035727655
+0.081296267,0.499283963,0.851895509
+0.709384988,0.14985208,0.186521894
+0.247922963,0.253358356,0.872326832
+0.203028631,0.068652472,0.553487984
+0.292370767,0.925595124,0.401383438
+0.721522222,0.300176493,0.452098604
+0.622021123,0.308001842,0.51395483
+0.601298816,0.268135963,0.584441602
+0.207949629,0.407128704,0.699430418
+0.152216375,0.92660356,0.07049208
+0.997031345,0.789488864,0.194662825
+0.14170589,0.513011324,0.250918681
+0.979853004,0.246273698,0.732371057
+0.441466086,0.428787477,0.680856737
+0.513859379,0.668402062,0.50429415
+0.32103853,0.59436219,0.481843963
+0.466004374,0.019901121,0.225087815
+0.546731744,0.359957666,0.776590304
+0.088133727,0.021028123,0.579299556
+0.172044151,0.237278834,0.567876411
+0.576325796,0.86256513,0.487980769
+0.459957415,0.004052068,0.41344615
+0.72021758,0.906208873,0.049850195
+0.835505139,0.006504875,0.716129577
+0.974913096,0.06350265,0.945758998
+0.538076764,0.931252476,0.05429443
+0.921879308,0.750002283,0.120075272
+0.825790117,0.095295707,0.471769578
+0.667512779,0.726667248,0.68041055
+0.604774928,0.209313615,0.803678279
+0.058678158,0.457882119,0.491090679
+0.46503574,0.647148555,0.063745514
+0.268569925,0.07151649,0.354414339
+0.309997568,0.048651773,0.652050824
+0.852057231,0.800064591,0.378993288
+0.101844132,0.975250128,0.919521375
+0.879950774,0.012524944,0.243977924
+0.71298613,0.410784591,0.766666426
+0.253953963,0.18863912,0.353408633
+0.859540187,0.786140568,0.50468592
+0.885165537,0.182373738,0.365436093
+0.919226953,0.132590959,0.305319302
+0.794222067,0.325843691,0.81503301
+0.360472386,0.828503699,0.992751302
+0.568328182,0.596642015,0.166689456
+0.495797608,0.390533497,0.466894225
+0.497383703,0.057721092,0.136501948
+0.18770586,0.924785691,0.325442341
+0.693138587,0.351786889,0.499636742
+0.898980429,0.759285754,0.006488642
+0.203362481,0.362873482,0.576750046
+0.178651329,0.720602676,0.881219809
+0.176525065,0.325805008,0.029694687
+0.280908733,0.527522643,0.545345238
+0.370750152,0.138599939,0.044930538
+0.675097184,0.14761356,0.378589866
+0.735023127,0.793326142,0.751658301
+0.589712544,0.569527756,0.006401988
+0.528971516,0.297342992,0.454367414
+0.691477287,0.799565463,0.424110191
+0.261622015,0.848996059,0.848455301
+0.401014342,0.684428894,0.631646442
+0.16646465,0.252704215,0.907185556
+0.100875707,0.566947803,0.906685851
+0.434813596,0.104021401,0.167032575
+0.525475323,0.508926771,0.950312938
+0.159164103,0.298161029,0.813651341
+0.688364345,0.371765734,0.533450516
+0.712069354,0.849924822,0.351626269
+0.322500041,0.141195673,0.954104724
+0.146595062,0.93264431,0.190821916
+0.71991816,0.904994255,0.945180752
+0.025505056,0.369278227,0.225567491
+0.450884297,0.163076541,0.835655337
+0.666130325,0.52707414,0.82767262
+0.747584223,0.050899988,0.253442115
+0.525074918,0.930938393,0.27765909
+0.940041036,0.129750051,0.169526547
+0.976328221,0.406056506,0.156213454
+0.413206486,0.217043404,0.425652131
+0.108491931,0.963192763,0.498477601
+0.958709036,0.585116585,0.507265441
+0.048428848,0.713725414,0.728970388
+0.587791364,0.896305822,0.279922122
+0.086686919,0.740059232,0.914875869
+0.422027713,0.086096483,0.419750985
+0.767716034,0.871663257,0.103971292
+0.549835043,0.371430165,0.801009346
+0.557408598,0.341725364,0.279171927
+0.071240148,0.765613908,0.173767574
+0.713230298,0.779720404,0.253165546
+0.572322236,0.663937254,0.045664107
+0.428432377,0.161070991,0.891029544
+0.818292324,0.971164957,0.271696059
+0.269446053,0.962766931,0.051526478
+0.515277086,0.74833971,0.351491465
+0.796419252,0.556278732,0.361314209
+0.801556269,0.987424165,0.117197305
+0.782772261,0.05866778,0.982749779
+0.21806961,0.609256862,0.798461899
+0.699205142,0.038761394,0.271238908
+0.534754129,0.27476979,0.163606178
+0.003518131,0.437675965,0.388250875
+0.619198012,0.090710318,0.566559914
+0.178576562,0.885793567,0.022734794
+0.578539981,0.281190469,0.008260142
+0.177713211,0.393560621,0.052236228
+0.846158221,0.357695748,0.875170299
+0.127568308,0.638314871,0.946658268
+0.767138325,0.621405933,0.564104167
+0.798451074,0.40443786,0.599831193
+0.616223487,0.665752297,0.971012789
+0.267441096,0.388352985,0.430687937
+0.923867358,0.654582643,0.464037122
+0.492137227,0.706258913,0.378247168
+0.536642887,0.555595419,0.104998227
+0.992969717,0.688862613,0.896407883
+0.454975157,0.851727744,0.144297419
+0.317976254,0.620102227,0.416793119
+0.440632343,0.535615753,0.913356284
+0.791010869,0.962116708,0.627040144
+0.926826073,0.382456611,0.465806072
+0.568904993,0.514101455,0.724489494
+0.895517901,0.391005356,0.347893715
+0.289875186,0.830981849,0.92116788
+0.95185048,0.996829271,0.970163256
+0.079055453,0.999386589,0.528208258
+0.926932102,0.147799896,0.417138668
+0.244651465,0.832349744,0.221104338
+0.179560876,0.149581841,0.97827318
+0.869778794,0.116050413,0.930858226
+0.681347988,0.700100934,0.003010153
+0.688804753,0.087819887,0.217246073
+0.054919581,0.536206628,0.011960678
+0.640496257,0.193125181,0.654595034
+0.879605152,0.152112809,0.50946439
+0.336877078,0.352944356,0.032651908
+0.578287892,0.410740871,0.424981809
+0.655610763,0.370342392,0.021605292
+0.184746216,0.078627828,0.615262076
+0.335250916,0.744164606,0.7834867
+0.086006226,0.796624922,0.100735176
+0.278674471,0.483655368,0.117132599
+0.994681992,0.915583798,0.682419845
+0.077364925,0.488968443,0.762836001
+0.460939585,0.226843633,0.262301782
+0.998409563,0.464398025,0.918229672
+0.221191504,0.605272697,0.236818579
+0.305532514,0.107986913,0.285771959
+0.429457882,0.021852143,0.417044654
+0.4398254,0.904405397,0.587007492
+0.472361927,0.615492219,0.311474339
+0.4847793,0.830454499,0.692963217
+0.525054945,0.760690911,0.176296268
+0.117729529,0.425190139,0.763022992
+0.435815483,0.901034288,0.68353143
+0.310722347,0.711502874,0.050054312
+0.692557474,0.756865138,0.823601442
+0.748561397,0.302607431,0.404056776
+0.370478834,0.749199053,0.220199408
+0.686929375,0.172808164,0.22046762
+0.037511035,0.299597568,0.543432459
+0.513900441,0.892613907,0.740051648
+0.389543522,0.806516669,0.891439062
+0.053758187,0.367104684,0.356060944
+0.450039969,0.18662041,0.022226949
+0.481122219,0.376490604,0.455652341
+0.97009151,0.252002631,0.121449418
+0.322174741,0.359645571,0.785282495
+0.904310053,0.730301338,0.994210513
+0.450101531,0.92830086,0.086584177
+0.456948101,0.90305291,0.216589856
+0.430158828,0.574385535,0.812451667
+0.958800913,0.229029132,0.004822368
+0.641856333,0.757170989,0.097059421
+0.442276634,0.278413528,0.877655305
+0.036927777,0.425286999,0.92305997
+0.996003678,0.902465847,0.265142606
+0.306340939,0.260744837,0.528606261
+0.098272048,0.162476078,0.354882218
+0.658054373,0.890822429,0.9000076
+0.087284546,0.695167739,0.026293663
+0.667310433,0.902843368,0.248946207
+0.451887926,0.995052067,0.181712955
+0.721298527,0.006611482,0.727102995
+0.180137144,0.38951174,0.678305837
+0.420761331,0.419860176,0.010656383
+0.788488075,0.180473318,0.708019695
+0.662265015,0.757397169,0.348937464
+0.22732873,0.663301685,0.39923678
+0.716892599,0.552981067,0.089832495
+0.177215605,0.465175647,0.887666589
+0.4010009,0.597937203,0.09497585
+0.259096154,0.591668012,0.145793124
+0.7855796,0.541345166,0.383678057
+0.201753532,0.613603748,0.879697044
+0.825321851,0.452349759,0.192581377
+0.171266337,0.782789247,0.848185787
+0.989170718,0.575391852,0.643933271
+0.224216552,0.128615538,0.261286445
+0.355440689,0.629457955,0.902600249
+0.72784327,0.282293864,0.605943451
+0.210467186,0.748327916,0.269725684
+0.703080367,0.411052005,0.029450281
+0.611720264,0.653108765,0.115754888
+0.625714261,0.426502244,0.253625516
+0.080879639,0.231561531,0.000776511
+0.580765049,0.214103901,0.655333535
+0.411287343,0.079075761,0.794277642
+0.710073858,0.646863988,0.71074505
+0.335569397,0.900645276,0.683474835
+0.967747154,0.579773932,0.534024604
+0.766717973,0.582199309,0.533102234
+0.383468743,0.426721157,0.027251934
+0.490400205,0.117276739,0.92366954
+0.526437331,0.70107653,0.671085752
+0.889392656,0.764668251,0.594183178
+0.638642815,0.578480214,0.97861599
+0.87668719,0.16462794,0.216101311
+0.42672965,0.578827138,0.263549989
+0.811170473,0.093966938,0.225951223
+0.099089206,0.263591386,0.882393744
+0.38399777,0.327948679,0.494541301
+0.183583616,0.008025085,0.345896483
+0.584960878,0.5469813,0.968535684
+0.361345034,0.854037953,0.527327995
+0.984905322,0.997741532,0.876521812
+0.074758264,0.39928899,0.847634791
+0.78330323,0.392062416,0.024783838
+0.467728166,0.712167022,0.024533141
+0.587280899,0.398576247,0.573112113
+0.964829971,0.025982741,0.969019811
+0.9497508,0.659436309,0.204878206
+0.657359903,0.347373583,0.193308068
+0.186434557,0.521059421,0.070439079
+0.870109867,0.062761012,0.710077454
+0.217962469,0.288311322,0.190708548
+0.955539243,0.022311215,0.71590241
+0.625665814,0.76136552,0.988044588
+0.597252746,0.710748192,0.314068902
+0.516054372,0.327282916,0.54307302
+0.271367679,0.738701611,0.304169987
+0.933804469,0.580994455,0.210076964
+0.127919156,0.599299518,0.585857959
+0.676065679,0.558987708,0.958866142
+0.316141871,0.460898294,0.141769324
+0.471335921,0.089770919,0.358606362
+0.623875078,0.120949677,0.031070096
+0.279561054,0.756633154,0.523821594
+0.367638452,0.041473293,0.205100917
+0.194748444,0.554149226,0.891998106
+0.41189445,0.060780804,0.739908884
+0.463521747,0.175865472,0.535693142
+0.945971006,0.966028962,0.856940254
+0.183047078,0.337562524,0.181769865
+0.594627884,0.198176957,0.150059332
+0.843270928,0.530723522,0.928016742
+0.223830394,0.396224789,0.671524797
+0.660767374,0.651553136,0.816830801
+0.435601302,0.067504838,0.286367496
+0.118647364,0.597413606,0.736034901
+0.130876628,0.718657894,0.132667782
+0.512036173,0.807939768,0.573980493
+0.651567779,0.146952948,0.239972065
+0.288725439,0.224872447,0.043641949
+0.13707238,0.381109232,0.022199238
+0.754226814,0.167426623,0.961971718
+0.951586322,0.053557001,0.223348551
+0.618926676,0.885546611,0.123622882
+0.790423531,0.278666859,0.501354777
+0.038612914,0.868235102,0.288826116
+0.488859959,0.478054033,0.700027159
+0.862804894,0.011591559,0.750381881
+0.994070885,0.954113216,0.968886216
+0.452966461,0.985185262,0.402556559
+0.163204173,0.188199516,0.352205827
+0.15850908,0.505182571,0.583169832
+0.135779826,0.409087768,0.238200196
+0.643385144,0.86154063,0.14538336
+0.50233965,0.544662955,0.992305772
+0.208435385,0.031950832,0.061424365
+0.866478253,0.391456921,0.511463088
+0.4937369,0.216683838,0.68183869
+0.635277683,0.264963125,0.828569956
+0.57036797,0.199089208,0.947261901
+0.622849636,0.554898686,0.300444481
+0.148150252,0.793195105,0.95852649
+0.118643776,0.375521816,0.127817104
+0.758672306,0.928120507,0.147843091
+0.988902496,0.305378105,0.027460368
+0.101391422,0.187140233,0.666743757
+0.742622491,0.913697728,0.538923383
+0.093250323,0.083342814,0.253041857
+0.769590781,0.9991462,0.438612548
+0.729371479,0.304770086,0.732577389
+0.309854988,0.231328158,0.907015378
+0.357043464,0.291981607,0.210471606
+0.310867898,0.310831132,0.021305479
+0.099716251,0.743995352,0.892636908
+0.41508308,0.015438634,0.257251295
+0.53442204,0.552940574,0.911759333
+0.066875817,0.519643391,0.683239895
+0.960228558,0.637860456,0.564663828
+0.166667197,0.282113595,0.909573438
+0.400063729,0.629753113,0.314970443
+0.708945745,0.167807931,0.868195558
+0.371947838,0.749772529,0.913374887
+0.364252703,0.719347038,0.968988396
+0.565947998,0.47317603,0.848594323
+0.963005103,0.86347636,0.213376655
+0.010974265,0.115488107,0.918644935
+0.579274525,0.748172658,0.195517101
+0.054742886,0.089561473,0.35514667
+0.352904397,0.177453817,0.485671073
+0.86540568,0.455589491,0.325840682
+0.826269285,0.742045207,0.836774969
+0.075485913,0.446267336,0.134777488
+0.123130773,0.10695964,0.319080831
+0.353341713,0.250920125,0.94582804
+0.934151416,0.641155987,0.332526901
+0.183094596,0.975798892,0.512697523
+0.931523642,0.525759501,0.067066893
+0.171012136,0.581683693,0.603794825
+0.489763176,0.561915728,0.886623062
+0.427818728,0.227974683,0.462025302
+0.059325421,0.726266371,0.692412984
+0.770271664,0.743519141,0.117959307
+0.107862896,0.552555172,0.592259145
+0.445007388,0.046308389,0.69499137
+0.056486616,0.370154602,0.498507879
+0.347798483,0.541312622,0.44955603
+0.01637411,0.777726654,0.346640124
+0.918778501,0.247274577,0.931656904
+0.468325578,0.552066653,0.233304727
+0.558842714,0.30110019,0.237582706
+0.520406065,0.396600845,0.627623904
+0.42717615,0.55961213,0.312743984
+0.043819454,0.060632818,0.168267929
+0.151405047,0.276450913,0.385322692
+0.864539894,0.203199707,0.865006307
+0.866179018,0.649792248,0.369625823
+0.566181508,0.155001949,0.751738414
+0.022193506,0.262524266,0.378478591
+0.835870282,0.436869514,0.439857307
+0.54507765,0.825712044,0.425012638
+0.180124959,0.284189803,0.059324375
+0.91303517,0.659662103,0.021990781
+0.068890512,0.857174742,0.245915138
+0.146299591,0.2282098,0.992357695
+0.279495766,0.087424865,0.532747766
+0.095737503,0.107245868,0.190786801
+0.276947216,0.537071712,0.654100689
+0.010738646,0.40673838,0.479608479
+0.420307684,0.947352567,0.178277524
+0.108124774,0.127227634,0.278086371
+0.18958629,0.587262704,0.69187928
+0.814773727,0.220263054,0.007250506
+0.948149379,0.572617808,0.939774741
+0.150492895,0.970045889,0.979230909
+0.997567108,0.897085006,0.573132383
+0.039773611,0.517659257,0.317936584
+0.915778891,0.598912752,0.541405962
+0.081857212,0.994515385,0.261260636


Property changes on: mlpack/trunk/src/mlpack/methods/emst/test_data_3_1000.csv
___________________________________________________________________
Added: svn:executable
   + *




More information about the mlpack-svn mailing list