Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add diffusion map dimensionality reduction and simple Principal Component Analysis #17

Merged
merged 24 commits into from
Jul 13, 2020

Conversation

bytesnake
Copy link
Member

@bytesnake bytesnake commented Mar 18, 2020

Spectral Clustering consists of two steps. First a dimensionality reduction finds important pattern in a graph between the points (by projecting the graph), then a clustering algorithm runs on the embedding. The technique is non-linear because cluster can be distributed such that they are nested inside each other, for example swiss-rolls or nested rings. A linear projection (like PCA) fails in such cases.
Gaussian and polynomial kernels are implemented and projected with diffusion maps. LOBPCG is used for finding the k largest eigenvalues.

Things todo before merging:

@bytesnake bytesnake changed the title [WIP] Add diffusion map dimensionality reduction [WIP] Add diffusion map dimensionality reduction and principal component analysis Apr 8, 2020
@bytesnake
Copy link
Member Author

haven't looked at this for ages, but should be ready to merge. Perhaps I will find time over the weekend to give it a second glance

@quietlychris
Copy link
Member

@bytesnake If you don't have permissions to merge this, just let me know and I can either add you as a rust-ml owner (if you're interested in that), or otherwise would just be happy to make the merge whenever you're ready.

@bytesnake
Copy link
Member Author

@quietlychris yup you can add me and I will see how I can be of help

@bytesnake bytesnake changed the title [WIP] Add diffusion map dimensionality reduction and principal component analysis Add diffusion map dimensionality reduction and simple Principal Component Analysis Jul 13, 2020
@bytesnake bytesnake merged commit 7b6075e into rust-ml:master Jul 13, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants