Mario Lepore
Mario Lepore

Reputation: 317

Visualize Gaussian Mixture Model clusters in MATLAB

I have to write a classifier (Gaussian Mixture model) to use for human action recognition. I have 4 dataset of video, each of them contains 12 action that I want to recognize. I choose 3 of them as training set and 1 of them as testing set. For each frame I extract 907 features that are my observations. Before I apply the GM model on the training set I run PCA on it. So I consider only 50 components.

I construct the GM model with one cluster of each action.

gm = gmdistribution.fit(data, cluster_num, 'Options', options, 'CovType','diagonal','Regularize', 1e-10, 'SharedCov', true);

Now I want to have a visual feedback to understand if the clustering worked well or the data are misclassified.

Is it possible have something like this? enter image description here

Upvotes: 6

Views: 6295

Answers (1)

AGS
AGS

Reputation: 14498

I am not near the code I wrote to make these, but I remember which functions are worth looking at.

Start here with plot_gaussian_ellipsiod. You can further add gmdistribution and ezcontour to end up with something like this:

enter image description here

Or, for 3d data, you could use plot3 and plot_gaussian_ellipsiod :

enter image description here

Upvotes: 11

Related Questions