k-NN on non linear data + Dimensionality reduction

Viewed 184

I'm trying to use k-NN on a tricky simulated dataset. the numpy array is (1000, 100), hence lot of dimensions. Before I run the k-NN for training/classification I need to pre-process/transform the dataset. PCA doesn't work, as the variance of all the features are almost same. The data as csv is available here as gist: https://gist.github.com/modqhx/0ab61da16eae8f371a1d6a787f018a64

On plotting the data, it looks like a 3d spherical structure(here's a screenshot using 'hypertools'): enter image

Any thoughts on how to proceed?

EDIT and in response to the comment: Yes, I understand if there are no "apparent" clustering, why use k-nn. I should have phrased that the right way. The raw data does not, however, some form of dimensionality reduction may reveal clusters. There are 100 dimensions, and PCA does not help as the variance of all 100 features are same. Question becomes, how can we do dimensionality reduction when the variance of all features are almost the same? .. Again, this is an exercise and the point is to make "knn" work! (if that makes any sense). I've been told that upto first and second moments you won't find any clusters, but after that(third moment and after) you may.

1 Answers
Related