Co-authored-by: Andreas Mueller <t3kcit@gmail.com>
Co-authored-by: jeremie du boisberranger <jeremiedbb@yahoo.fr>
Co-authored-by: Jérémie du Boisberranger <34657725+jeremiedbb@users.noreply.github.com>
Co-authored-by: Sylvain MARIE <sylvain.marie@se.com>
Co-authored-by: Thomas J Fan <thomasjpfan@gmail.com>
Co-authored-by: Nicolas Hug <contact@nicolas-hug.com>
Co-authored-by: Joel Nothman <joel.nothman@gmail.com>
Co-authored-by: Olivier Grisel <olivier.grisel@ensta.org>
Co-authored-by: Olivier Grisel <olivier.grisel@gmail.com>
Co-authored-by: Tom Dupré la Tour <tom.dupre-la-tour@m4x.org>
Co-authored-by: Ivan PANICO <ivpanico@gmail.com>
Co-authored-by: Ivan Panico <iv.panico@gmail.com>
Co-authored-by: Thomas J. Fan <thomasjpfan@gmail.com>
Co-authored-by: Guillaume Lemaitre <g.lemaitre58@gmail.com>
* Add Tensor Sketch algorithm
* Add user guide entry
* Add example
* Add benchmark
Co-authored-by: Christian Lorentzen <lorentzen.ch@googlemail.com>
Co-authored-by: Tom Dupré la Tour <tom.dupre-la-tour@m4x.org>
Co-authored-by: Roman Yurchak <rth.yurchak@gmail.com>
* 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
* Added NaN support in mapper
* pep
* WIP
* some more
* WIP
* WIP
* bug fix
* basic tests
* some doc
* avoid some interactions
* Added tag
* better test
* decent test + fix bug
* add missing_fraction param to benchmark
* bin training and validation data separately
* shorter test
* Map missing values to first bin instead of last
* pep8
* Added whats new entry
* avoid some python interactions
* make predict_binned work
* fixed bug due to offset in bin_thresholds_ attribute
* more sensible binning strat
* typo
* user name
* Add small test
* convert to fortran array in tests
* some doc
* Added function test
* pep8
* Bin validation data using binmaper of training data
* Allocate first bin for missing entries based on the whole data, not just
training data.
* Addressed Thomas' comments
* Update sklearn/ensemble/_hist_gradient_boosting/tests/test_grower.py
* Addressed Guillaume's comments
* always allocate first bin for missing values
* reduce diff
* minor more consistent test
* typo
* WIP
* some doc
* reduce diff
* pep8
* minor
* remove prints
* towards nan only splits
* don't check right to left on split_on_nan
* cleaups
* format and comment
* Fixed bug + added more tests
* refactor tests
* put back n_threads to max value
* minor changes
* minor cleaning
* Add (failing) test that checks equivalence with min max imputation
* Decrease the likelihood of ties when training the trees
* More robust test
* Fix pytest parametrization
* Check bin thresholds in test
* Try to make the test even easier to see if the Linux 32bit build would pass in this case
* Don't check last non-missing bin if there's no nan
* Improve min-max imputation test
* FIX: _find_best_bin_to_split_right_to_left is still required even when left to right wants to split on nans
* comments
* remove split_on_nan
* ooops deleted useless files
* Got rid of individual checks in predictor code
+inf thresholds are only allowed in a split on nan situation.
Thresholds that are computed as +inf are capped to a very high constant
value
* can also remove special case in binning code
* minor typos + more consistent test
* renamed types -> common
* 1e300 -> almost inf
* added user guide section on missing values
* Addressed Olivier's comment + updated whatsnew
* addressed comments
* Fix doctest formatting
* Fix nan predictive doctest
* Remove unused code
* Squash all the PR 9040 commits
initial PR commit
seq_dataset.pyx generated from template
seq_dataset.pyx generated from template #2
rename variables
fused types consistency test for seq_dataset
a
sklearn/utils/tests/test_seq_dataset.py
new if statement
add doc
sklearn/utils/seq_dataset.pyx.tp
minor changes
minor changes
typo fix
check numeric accuracy only up 5th decimal
Address oliver's request for changing test name
add test for make_dataset and rename a variable in test_seq_dataset
* FIX tests
* TST more numerically stable test_sgd.test_tol_parameter
* Added benchmarks to compare SAGA 32b and 64b
* Fixing gael's comments
* fix
* solve some issues
* PEP8
* Address lesteve comments
* fix merging
* avoid using assert_equal
* use all_close
* use explicit ArrayDataset64 and CSRDataset64
* fix: remove unused import
* Use parametrized to cover ArrayDaset-CSRDataset-32-64 matrix
* for consistency use 32 first then 64 + add 64 suffix to variables
* it would be cool if this worked !!!
* more verbose version
* revert SGD changes as much as possible.
* Add solvers back to bench_saga
* make 64 explicit in the naming
* remove checking native python type + add comparison between 32 64
* Add whatsnew with everyone with commits
* simplify a bit the testing
* simplify the parametrize
* update whatsnew
* fix pep8