Skip to content
Snippets Groups Projects
Select Git revision
  • master
1 result

assignmentoptimal.m

Blame
  • tsneCluster.m 675 B
    % andy cohen -- Dec 16 2021
    %
    % tsne spectral clustering
    function [idx,Y] = tsneCluster(distanceMatrix,K)
    
    if (1==K)
        idx=ones(size(A,2),1);
        return;
    end
    % # of reps for kmeans
    NREP=50;
    % we use the matlab tsne with custom distance
    % pass the distance matrix to our embedded function here
    global tsneGlobalDistanceMatrix
    tsneGlobalDistanceMatrix=distanceMatrix;
    xsne=repmat([1:size(distanceMatrix,1)]',1,K);
    Y=tsne(xsne,'distance',@tsneDistance,'numDimensions',K);
    4;
    idx=kmeans(Y,K,'emptyaction','singleton','replicates',NREP);
    
    
    function d=tsneDistance(X,Y)
    global tsneGlobalDistanceMatrix
    
    for i=1:size(Y,1)
        d(i,1)=tsneGlobalDistanceMatrix(X(1),Y(i,1));
    end
    
    4;