aboutsummaryrefslogtreecommitdiff
path: root/mp.h
diff options
context:
space:
mode:
authorSamuel Fadel <samuelfadel@gmail.com>2015-10-22 16:39:15 -0200
committerSamuel Fadel <samuelfadel@gmail.com>2015-10-22 16:39:15 -0200
commitad4fbabeca2cbdf4cb47f1a923183027494ab0a8 (patch)
tree4a9c16454ff4d802b23a8271f4005ee1846f7b1b /mp.h
parent99ac0af03e1695ba4de2c42e949fce61b84850e5 (diff)
Added PLMP as an alternative technique to use; knn() is now exposed in the mp namespace.
Diffstat (limited to 'mp.h')
-rw-r--r--mp.h8
1 files changed, 8 insertions, 0 deletions
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);