Visualize Gaussian Mixture Model Clusters in MATLAB

I need to write a classifier (Gaussian mixture model) in order to use it to recognize human action. I have 4 video datasets, each of which contains 12 actions that I want to recognize. I choose 3 of them as a set for training and 1 of them as a set of tests. For each frame, I retrieve 907 objects, which are my observations. Before applying the GM model to the training kit, I run a PCA on it. Therefore, I consider only 50 components.

I will build a 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 get visual feedback to see if clustering works well or if the data is misclassified.

Is something like this possible? enter image description here

+6
source share
1 answer

I'm not close to the code I wrote to do this, but I remember which features are worth a look.

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

enter image description here

Or, for 3D data, you can use plot3 and plot_gaussian_ellipsiod :

enter image description here

+11
source

Source: https://habr.com/ru/post/926436/


All Articles