# How to plot High Dimensional supervised K-means on a 2D plot chart

I'm Having a ML problem where my data set contains 80 features labelled into 3 groups (0, 1, -1).

I want to plot the data on a 2D surface to see how "close" (similar) data with label x is to data with label y, how the data spreads, are the labels separable, etc.

I was thinking about using PCA and transform the data from 80D to 2D, but It only retain 40% of the variance!

• Is this a good approach for the problem?
• If so, does 40% suffice?
• Are there any other/better approach for this?

## EDIT:

Plotting is not the main issue. The transformation from 80D to 2D (for an easy visialization) is whats difficult.

Also, all of this is being made to know how much samples with label 1 differs from label 0 and label -1 and vice versa (based on those original 80 features).

If there's a different method, that is not visualizing the "answer", I'll also be happy to hear about it!

• Whether 60% is enough is not something others can answer for you. What you could do is try different methods: MDS, ICA, multidimensional unfolding, etc. – Frans Rodenburg Aug 21 '18 at 10:18
• I wonder if its even a good approach to shed clarity upon the problem (which is, are all the labeled example can be separated enough by the features describing them) – Eran Moshe Aug 21 '18 at 10:20
• You could try and calculate some distance metric, but I personally like the idea of trying to visualize the results. – Frans Rodenburg Aug 21 '18 at 10:22

You can try using T-SNE

https://lvdmaaten.github.io/tsne/

"which is a technique for dimensionality reduction that is particularly well suited for the visualization of high-dimensional datasets"

It transforms your data and allows easy visualisation. However, it is computationally heavy.

• The t-SNE looks very solid, and shed a lot of information on my problem... I've been testing it for 2 days now – Eran Moshe Aug 23 '18 at 4:48

## 2D graph visualization

T-SNE is obviously the first thing to come to mind, but you could perhaps push the exercise further by applying 2D graph visualization. Here is a good example from Sklearn gallery applied to stock market variance.

http://scikit-learn.org/stable/auto_examples/applications/plot_stock_market.html