From ad4fbabeca2cbdf4cb47f1a923183027494ab0a8 Mon Sep 17 00:00:00 2001 From: Samuel Fadel Date: Thu, 22 Oct 2015 16:39:15 -0200 Subject: Added PLMP as an alternative technique to use; knn() is now exposed in the mp namespace. --- mp.h | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'mp.h') diff --git a/mp.h b/mp.h index 192f106..fe98a1c 100644 --- a/mp.h +++ b/mp.h @@ -10,6 +10,8 @@ typedef double (*DistFunc)(const arma::rowvec &, const arma::rowvec &); double euclidean(const arma::rowvec &x1, const arma::rowvec &x2); arma::mat dist(const arma::mat &X, DistFunc dfunc = euclidean); +void knn(const arma::mat &dmat, arma::uword i, arma::uword k, arma::uvec &nn, arma::vec &dist); + // Evaluation measures typedef arma::vec (*MeasureFunc)(const arma::mat &distA, const arma::mat &distB); arma::vec neighborhoodPreservation(const arma::mat &distA, const arma::mat &distB, arma::uword k = 10); @@ -19,6 +21,12 @@ arma::vec silhouette(const arma::mat &distA, const arma::mat &distB, const arma: arma::mat lamp(const arma::mat &X, const arma::uvec &sampleIndices, const arma::mat &Ys); void lamp(const arma::mat &X, const arma::uvec &sampleIndices, const arma::mat &Ys, arma::mat &Y); +arma::mat plmp(const arma::mat &X, const arma::uvec &sampleIndices, const arma::mat &Ys); +void plmp(const arma::mat &X, const arma::uvec &sampleIndices, const arma::mat &Ys, arma::mat &Y); + +//arma::mat lsp(const arma::mat &X, const arma::uvec &sampleIndices, const arma::mat &Ys, int k = 15); +//void lsp(const arma::mat &X, const arma::uvec &sampleIndices, const arma::mat &Ys, arma::mat &Y, int k = 15); + arma::mat forceScheme(const arma::mat &D, arma::mat &Y, size_t maxIter = 20, double tol = 1e-3, double fraction = 8); arma::mat tSNE(const arma::mat &X, arma::uword k = 2, double perplexity = 30, arma::uword nIter = 1000); -- cgit v1.2.3