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

Features: spectral clustering #518

Merged
merged 63 commits into from
Apr 7, 2020

Conversation

Cdebus
Copy link
Contributor

@Cdebus Cdebus commented Apr 1, 2020

Description

Implementation of Spectral Clustering Algorihm

Extensions included:

  • Implementation of CG and Lanczos Algorithm in linalg
  • Implementation of spectral clustering, based on custom HeAT distance calculation and Lanczos algorithm for eigenvalue decomposition
  • seperate function for derivation of graph Laplacian in spectral module

Type of change

  • New feature (non-breaking change which adds functionality)

Due Diligence

  • All split configurations tested
  • Multiple dtypes tested in relevant functions
  • Documentation updated (if needed)
  • Updated changelog.md under the title "Pending Additions"

Does this change modify the behaviour of other functions? If so, which?

no

Cdebus and others added 30 commits January 24, 2020 14:40
- Restructure metrics into spatial.distance module
- Draft implementation of pairwise distance calculation for two different tensors
- Adjust spectral fit to mimic SciKit API
-Include implementation of cdist and speed-up of kmeans
- Case X.split is None and Y.split = 0 still needs design
- currenly only 2D tensors supported
- Bugfix for linalg.dot
heat/cluster/spectral.py Outdated Show resolved Hide resolved
heat/cluster/spectral.py Outdated Show resolved Hide resolved
heat/cluster/spectral.py Outdated Show resolved Hide resolved
heat/cluster/spectral.py Outdated Show resolved Hide resolved
heat/cluster/spectral.py Outdated Show resolved Hide resolved
heat/core/linalg/lanczos.py Outdated Show resolved Hide resolved
heat/core/linalg/lanczos.py Outdated Show resolved Hide resolved
heat/core/linalg/tests/test_lanczos.py Outdated Show resolved Hide resolved
heat/core/linalg/tests/test_lanczos.py Outdated Show resolved Hide resolved
heat/core/linalg/lanczos.py Outdated Show resolved Hide resolved
heat/graph/laplacian.py Outdated Show resolved Hide resolved
CHANGELOG.md Outdated Show resolved Hide resolved
heat/core/linalg/solver.py Outdated Show resolved Hide resolved
heat/core/linalg/solver.py Outdated Show resolved Hide resolved
heat/core/linalg/solver.py Outdated Show resolved Hide resolved
heat/core/linalg/solver.py Outdated Show resolved Hide resolved
heat/core/linalg/solver.py Outdated Show resolved Hide resolved
heat/core/linalg/solver.py Outdated Show resolved Hide resolved
@codecov
Copy link

codecov bot commented Apr 6, 2020

Codecov Report

Merging #518 into master will not change coverage by %.
The diff coverage is n/a.

Impacted file tree graph

@@           Coverage Diff           @@
##           master     #518   +/-   ##
=======================================
  Coverage   96.28%   96.28%           
=======================================
  Files          75       75           
  Lines       14540    14540           
=======================================
  Hits        14000    14000           
  Misses        540      540           

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update a862198...a862198. Read the comment docs.

@Markus-Goetz Markus-Goetz self-requested a review April 7, 2020 08:32
@Markus-Goetz Markus-Goetz merged commit edce83a into helmholtz-analytics:master Apr 7, 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.

3 participants