How can I improve a machine learning model? I am a Machine learning newbie and i am trying my hands with a dataset which has 9 features and my aim is to figure out the optimal multi class classification model which fits my dataset.

I applied PCA on my dataset and reduced the dimensionality to 2 and now i can visualize my dataset and this is how it looks like on my training dataset.



I am not sure how to choose a best model when data is distributed in such a way and i am looking for suggestions on what techniques are out there.

Is Getting more data a viable next step?
It is questionable whether doing the PCA and reducing the dimension to 2D was a good idea. You can try experimenting with the number of components in PCA or even trying some non-linear dimensionality reduction like LLE:


  Locally linear embedding (LLE) seeks a lower-dimensional projection of the data which preserves distances within local neighborhoods. It can be thought of as a series of local Principal Component Analyses which are globally compared to find the best non-linear embedding.