Reputation: 317
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?
Upvotes: 6
Views: 6295
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:
Or, for 3d data, you could use plot3
and plot_gaussian_ellipsiod
:
Upvotes: 11