From 4e0b46a727f6ea727b9e7920150609c58ce65fce Mon Sep 17 00:00:00 2001 From: Samuel Fadel Date: Sat, 30 May 2015 02:00:08 -0300 Subject: Added tSNE. Code improvements. --- mp.h | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'mp.h') diff --git a/mp.h b/mp.h index 996da87..7d6b535 100644 --- a/mp.h +++ b/mp.h @@ -2,11 +2,15 @@ namespace mp { -static const double EPSILON = 1e-3; double euclidean(const arma::rowvec &x1, const arma::rowvec &x2); arma::mat dist(const arma::mat &X, double (*distCalc)(const arma::rowvec &, const arma::rowvec &) = euclidean); + 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 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); +void tSNE(const arma::mat &X, arma::mat &Y, double perplexity = 30, arma::uword nIter = 1000); + } // namespace mp -- cgit v1.2.3