Select Git revision
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;