ANNZ v2.0.1
Improved KNN error estimator:
- In the previous version, KNN errors were generated by looping for each object over the n near-neighbors in the training dataset. For a given object, this was for all neighbors for each of the MLMs.
- In the revised version, MLM response values for the entire training dataset are estimated once; this is done before the loop on the objects begins, with the results stored in a dedicated tree (see
ANNZ::createTreeErrKNN()
). This tree is then read-in during the loop over the objects for which the errors are generated. In this implementation, the KNN neighbor search is done once for all MLMs, and the errors are estimated simultaneously for all. This prevents both the unnecessary repeated calculations of MLM outputs, and the redundant searches for the n near-neighbors for the same object.