Effacer les filtres
Effacer les filtres

define new variables based on clustering results

1 vue (au cours des 30 derniers jours)
Hamed Jalali
Hamed Jalali le 19 Juin 2020
Commenté : Hamed Jalali le 27 Juin 2020
I have some variables, say
X_1, x_2, x_3, x_4, x_5,x_6.
with related matrix of n obeservation X. I have done spectral clustering
idx = spectralcluster(X,k)
to find the clusters of variables. Assume for k=3, the index set is = 2,1,1,3,2,3. Now I want to define new variables
y_1, y_2, y_3 , where y_1={x_2,x_3}, y_2={x_1,x_5}, y_3={x_4,x_6}.
for each clusters. Is there any solution without using for loop.

Réponses (1)

Raunak Gupta
Raunak Gupta le 24 Juin 2020
Hi,
From the example in the question I understand you have matrix with 6 observation, and you are clustering them into 3 groups. The new variables can be assigned by simply indexing matrix X with corresponding value. Below example might help.
% X = [x_1;x_2;x_3;x_4;x_5;x_6];
idx = spectralcluster(X,k);
y_1 = X(idx==1,:);
y_2 = X(idx==2,:);
y_3 = X(idx==3,:);
  1 commentaire
Hamed Jalali
Hamed Jalali le 27 Juin 2020
Thanks for your answer. I used the below command:
y_i=X(find(idx==i));
where i is the index of the cluster. It similar to your answer.

Connectez-vous pour commenter.

Catégories

En savoir plus sur Shifting and Sorting Matrices dans Help Center et File Exchange

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by