[mlpack-git] master: I've concluded that this test isn't useful. Basically, the test is just checking that the implementation is exactly the same as in the test, and that's not actually a great test, because the implementation may change without breaking anything. (3eabb52)

gitdub at big.cc.gt.atl.ga.us gitdub at big.cc.gt.atl.ga.us
Mon Mar 2 20:41:39 EST 2015


Repository : https://github.com/mlpack/mlpack

On branch  : master
Link       : https://github.com/mlpack/mlpack/compare/9fd81f454fb7671fd2b57fbd2843348d3c4631eb...3eabb526a3697d58697cf1a0a387c07e60efde9c

>---------------------------------------------------------------

commit 3eabb526a3697d58697cf1a0a387c07e60efde9c
Author: Ryan Curtin <ryan at ratml.org>
Date:   Mon Mar 2 20:24:04 2015 -0500

    I've concluded that this test isn't useful.
    Basically, the test is just checking that the implementation is exactly the same
    as in the test, and that's not actually a great test, because the implementation
    may change without breaking anything.


>---------------------------------------------------------------

3eabb526a3697d58697cf1a0a387c07e60efde9c
 src/mlpack/tests/allkrann_search_test.cpp | 72 -------------------------------
 1 file changed, 72 deletions(-)

diff --git a/src/mlpack/tests/allkrann_search_test.cpp b/src/mlpack/tests/allkrann_search_test.cpp
index ab86d3d..9a76bce 100644
--- a/src/mlpack/tests/allkrann_search_test.cpp
+++ b/src/mlpack/tests/allkrann_search_test.cpp
@@ -23,78 +23,6 @@ using namespace mlpack::bound;
 
 BOOST_AUTO_TEST_SUITE(AllkRANNTest);
 
-// Test AllkRANN in naive mode for exact results when the random seeds are set
-// the same.  This may not be the best test; if the implementation of RANN-RS
-// gets random numbers in a different way, then this test might fail.
-BOOST_AUTO_TEST_CASE(NaiveSearchExact)
-{
-  // First test on a small set.
-  arma::mat rdata(2, 10);
-  rdata << 3 << 2 << 4 << 3 << 5 << 6 << 0 << 8 << 3 << 1 << arma::endr <<
-           0 << 3 << 4 << 7 << 8 << 4 << 1 << 0 << 4 << 3 << arma::endr;
-
-  arma::mat qdata(2, 3);
-  qdata << 3 << 2 << 0 << arma::endr
-        << 5 << 3 << 4 << arma::endr;
-
-  metric::SquaredEuclideanDistance dMetric;
-  double rankApproximation = 30;
-  double successProb = 0.95;
-
-  // Search for 1 rank-approximate nearest-neighbors in the top 30% of the point
-  // (rank error of 3).
-  arma::Mat<size_t> neighbors;
-  arma::mat distances;
-
-  // Test naive rank-approximate search.
-  // Predict what the actual RANN-RS result would be.
-  math::RandomSeed(0);
-
-  size_t numSamples = (size_t) ceil(log(1.0 / (1.0 - successProb)) /
-      log(1.0 / (1.0 - (rankApproximation / 100.0))));
-
-  arma::Mat<size_t> samples(qdata.n_cols, numSamples);
-  for (size_t j = 0; j < qdata.n_cols; j++)
-    for (size_t i = 0; i < numSamples; i++)
-      samples(j, i) = (size_t) math::RandInt(10);
-
-  arma::Col<size_t> rann(qdata.n_cols);
-  arma::vec rannDistances(qdata.n_cols);
-  rannDistances.fill(DBL_MAX);
-
-  for (size_t j = 0; j < qdata.n_cols; j++)
-  {
-    for (size_t i = 0; i < numSamples; i++)
-    {
-      double dist = dMetric.Evaluate(qdata.unsafe_col(j),
-                                     rdata.unsafe_col(samples(j, i)));
-      if (dist < rannDistances[j])
-      {
-        rann[j] = samples(j, i);
-        rannDistances[j] = dist;
-      }
-    }
-  }
-
-  // Use RANN-RS implementation.
-  math::RandomSeed(0);
-
-  RASearch<> naive(rdata, qdata, true);
-  naive.Search(1, neighbors, distances, rankApproximation);
-
-  // Things to check:
-  //
-  // 1. (implicitly) The minimum number of required samples for guaranteed
-  //    approximation.
-  // 2. (implicitly) Check the samples obtained.
-  // 3. Check the neighbor returned.
-  for (size_t i = 0; i < qdata.n_cols; i++)
-  {
-    BOOST_REQUIRE_EQUAL(neighbors(0, i), rann[i]);
-    BOOST_REQUIRE_CLOSE(distances(0, i), rannDistances[i], 1e-5);
-  }
-}
-
 // Test the correctness and guarantees of AllkRANN when in naive mode.
 BOOST_AUTO_TEST_CASE(NaiveGuaranteeTest)
 {



More information about the mlpack-git mailing list