Commit Graph

43 Commits

Author SHA1 Message Date
Nicolas Hug df61e9ed98
FIX accept uint8 X in hist-gbdt.predict (#18410)
* fixed dtype issue

* whatsnew

* dont pass lists
2020-09-26 09:55:35 +02:00
Olivier Grisel e325f16d6a
ENH Break cyclic references in Histogram GBRT (#18334)
Co-authored-by: Nicolas Hug <contact@nicolas-hug.com>
2020-09-03 15:47:25 -04:00
Nicolas Hug 754cac3ee9
MNT change bin_thresholds param name (#18179) 2020-08-21 16:07:55 +02:00
Juan Carlos Alfaro Jiménez 9cd13a1fa1
FIX Change MRO for some estimators (#17837) 2020-07-05 13:52:42 +02:00
Christos Aridas 2b503bdc08
CLN Remove self-assignments from tests (#17776) 2020-06-29 15:22:21 -04:00
Chiara Marmo 5ea5da4ae4
DOC add missing attributes in HistGradientBoostingClassifier (#17678)
Co-authored-by: Nicolas Hug <contact@nicolas-hug.com>
2020-06-24 19:15:37 +02:00
Thomas J. Fan 7cc0177f8e
MNT Replaces numpy alias with builtin typse (#17687)
* MNT Replaces numpy alias with builtin typse

* STY Lint error
2020-06-24 16:51:51 +02:00
Hirofumi Suzuki c29092d699
MNT define a parse_version function in sklearn.utils.fixes (#17670)
Co-authored-by: Loïc Estève <loic.esteve@ymail.com>
Co-authored-by: Roman Yurchak <rth.yurchak@gmail.com>
2020-06-24 13:35:49 +02:00
Hao Chun Chang f58c2bc2df
FEA Add staged_predict to HistGradientBoosting (#16985) 2020-05-17 10:02:34 -04:00
Christian Lorentzen a6a20f29d7
MNT fix test for binary crossentropy in hist-GBDT (#16691) 2020-05-11 14:25:16 -04:00
Thomas J Fan ad6a9f977e
TST Skips derivative check on 32bit platforms (#17073)
* TST Checks type for derivative check

* TST Skips test for 32bit linux

* REV Less diffs
2020-04-29 10:05:37 +02:00
Lucy Liu 7844d1c2d7
TST Replace boston in histgradboost test_predictor (#16918) 2020-04-23 13:19:52 -04:00
Christian Lorentzen a93b15f19b
ENH Poisson loss for HistGradientBoostingRegressor (#16692) 2020-04-23 10:27:35 -04:00
Geoffrey Bolmier 9d366a4f74
ENH Add custom loss support for HistGradientBoosting (#16908) 2020-04-15 13:38:22 -04:00
Thomas J Fan 270c673483
TST Fixes comment in test to reflect actual missing value (#16872) 2020-04-07 14:42:28 -04:00
Nicolas Hug 36ebf3e371
[MRG] Monotonic constraints for GBDT (#15582) 2020-03-24 20:27:00 +01:00
Thomas J Fan cdbda0eddb
BUG Fixes HistGradientBoosting when warm_start is on + early_stopping is on + no validation (#16663) 2020-03-11 09:39:25 +01:00
Adrin Jalali e24998f19c
ENH Support sample weights in HGBT (#14696) 2020-02-24 13:45:50 -05:00
Roman Feldbauer 9b39c4c4d2
TST Fix unreachable code in tests (#16110) 2020-02-16 14:41:26 +01:00
Johann Faouzi ee6b369b82
FEA Turn on early stopping in histogram GBDT by default (#14516) 2020-02-12 10:45:21 -05:00
Nicolas Hug 98b3c7c871
FIX max_leaf_node and max_depth interaction in GBDT (#16183)
* fix max_leaf_node max_depth interaction

* Added test

* comment

* what's new

* simpler solution

* moved and simplified test

* typo
2020-02-07 15:07:37 +01:00
SanthoshBala18 cc2fbeddfa BUG max_depth=1 should be decision stump in HistGradientBoosti… (#16182) 2020-01-28 13:07:42 -05:00
Brian Wignall c4733f4895 MNT Fix some easy-to-make typos (#15720) 2019-11-26 06:31:40 -06:00
Nicolas Hug 97958c174f FIX fix bug when warm starting with early stopping in Hist GBDT (#15624) 2019-11-15 11:02:38 +01:00
Nicolas Hug b92455a6b2 MAINT Deprecate all of utils.testing except all_estimators (#15367) 2019-10-28 17:28:56 +01:00
Adrin Jalali 38af35db9c FIX raise error when using categorical_crossentropy in binary problem in HGBDT (#14869) 2019-09-20 10:23:34 +02:00
Johann Faouzi 78c06e504c [MRG] MNT Use one single random seed for warm start and subsampling in HGBDT (#14999) 2019-09-19 09:33:36 -04:00
Nicolas Hug 5cf88db244 EHN Implement least absolute deviation loss in GBDTs (#13896) 2019-09-09 10:26:52 +02:00
Guillaume Lemaitre 947dffcc9c FIX encode target for scoring when using early stopping in HistGradientBoostinClassifier (#14710)
* FIX encode target for scoring when using early stopping in HistGradientBoostingClassifier

* add line

* reviews
2019-08-22 15:22:38 +02:00
Nicolas Hug 4b6273b874 ENH Native support for missing values in GBDTs (#13911)
* 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
2019-08-21 11:22:00 +02:00
Allen Akinkunle 01d8e70af0 MNT Use return_X_y=True with load_boston where appropriate (#14678) 2019-08-20 10:08:23 +08:00
Nicolas Hug dd78658d25 [MRG] Support for infinite values in GBDTs (#14406) 2019-07-19 14:58:53 +02:00
Johann Faouzi db2342f416 [MRG] Use resample to compute the small training set in HistGBT (#14194) 2019-07-08 09:57:02 +02:00
Thomas J Fan 29b9bb8bd5 BLD/CI Adds 32bit linux testing to Appveyor (#14225) 2019-07-02 18:34:50 +02:00
Thomas J Fan be17713d85
MAINT Upgrade CI to PyPy 7.1.1, fix CI failure on master (#13912) 2019-06-24 13:39:10 -04:00
Johann Faouzi da96da96f0 EHN Add warm_start parameter to HistGradientBoosting (#14012) 2019-06-21 15:18:24 +02:00
Nicolas Hug b580ad5dfd BUG Fix zero division error in GBDTs (#14024) 2019-06-13 16:36:42 -04:00
Nicolas Hug 6675c9e342 MAINT pass n_samples instead of sample_indices in GBDT (#14017) 2019-06-04 17:25:26 +02:00
Nicolas Hug f283ed6b40 CLN Removed max_bins from splitter in GBDT (#13927) 2019-05-28 13:23:06 -04:00
Nicolas Hug 2a7194de7a FIX Bin training and validation data separately in GBDTs (#13933) 2019-05-28 10:46:41 -04:00
Olivier Grisel e0532cdea5 MAINT increase numerical gradient check tolerance to make the test stable (#13885) 2019-05-23 20:16:45 +08:00
Olivier Grisel eb1f5f29df FIX broken sdist (#13862)
- missing *.tp files (cython templates) from MANIFST.in
- missing __init__.py file to turn a tests folder into a package to
  be shipped with the tarball
2019-05-11 20:12:35 +10:00
Nicolas Hug 9f68c992ae [MRG+2] Faster Gradient Boosting Decision Trees with binned features (#12807) 2019-04-26 21:14:59 +02:00