* First cut at basic single linkage internals
* Refer to correct dist_metrics package
* Add csgraph sparse implementation for single linkage
* Add fast labelling/conversion from MST to single linkage tree; remove uneeded single_linkage.pyx file.
* Ensure existing tests cover single linkage
* Name cingle linkage labelling correctly.
* Iterating toward correct solution. Still have to get n_clusters, compute_full_tree=False working
* Get n_components correct.
* Update docstrings.
* Fix the parents array when we don't get the "full tree"
* Add single linkage to agglomerative clustering example.
* Add single linkage to digits agglomerative clustering example.
* Update documentation to reflect the addition of single linkage.
* Update documentation to reflect the addition of single linkage.
* Pep8 fix for class declaration in cython
* Fix heading in clustering docs
* Update the digits clustering text to reflect the new reality.
* Provide a more complete comparison of the different linkage methods, highlighting the relative strengths and weaknesses.
* We don't need connectivity here, and we can ignore issues with warnings for spectral clustering.
* Add an explicit test that single linkage successfully works on examples it should perform well on.
* Update docs with a more complete comparison on linkage methods (scale to be determined?)
* List formatting in example linkage comparison.
* Flake8 fixes.
* Flake8 fixes.
* More Flake8 fixes.
* Fix agglomerative plot example with correct subplot spec
* Explicitly test linkages (including single) produce results identical to scipy.cluster.hierarchical
* Fix comment on why we sort (consistency)
* Make dense single linkage faster
* Add docstring to new mst-linkage-core computations.
* Add a test that new single linkage code matches scipy
* Ensure we only attemtp this for metrics Jake implemented.
* Per amueller; it's a long paper, ref the figure.
* Clean up a few things.
* Too many blank lines for flake8
* Bad scipy slink input
* Flake8 fixes
* Clean up cython a little; fix typo/carryover
* Convert memoryview to numpy array on return
* Just convert to the correct dtype
* Update sklearn/cluster/_hierarchical.pyx
Co-Authored-By: Nicolas Hug <contact@nicolas-hug.com>
* Update sklearn/cluster/_hierarchical.pyx
Co-Authored-By: Nicolas Hug <contact@nicolas-hug.com>
* Update sklearn/cluster/_hierarchical.pyx
Co-Authored-By: Nicolas Hug <contact@nicolas-hug.com>
* Update sklearn/cluster/tests/test_hierarchical.py
Co-Authored-By: Nicolas Hug <contact@nicolas-hug.com>
* Fixes as per @NicolasHug suggestions.
* Update renaming of params in test_hierarchical
* Relative import?
* Ah, it got renamed in master...
* A bad merge on my part.
* In principle this is in sklearn.neighbors now...
* No; not that way...
* Declare dim before use.
* Update sklearn/cluster/tests/test_hierarchical.py
Co-Authored-By: Nicolas Hug <contact@nicolas-hug.com>
* Remaining fixes per Nicolas Hug.
* Update sklearn/cluster/tests/test_hierarchical.py
Co-Authored-By: Nicolas Hug <contact@nicolas-hug.com>
* Fix flake8 issues.
* Switch from stable to mergesort per jnotham
* Update sklearn/cluster/_hierarchical.py
Co-Authored-By: Nicolas Hug <contact@nicolas-hug.com>
* Skip checks that are already validated.
* Update docstring per Gael's suggestion
* Add a benchmark script for agglomerative clustering
* Fix some flake8 issues
* No flake8 on the one line
* Update parameters and output for benchmark hierarchical
* Switch to 2D plotting for hierarchical benchmark
* Wrong colormap name
* Formatting fpr bench hierarchical
* Add an item to WhatsNew