* Push scipy min version to 1.0.0
* Update all ubuntu images to 20.04 focal.
* Add ubuntu images 18.04 bionic and scipy fron conda-forge.
* Fix conditions.
* Pin python 3.6 for ubuntu bionic.
* Change pipeline name.
* Change matrix element name.
* Keep python 3.9 from system not conda in Ubuntu 20.04.
* Remove python directive when unnecessary.
* Cleanup.
* Downgrade to python 3.6 as scipy 1.0.0 is incompatible with 3.8.
* Fix comment.
* Fix comment.
* Pin pytest again as we are forced to use 3.6.
* Move to conda installer for 32bit linux.
* Install miniconda for ubuntu 32bit.
* Install wget for ubuntu 32bit.
* Revert 32bit OS to ubuntu bionic 18.04.
* Install scipy from pip in 32bit system.
* Fix doctest failures.
* Revert example rendering.
* Relax pytest version in ubuntu install.
* Skip failing tests.
* Put comment at the right place.
* Remove python3.6. Ubuntu32 still needs to be adapted.
* Push numpy and scipy min versions for compatibility with 3.7.
* Push matplotlib min version for compatibility with 3.7. Install numpy via pip in 32bit linux.
* Install numpy before scipy in Linux 32bit.
* Pass numpy version to linux32.
* Test 32bit architecture on debian buster (still exists for 32bit with python 3.7).
* Install matplotlib from distribution.
* Syntax error...
* Stick to the numpy debian version to avoid Expected 124 from C header, got 112 from PyObject error.
* Clean comments.
* Revert skip in doctest to check with new dependencies.
* Rename distrib.
* Skip again...
* Fix test on check_array.
* Remove comment and fix lint at the same time.
* Clean import.
* Increase atol in test_derivatives to make the test pass in py37_conda_openblas environment.
* Avoid sparse matrix dependent on scipy version.
* Skip docstring test for pandas versions less then 1.1.0.
* Fix lint error.
* Empty commit to force checks.
* Add minimal dependencies in changelog.
* Update to python 3.7 CircleCI and Travis builds.
* Move to debian buster for python3.7 dependencies.
* Fix the container tag.
* Lower the minimal pandas version for compatibility with python 3.7.
* API Removes tol=None option from HistGradient*
* Pass tol=0.0 instead of tol=None in early stopping tests
Co-authored-by: Olivier Grisel <olivier.grisel@ensta.org>
* 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