Jiaming Yuan and Hyunsu Cho
e88d6e071d
Fix compiler warning in JSON IO. ( #8031 )
...
Co-authored-by: Hyunsu Cho <chohyu01@cs.washington.edu >
2022-06-30 01:13:22 +08:00
Jiaming Yuan
dcaf580476
Fix Python package source install. ( #8036 )
...
* Copy gputreeshap.
2022-06-29 21:45:09 +08:00
Jiaming Yuan
f0c1b842bf
Implement sketching with adapter. ( #8019 )
2022-06-23 00:03:02 +08:00
Jiaming Yuan
142a208a90
Fix compiler warnings. ( #8022 )
...
- Remove/fix unused parameters
- Remove deprecated code in rabit.
- Update dmlc-core.
2022-06-22 21:29:10 +08:00
Jiaming Yuan
4a87ea49b8
Reduce regularization for CPU gblinear. ( #8013 )
2022-06-21 01:05:27 +08:00
Jiaming Yuan
d285d6ba2a
Reduce regularization in GPU gblinear test. ( #8010 )
2022-06-20 23:55:12 +08:00
Jiaming Yuan
e58e417603
[CI] Fix lintr error. ( #8011 )
2022-06-20 22:17:14 +08:00
Jiaming Yuan
9b0eb66b78
Fix GPU driver test. ( #8008 )
...
* Initialize the training parameter.
2022-06-20 19:37:31 +08:00
Jiaming Yuan
637e42a0c0
Use 22.04 for RMM. ( #8001 )
...
22.06 is not released yet.
2022-06-17 04:07:31 +08:00
Jiaming Yuan
bb47fd8c49
[jvm-packages] Change log level for tracker message. ( #7968 )
2022-06-09 18:15:08 +08:00
Jiaming Yuan
8f8bd8147a
Fix LTR with weighted Quantile DMatrix. ( #7975 )
...
* Fix LTR with weighted Quantile DMatrix.
* Better tests.
2022-06-09 01:33:41 +08:00
Jiaming Yuan
1a33b50a0d
Fix compiler warnings. ( #7974 )
...
- Remove unused parameters. There are still many warnings that are not yet
addressed. Currently, the warnings in dmlc-core dominate the error log.
- Remove `distributed` parameter from metric.
- Fixes some warnings about signed comparison.
2022-06-06 22:56:25 +08:00
Jiaming Yuan and jakirkham
d48123d23b
Fix rmm build ( #7973 )
...
- Optionally switch to c++17
- Use rmm CMake target.
- Workaround compiler errors.
- Fix GPUMetric inheritance.
- Run death tests even if it's built with RMM support.
Co-authored-by: jakirkham <jakirkham@gmail.com >
2022-06-06 20:18:32 +08:00
Jiaming Yuan
b90c6d25e8
Implement max_cat_threshold for CPU. ( #7957 )
2022-06-04 11:02:46 +08:00
Jiaming Yuan
6b55150e80
Fix pylint errors. ( #7967 )
2022-06-02 18:04:46 +08:00
Jiaming Yuan
13b15e07e8
Handle formatted JSON input. ( #7953 )
2022-06-01 16:20:58 +08:00
Jiaming Yuan
bde4f25794
Handle missing categorical value in CPU evaluator. ( #7948 )
2022-05-27 14:15:47 +08:00
Jiaming Yuan
18cbebaeb9
Unify the cat split storage for CPU. ( #7937 )
...
* Unify the cat split storage for CPU.
* Cleanup.
* Workaround.
2022-05-26 04:14:40 -07:00
Jiaming Yuan
606be9e663
Handle missing values in one hot splits. ( #7934 )
2022-05-24 20:48:41 +08:00
Jiaming Yuan
18a38f7ca0
Refactor for GHistIndex. ( #7923 )
...
* Pass sparse page as adapter, which prepares for quantile dmatrix.
* Remove old external memory code like `rbegin` and extra `Init` function.
* Simplify type dispatch.
2022-05-23 23:04:53 +08:00
Jiaming Yuan
d314680a15
Verify shared object version at load. ( #7928 )
2022-05-23 20:53:30 +08:00
Jiaming Yuan
474366c020
Add convergence test for sparse datasets. ( #7922 )
2022-05-23 18:07:26 +08:00
Jiaming Yuan
f93a727869
Address remaining mypy errors in python package. ( #7914 )
2022-05-18 22:46:15 +08:00
Jiaming Yuan
edf9a9608e
Fix type conversion warning. ( #7916 )
2022-05-18 20:14:14 +08:00
Jiaming Yuan
765097d514
Simplify inplace-predict. ( #7910 )
...
Pass the `X` as part of Proxy DMatrix instead of an independent `dmlc::any`.
2022-05-18 17:52:00 +08:00
Jiaming Yuan
19775ffe15
Use adapter to initialize column matrix. ( #7912 )
2022-05-18 16:15:12 +08:00
Jiaming Yuan
4fcfd9c96e
Fix and cleanup for column matrix. ( #7901 )
...
* Fix missed type dispatching for dense columns with missing values.
* Code cleanup to reduce special cases.
* Reduce memory usage.
2022-05-16 21:11:50 +08:00
Jiaming Yuan
1baad8650c
Small cleanup to Column. ( #7898 )
...
* Define forward iterator to hide the internal state.
2022-05-15 12:39:10 +08:00
Jiaming Yuan
ee382c4153
Update news for 1.6.1 ( #7877 )
2022-05-14 15:38:18 -07:00
Jiaming Yuan and Philip Hyunsu Cho
1b6538b4e5
[breaking] Drop single precision histogram ( #7892 )
...
Co-authored-by: Philip Hyunsu Cho <chohyu01@cs.washington.edu >
2022-05-13 19:54:55 +08:00
Jiaming Yuan
c8f9d4b6e6
Show libxgboost.so path in build info. ( #7893 )
2022-05-13 18:08:56 +08:00
Jiaming Yuan
11d65fcb21
Extract partial sum into an independent function. ( #7889 )
2022-05-13 14:30:35 +08:00
Jiaming Yuan
db80671d6b
Fix monotone constraint with tuple input. ( #7891 )
2022-05-13 04:00:03 +08:00
Jiaming Yuan
94ca52b7b7
Fix overflow in prediction size. ( #7885 )
2022-05-12 02:44:03 +08:00
Jiaming Yuan
8ba4722d04
Remove pyarrow workaround. ( #7884 )
2022-05-11 20:54:48 +08:00
Jiaming Yuan
16ba74d008
Update CUDA version requirement in CMake script. ( #7876 )
2022-05-09 04:16:22 +08:00
Jiaming Yuan
46e0bce212
Use maximum category in sketch. ( #7853 )
2022-05-05 19:56:49 +08:00
Jiaming Yuan
8ab5e13b5d
Fix typo [skip ci] ( #7861 )
2022-05-04 18:34:45 +08:00
Jiaming Yuan
317d7be6ee
Always use partition based categorical splits. ( #7857 )
2022-05-03 22:30:32 +08:00
Jiaming Yuan
50d854e02e
[CI] Test with latest RAPIDS. ( #7816 )
2022-04-30 11:55:10 -07:00
Jiaming Yuan
288c52596c
Define bin type. ( #7850 )
2022-04-29 19:41:39 +08:00
Jiaming Yuan
fdf533f2b9
[POC] Experimental support for l1 error. ( #7812 )
...
Support adaptive tree, a feature supported by both sklearn and lightgbm. The tree leaf is recomputed based on residue of labels and predictions after construction.
For l1 error, the optimal value is the median (50 percentile).
This is marked as experimental support for the following reasons:
- The value is not well defined for distributed training, where we might have empty leaves for local workers. Right now I just use the original leaf value for computing the average with other workers, which might cause significant errors.
- Some follow-ups are required, for exact, pruner, and optimization for quantile function. Also, we need to calculate the initial estimation.
2022-04-26 21:41:55 +08:00
Jiaming Yuan
ad06172c6b
Refactor pandas dataframe handling. ( #7843 )
2022-04-26 18:53:43 +08:00
Jiaming Yuan
332380479b
Avoid warning in np primitive type tests. ( #7833 )
2022-04-23 02:07:01 +08:00
Jiaming Yuan
f0f76259c9
Remove STRING_TYPES. ( #7827 )
2022-04-22 19:07:51 +08:00
Jiaming Yuan
c70fa502a5
Expose feature_types to sklearn interface. ( #7821 )
2022-04-21 20:23:35 +08:00
Jiaming Yuan
401d451569
Clear configuration cache. ( #7826 )
2022-04-21 19:09:54 +08:00
Jiaming Yuan
52d4eda786
Deprecate use_label_encoder in XGBClassifier. ( #7822 )
...
* Deprecate `use_label_encoder` in XGBClassifier.
* We have removed the encoder, now prepare to remove the indicator.
2022-04-21 13:14:02 +08:00
Jiaming Yuan
5815df4c46
Remove warning in 1.4. ( #7815 )
2022-04-20 01:19:09 +08:00
Jiaming Yuan and Philip Hyunsu Cho
d0de954af2
v1.6.0 release note. [skip ci] ( #7746 )
...
Co-authored-by: Philip Hyunsu Cho <chohyu01@cs.washington.edu >
2022-04-16 16:27:54 +08:00
Jiaming Yuan
5dea21273a
Fix training continuation with categorical model. ( #7810 )
...
* Make sure the task is initialized before construction of tree updater.
This is a quick fix meant to be backported to 1.6, for a full fix we should pass the model
param into tree updater by reference instead.
2022-04-15 18:21:02 +08:00
Jiaming Yuan
bcce17e688
Remove text loading in basic walk through demo. ( #7753 )
2022-04-01 00:59:42 +08:00
Jiaming Yuan and Philip Hyunsu Cho
fd78af404b
Drop support for deprecated CUDA architectures. ( #7774 )
...
Co-authored-by: Philip Hyunsu Cho <chohyu01@cs.washington.edu >
2022-03-31 21:42:23 +08:00
Jiaming Yuan
02dd7b6913
Remove use of distutils. ( #7770 )
...
distutils is deprecated and replaced by other stdlib constructs.
2022-03-31 19:03:10 +08:00
Jiaming Yuan
6fa1afdffc
Avoid compiler warning about comparison. ( #7768 )
2022-03-31 08:52:14 +08:00
Jiaming Yuan
522636cb52
Bump version. ( #7769 )
2022-03-31 06:33:22 +08:00
Jiaming Yuan
9150fdbd4d
Support pandas nullable types. ( #7760 )
2022-03-30 08:51:52 +08:00
Jiaming Yuan
d4796482b5
Fix failures on R hub and Win builder. ( #7763 )
...
* Update date.
* Workaround amalgamation build with clang. (SimpleDMatrix instantiation)
* Workaround compiler error with driver push.
* Revert autoconf requirement.
* Fix model IO on 32-bit environment. (i386)
* Clarify the function name.
2022-03-30 07:14:33 +08:00
Jiaming Yuan
a50b84244e
Cleanup configuration for constraints. ( #7758 )
2022-03-29 04:22:46 +08:00
Jiaming Yuan
3c9b04460a
Move num_parallel_tree to model parameter. ( #7751 )
...
The size of forest should be a property of model itself instead of a training
hyper-parameter.
2022-03-29 02:32:42 +08:00
Jiaming Yuan
8b3ecfca25
Mitigate flaky tests. ( #7749 )
...
* Skip non-increasing test with external memory when subsample is used.
* Increase bin numbers for boost from prediction test. This mitigates the effect of
non-deterministic partitioning.
2022-03-28 21:20:50 +08:00
Jiaming Yuan
b3ba0e8708
Check cupy lazily. ( #7752 )
2022-03-26 06:09:58 +08:00
Jiaming Yuan
af0cf88921
Workaround compiler error. ( #7745 )
2022-03-25 17:05:14 +08:00
Jiaming Yuan
64575591d8
Use context in SetInfo. ( #7687 )
...
* Use the name `Context`.
* Pass a context object into `SetInfo`.
* Add context to proxy matrix.
* Add context to iterative DMatrix.
This is to remove the use of the default number of threads during `SetInfo` as a follow-up on
removing the global omp variable while preparing for CUDA stream semantic. Currently, XGBoost
uses the legacy CUDA stream, we will gradually remove them in the future in favor of non-blocking streams.
2022-03-24 22:16:26 +08:00
Jiaming Yuan
4d81c741e9
External memory support for hist ( #7531 )
...
* Generate column matrix from gHistIndex.
* Avoid synchronization with the sparse page once the cache is written.
* Cleanups: Remove member variables/functions, change the update routine to look like approx and gpu_hist.
* Remove pruner.
2022-03-22 00:13:20 +08:00
Jiaming Yuan
cd55823112
Demo for using custom objective with multi-target regression. ( #7736 )
2022-03-20 17:44:25 +08:00
Jiaming Yuan
996cc705af
Small cleanup to hist tree method. ( #7735 )
...
* Remove special optimization using number of bins.
* Remove 1-based index for column sampling.
* Remove data layout.
* Unify update prediction cache.
2022-03-20 03:44:55 +08:00
Jiaming Yuan
718472dbe2
[CI] Upgrade GitHub action Windows workers. ( #7739 )
2022-03-20 01:44:33 +08:00
Jiaming Yuan
9a400731d9
Replace device sync with stream sync. ( #7737 )
2022-03-19 23:22:23 +08:00
Jiaming Yuan
da351621a1
[R] Fix parsing decision stump. ( #7689 )
2022-03-17 01:08:22 +08:00
Jiaming Yuan
e78a38b837
Sort sparse page index when constructing DMatrix. ( #7731 )
2022-03-16 18:01:05 +08:00
Jiaming Yuan
98d6faefd6
Implement slope for Pseduo-Huber. ( #7727 )
...
* Add objective and metric.
* Some refactoring for CPU/GPU dispatching using linalg module.
2022-03-14 21:42:38 +08:00
Jiaming Yuan
a62a3d991d
[dask] prediction with categorical data. ( #7708 )
2022-03-10 00:21:48 +08:00
Jiaming Yuan
1d468e20a4
Optimize GPU evaluation function for categorical data. ( #7705 )
...
* Use transform and cache.
2022-02-28 17:46:29 +08:00
Jiaming Yuan
18a4af63aa
Update documents and tests. ( #7659 )
...
* Revise documents after recent refactoring and cat support.
* Add tests for behavior of max_depth and max_leaves.
2022-02-26 03:57:47 +08:00
Jiaming Yuan
5eed2990ad
Fix file descriptor leak. ( #7704 )
2022-02-25 17:49:33 +08:00
Jiaming Yuan
83a66b4994
Support categorical data for hist. ( #7695 )
...
* Extract partitioner from hist.
* Implement categorical data support by passing the gradient index directly into the partitioner.
* Organize/update document.
* Remove code for negative hessian.
2022-02-25 03:47:14 +08:00
Jiaming Yuan
f60d95b0ba
[R] Construct booster object in load.raw. ( #7686 )
2022-02-24 10:06:18 +08:00
Jiaming Yuan
6762c45494
Small cleanup to gradient index and hist. ( #7668 )
...
* Code comments.
* Const accessor to index.
* Remove some weird variables in the `Index` class.
* Simplify the `MemStackAllocator`.
2022-02-23 11:37:21 +08:00
Jiaming Yuan
49c74a5369
Update R package description. ( #7691 )
...
* Change role.
* Remove cmake file when building the package.
2022-02-23 08:36:37 +08:00
Jiaming Yuan
c859764d29
[doc] Clarify that states in callbacks are mutated. ( #7685 )
...
* Fix copy for cv. This prevents inserting default callbacks into the input list.
* Clarify the behavior of callbacks in training/cv.
* Fix typos in doc.
2022-02-22 11:45:00 +08:00
Jiaming Yuan
584bae1fc6
Fix document build with scikit-learn ( #7684 )
...
* Require sphinx >= 4.4 for RTD.
* Install sklearn.
2022-02-22 08:58:54 +08:00
Jiaming Yuan
e56d1779e1
Require Python 3.7. ( #7682 )
...
* Update setup.py.
2022-02-21 05:46:48 +08:00
Jiaming Yuan
549f3bd781
Honor CPU counts from CFS. ( #7654 )
2022-02-21 03:13:26 +08:00
Jiaming Yuan
671b3c8d8e
Fix typo. ( #7680 )
2022-02-20 03:42:47 +08:00
Jiaming Yuan
b2341eab0c
[R] Fix broken links. ( #7670 )
2022-02-20 00:55:48 +08:00
Jiaming Yuan
f08c5dcb06
Cleanup some pylint errors. ( #7667 )
...
* Cleanup some pylint errors.
* Cleanup pylint errors in rabit modules.
* Make data iter an abstract class and cleanup private access.
* Cleanup no-self-use for booster.
2022-02-19 18:53:12 +08:00
Jiaming Yuan
b76c5d54bf
Define export symbols in callback module. ( #7665 )
2022-02-19 18:52:41 +08:00
Jiaming Yuan
7366d3b20c
Ensure models with categorical splits don't use old binary format. ( #7666 )
2022-02-19 08:05:28 +08:00
Jiaming Yuan
14d61b0141
[doc] Update document for building from source. ( #7664 )
...
- Mention standard install command for R package.
- Remove repeated "get source" step.
- Remove troubleshooting on Windows. It's outdated considering VS 2022 is already out.
2022-02-19 04:57:03 +08:00
Jiaming Yuan
d625dc2047
Work around nvcc error. ( #7673 )
2022-02-19 01:41:46 +08:00
Jiaming Yuan
3877043d41
Avoid print for R package. ( #7672 )
2022-02-18 08:06:24 +08:00
Jiaming Yuan
711f7f3851
Avoid std::terminate for R package. ( #7661 )
...
This is part of CRAN policies.
2022-02-17 01:27:20 +08:00
Jiaming Yuan
12949c6b31
[R] Implement feature weights. ( #7660 )
2022-02-16 22:20:52 +08:00
Jiaming Yuan
93eebe8664
[doc] Fix broken link. [skip ci] ( #7655 )
2022-02-15 14:07:34 +08:00
Jiaming Yuan
0da7d872ef
[doc] Update for prediction. ( #7648 )
2022-02-15 05:01:55 +08:00
Jiaming Yuan
0d0abe1845
Support optimal partitioning for GPU hist. ( #7652 )
...
* Implement `MaxCategory` in quantile.
* Implement partition-based split for GPU evaluation. Currently, it's based on the existing evaluation function.
* Extract an evaluator from GPU Hist to store the needed states.
* Added some CUDA stream/event utilities.
* Update document with references.
* Fixed a bug in approx evaluator where the number of data points is less than the number of categories.
2022-02-15 03:03:12 +08:00
Jiaming Yuan
2369d55e9a
Add tests for prediction cache. ( #7650 )
...
* Extract the test from approx for other tree methods.
* Add note on how it works.
2022-02-15 00:28:00 +08:00
Jiaming Yuan
5cd1f71b51
[dask] Improve configuration for port. ( #7645 )
...
- Try port 0 to let the OS return the available port.
- Add port configuration.
2022-02-14 21:34:34 +08:00
Jiaming Yuan
b52c4e13b0
[dask] Fix empty partition with pandas input. ( #7644 )
...
Empty partition is different from empty dataset. For the former case, each worker has
non-empty dask collections, but each collection might contain empty partition.
2022-02-14 19:35:51 +08:00