diff options
Diffstat (limited to 'mp.h')
-rw-r--r-- | mp.h | 8 |
1 files changed, 8 insertions, 0 deletions
@@ -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); |