Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- data_95 = importdata('data/itu_phonedata-95.csv',',');
- G = data_95.data(1:193, 1:193);
- G(isnan(G)) = 0;
- [nrow ncol] = size(G);
- names = data_95.textdata(1, 2:194);
- G_sym = G + G';
- G1_sym = G_sym / sum(sum(G_sym));
- weights = repmat(sum(G1_sym')', 1, ncol);
- G1_norm = G1_sym ./ weights;
- % calculate G2_sym
- N = nrow;
- G2_sym = G1_norm > (1/N);
- G2_sym = G2_sym .* G2_sym';
- % (B) Thresholding
- G1_norm_t = G1_norm > (1/N);
- G1_sym_t = G1_sym > (1/N);
- % GraphToGml
- % graphtogml('graphs/yed/G1_sym.gml' , triu(G1_sym_t), names);
- % graphtogml('graphs/yed/G2_sym.gml' , triu(G2_sym), names);
- % graphtogml('graphs/yed/G1_norm.gml', G1_norm_t, names);
- % (C) compute the laplacian for G1_sym and G2_sym
- % laplacian for g1_sym
- a = G1_sym;
- degree = sum(a)';
- d_matrix = diag(degree);
- Lapcian = d_matrix - a;
- [vlap dlap] = eig(Lapcian);
- eigenvalues = diag(dlap);
- index = find(eigenvalues > 1e-12, 3);
- G1_eigs = vlap(:, index);
- s = scatter3(G1_eigs(:,1), G1_eigs(:,2), G1_eigs(:,3));
- saveas(s, 'graphs/scatter/G1s' ,'jpg')
- % laplacian for g2_sym
- a = G2_sym;
- degree = sum(a)';
- d_matrix = diag(degree);
- Lapcian = d_matrix - a;
- [vlap dlap] = eig(Lapcian);
- eigenvalues = diag(dlap);
- index = find(eigenvalues > 1e-12, 3);
- G2_eigs = vlap(:, index);
- s = scatter3(G2_eigs(:,1), G2_eigs(:,2), G2_eigs(:,3));
- saveas(s, 'graphs/scatter/G2s' ,'jpg')
- % Fieldler Vectors
- G1_f = G1_eigs(:,1) ;
- G1_f = G1_f / max(abs(G1_f));
- s = scatter(G1_f(:,1), zeros(length(G1_f),1));
- saveas(s, 'graphs/scatter/G1_f' ,'eps')
- G2_f = G2_eigs(:,1);
- G2_f = G2_f / max(abs(G2_f));
- s = scatter(G2_f(:,1), zeros(length(G2_f),1));
- saveas(s, 'graphs/scatter/G2_f' ,'eps')
- % K-MEANS 1-D embeddings
- a = G2_eigs;
- matrix = a(:,1);
- close
- for i = 2:5
- f = figure;
- [IDX, C] = kmeans(matrix, i);
- red = matrix(IDX == 1);
- scatter(red, zeros(length(red), 1), 'red')
- hold on
- blue = matrix(IDX == 2);
- scatter(blue, zeros(length(blue), 1), 'blue')
- hold on
- if i > 2
- yellow = matrix(IDX == 3);
- scatter(yellow, zeros(length(yellow), 1), 'yellow')
- hold on
- end
- if i > 3
- cyan = matrix(IDX == 4);
- scatter(cyan, zeros(length(cyan), 1), 'cyan')
- hold on
- end
- if i > 4
- green = matrix(IDX == 5);
- scatter(green, zeros(length(green), 1), 'green')
- end
- title(['kmeans ' name ' - ' i ' clusters'])
- disp(i)
- saveas(f, ['graphs/kmeans/' 'G2_eigs 1D ' int2str(i) ' clusters'], 'epsc' )
- close
- end
- % K-MEANS 2-D embeddings
- matrix = a(:,[1 2]);
- close
- for i = 2:5
- f = figure;
- [IDX, C] = kmeans(matrix, i);
- red = matrix(IDX == 1, :);
- scatter(red(:,1), red(:,2) , 'red')
- hold on
- blue = matrix(IDX == 2, :);
- scatter(blue(:, 1), blue(: ,2), 'blue')
- hold on
- if i > 2
- yellow = matrix(IDX == 3, :);
- scatter(yellow(:, 1), yellow(:, 2), 'yellow')
- hold on
- end
- if i > 3
- cyan = matrix(IDX == 4, :);
- scatter(cyan(:,1), cyan(:,2), 'cyan')
- hold on
- end
- if i > 4
- green = matrix(IDX == 5, :);
- scatter(green(:,1), green(:,2), 'green')
- end
- title(['kmeans ' name ' - ' i ' clusters'])
- disp(i)
- saveas(f, ['graphs/kmeans/' 'G2_eigs 2D ' int2str(i) ' clusters'], 'epsc' )
- close
- end
- % K-MEANS 3-D embeddings
- matrix = a(:,[1 2 3]);
- close
- for i = 2:5
- f = figure;
- [IDX, C] = kmeans(matrix, i);
- red = matrix(IDX == 1, :);
- scatter3(red(:,1), red(:,2), red(:,3), 'red')
- hold on
- blue = matrix(IDX == 2, :);
- scatter3(blue(:, 1), blue(: ,2), blue(: ,3), 'blue')
- hold on
- if i > 2
- yellow = matrix(IDX == 3, :);
- scatter3(yellow(:, 1), yellow(:, 2), yellow(:, 3), 'yellow')
- hold on
- end
- if i > 3
- cyan = matrix(IDX == 4, :);
- scatter3(cyan(:,1), cyan(:,2), cyan(:,3), 'cyan')
- hold on
- end
- if i > 4
- green = matrix(IDX == 5, :);
- scatter3(green(:,1), green(:,2), green(:,3), 'green')
- end
- title(['kmeans ' name ' - ' i ' clusters'])
- disp(i)
- saveas(f, ['graphs/kmeans/' 'G2_eigs 3D ' int2str(i) ' clusters'], 'epsc' )
- close
- end
Add Comment
Please, Sign In to add comment