Jiaming Yuan
8a84be37b8
Pass scikit learn estimator checks for regressor. ( #7130 )
...
* Check data shape.
* Check labels.
2021-08-03 18:58:20 +08:00
Jiaming Yuan
8ee127469f
[R] Fix nthread in DMatrix constructor. ( #7127 )
...
* Break the R C API for nthread.
2021-08-03 17:39:25 +08:00
Jiaming Yuan
ba47eda61b
[doc] Use figure directive. ( #7143 )
2021-08-03 15:56:25 +08:00
Jiaming Yuan
e2c406f5c8
Support min_delta in early stopping. ( #7137 )
...
* Support `min_delta` in early stopping.
* Remove abs_tol.
2021-08-03 14:29:17 +08:00
Jiaming Yuan
7bdedacb54
Document for process_type. ( #7135 )
...
* Update document for prune and refresh.
* Add demo.
2021-08-03 13:11:52 +08:00
Jiaming Yuan
d080b5a953
Fix model slicing. ( #7149 )
...
* Use correct pointer.
* Remove best_iteration/best_score.
2021-08-03 11:51:56 +08:00
Jiaming Yuan
36346f8f56
C API demo for inference. ( #7151 )
2021-08-03 00:46:47 +08:00
Jiaming Yuan
1369133916
[dask] Remove the workaround for segfault. ( #7146 )
2021-07-30 03:57:53 +08:00
Jiaming Yuan
7017dd5a26
[JVM-Packages] Use Python tracker in XGBoost for JVM package. ( #7132 )
2021-07-27 16:20:42 +08:00
Jiaming Yuan
48d5de80a2
[R] Fix softprob reshape. ( #7126 )
2021-07-27 15:25:17 +08:00
Jiaming Yuan
7ee7a95b84
Use upstream URI in distributed quantile tests. ( #7129 )
...
* Use upstream URI in distributed quantile tests.
* Fix test cv `PytestAssertRewriteWarning`.
2021-07-27 14:09:49 +08:00
Jiaming Yuan
e88ac9cc54
[dask] Extend tree stats tests. ( #7128 )
...
* Add tests to GPU.
* Assert cover in children sums up to the parent.
2021-07-27 12:22:13 +08:00
Jiaming Yuan
778135f657
Fix parameter loading with training continuation. ( #7121 )
...
* Add a demo for training continuation.
2021-07-23 10:51:47 +08:00
Jiaming Yuan
e6088366df
Export Python Interface for external memory. ( #7070 )
...
* Add Python iterator interface.
* Add tests.
* Add demo.
* Add documents.
* Handle empty dataset.
2021-07-22 15:15:53 +08:00
Jiaming Yuan
bd1f3a38f0
Rewrite sparse dmatrix using callbacks. ( #7092 )
...
- Reduce dependency on dmlc parsers and provide an interface for users to load data by themselves.
- Remove use of threaded iterator and IO queue.
- Remove `page_size`.
- Make sure the number of pages in memory is bounded.
- Make sure the cache can not be violated.
- Provide an interface for internal algorithms to process data asynchronously.
2021-07-16 12:33:31 +08:00
Jiaming Yuan
2f524e9f41
[dask] Work around segfault in prediction. ( #7112 )
2021-07-16 04:27:05 +08:00
Jiaming Yuan
abec3dbf6d
Fix thread safety of softmax prediction. ( #7104 )
2021-07-16 02:06:55 +08:00
Jiaming Yuan
8e8232fb4c
[CI] Update R cache. ( #7102 )
2021-07-14 03:15:35 +08:00
Jiaming Yuan
345796825f
Optional find dependency in installed cmake config. ( #7099 )
...
* Find dependency only when xgboost is built as static library.
* Resolve msvc warning.
* Add test for linking shared library.
2021-07-11 17:20:55 +08:00
Jiaming Yuan
77f6cf2d13
Support hessian in host sketch container. ( #7081 )
...
Prepare for migrating approx onto hist's codebase.
2021-07-08 16:33:58 +08:00
Jiaming Yuan
84d359efb8
Support host data in proxy DMatrix. ( #7087 )
2021-07-08 11:35:48 +08:00
Jiaming Yuan
5d7cdf2e36
[Breaking] Rename Quantile DMatrix C API. ( #7082 )
...
The role of ProxyDMatrix is going beyond what it was designed. Now it's used by both
QuantileDeviceDMatrix and inplace prediction. After the refactoring of sparse DMatrix it
will also be used for external memory. Renaming the C API to extract it from
QuantileDeviceDMatrix.
2021-07-08 11:34:14 +08:00
Jiaming Yuan
c766f143ab
Refactor external memory formats. ( #7089 )
...
* Save base_rowid.
* Return write size.
* Remove unused function.
2021-07-08 04:04:51 +08:00
Jiaming Yuan
689eb8f620
Check external memory support for exact tree method. ( #7088 )
2021-07-08 02:12:57 +08:00
Jiaming Yuan
615ab2b03e
Extract evaluate splits from CPU hist. ( #7079 )
...
Other than modularizing the split evaluation function, this PR also removes some more functions including `InitNewNodes` and `BuildNodeStats` among some other unused variables. Also, scattered code like setting leaf weights is grouped into the split evaluator and `NodeEntry` is simplified and made private. Another subtle difference with the original implementation is that the modified code doesn't call `tree[nidx].Parent()` to traversal upward.
2021-07-07 15:16:25 +08:00
Jiaming Yuan
f937f514aa
Remove lz4 compression with external memory. ( #7076 )
2021-07-06 14:46:43 +08:00
Jiaming Yuan
116d711815
Make SimpleDMatrix ctor reusable. ( #7075 )
2021-07-06 13:38:24 +08:00
Jiaming Yuan
d7e1fa7664
Fix feature names and types in output model slice. ( #7078 )
2021-07-06 11:47:49 +08:00
Jiaming Yuan
ffa66aace0
Persist data in dask test. ( #7077 )
2021-07-06 11:47:17 +08:00
Jiaming Yuan
b56d3d5d5c
Fix with latest panda range index. ( #7074 )
2021-07-03 16:43:52 +08:00
Jiaming Yuan
93f3acdef9
Fix with latest pylint. ( #7071 )
2021-07-02 21:26:00 +08:00
Jiaming Yuan
a5d222fcdb
Handle categorical split in model histogram and dataframe. ( #7065 )
...
* Error on get_split_value_histogram when feature is categorical
* Add a category column to output dataframe
2021-07-02 13:10:36 +08:00
Jiaming Yuan
1cd20efe68
Move GHistIndex into DMatrix. ( #7064 )
2021-07-01 00:44:49 +08:00
Jiaming Yuan
1c8fdf2218
Remove use of device_idx in dh::LaunchN. ( #7063 )
...
It's an unused parameter, removing it can make the CI log more readable.
2021-06-29 11:37:26 +08:00
Jiaming Yuan
8fa32fdda2
Implement categorical data support for SHAP. ( #7053 )
...
* Add CPU implementation.
* Update GPUTreeSHAP.
* Add GPU implementation by defining custom split condition.
2021-06-25 19:02:46 +08:00
Jiaming Yuan and Philip Hyunsu Cho
663136aa08
Implement feature score for linear model. ( #7048 )
...
* Add feature score support for linear model.
* Port R interface to the new implementation.
* Add linear model support in Python.
Co-authored-by: Philip Hyunsu Cho <chohyu01@cs.washington.edu >
2021-06-25 14:34:02 +08:00
Jiaming Yuan
1d4d345634
Tests for dask skl categorical data support. ( #7054 )
2021-06-24 16:33:57 +08:00
Jiaming Yuan
da1ad798ca
Convert numpy float to Python float in feat score. ( #7047 )
2021-06-21 20:58:43 +08:00
Jiaming Yuan
bbfffb444d
Fix race condition in CPU shap. ( #7050 )
2021-06-21 10:03:15 +08:00
Jiaming Yuan
29f8fd6fee
Support categorical split in tree model dump. ( #7036 )
2021-06-18 16:46:20 +08:00
Jiaming Yuan
7968c0d051
Test on s390x. ( #7038 )
...
* Fix && remove unused parameter.
2021-06-18 14:55:08 +08:00
Jiaming Yuan
86715e4cd4
Support categorical data for dask functional interface and DQM. ( #7043 )
...
* Support categorical data for dask functional interface and DQM.
* Implement categorical data support for GPU GK-merge.
* Add support for dask functional interface.
* Add support for DQM.
* Get newer cupy.
2021-06-18 13:06:52 +08:00
Jiaming Yuan
7dd29ffd47
Implement feature score in GBTree. ( #7041 )
...
* Categorical data support.
* Eliminate text parsing during feature score computation.
2021-06-18 11:53:16 +08:00
Jiaming Yuan and Philip Hyunsu Cho
dcd84b3979
[CI] Configure RAPIDS, dask, modin ( #7033 )
...
Co-authored-by: Philip Hyunsu Cho <chohyu01@cs.washington.edu >
2021-06-18 10:27:51 +08:00
Jiaming Yuan
d9799b09d0
Categorical data support for cuDF. ( #7042 )
...
* Add support in DMatrix.
* Add support in DQM, except for iterator.
2021-06-17 13:54:33 +08:00
Jiaming Yuan
5c2d7a18c9
Parallel model dump for trees. ( #7040 )
2021-06-15 14:08:26 +08:00
Jiaming Yuan
1faad825f4
Remove appveyor badge. [skip ci] ( #7035 )
2021-06-11 14:37:18 +08:00
Jiaming Yuan
b56614e9b8
[R] Use new predict function. ( #6819 )
...
* Call new C prediction API.
* Add `strict_shape`.
* Add `iterationrange`.
* Update document.
2021-06-11 13:03:29 +08:00
Jiaming Yuan and Shvets Kirill
f79cc4a7a4
Implement categorical prediction for CPU and GPU predict leaf. ( #7001 )
...
* Categorical prediction with CPU predictor and GPU predict leaf.
* Implement categorical prediction for CPU prediction.
* Implement categorical prediction for GPU predict leaf.
* Refactor the prediction functions to have a unified get next node function.
Co-authored-by: Shvets Kirill <kirill.shvets@intel.com >
2021-06-11 10:11:45 +08:00
Jiaming Yuan
72f9daf9b6
Fix gpu_id with custom objective. ( #7015 )
2021-06-09 14:51:17 +08:00
Jiaming Yuan
7beb2f7fae
Hide symbols in CI build + hide symbols for C and CUDA ( #6798 )
...
* Hide symbols in CI build.
* Hide symbols for other languages.
2021-06-04 02:35:46 +08:00
Jiaming Yuan
c4b9f4f622
Add enable_categorical to sklearn. ( #7011 )
2021-06-04 02:29:14 +08:00
Jiaming Yuan
ee4f51a631
Support for all primitive types from array. ( #7003 )
...
* Change C API name.
* Test for all primitive types from array.
* Add native support for CPU 128 float.
* Convert boolean and float16 in Python.
* Fix dask version for now.
2021-06-01 08:34:48 +08:00
Jiaming Yuan
816b789bf0
Add predictor to skl constructor. ( #7000 )
2021-05-29 04:52:56 +08:00
Jiaming Yuan
89a49cf30e
Fix dask predict on DaskDMatrix with iteration_range. ( #7005 )
2021-05-29 04:43:12 +08:00
Jiaming Yuan
4cf95a6041
Support numpy array interface ( #6998 )
2021-05-27 16:08:22 +08:00
Jiaming Yuan
ab6fd304c4
[Python] Change development release postfix to dev ( #6988 )
2021-05-27 16:06:51 +08:00
Jiaming Yuan
29d6a5e2b8
[CI] Move appveyor tests to action ( #6986 )
...
* Drop support for VS14, use VS15 instead.
* Drop support for mingw.
* Remove debug build.
* Split up jvm tests.
* Split up Python tests.
2021-05-27 04:49:45 +08:00
Jiaming Yuan
86e60e3ba8
Guard against index error in prediction. ( #6982 )
...
* Remove `best_ntree_limit` from documents.
2021-05-25 23:24:59 +08:00
Jiaming Yuan
a4bc7ecf27
Restore R cache on github action. ( #6985 )
2021-05-25 18:53:44 +08:00
Jiaming Yuan
6e52aefb37
Revert OMP guard. ( #6987 )
...
The guard protects the global variable from being changed by XGBoost. But this leads to a
bug that the `n_threads` parameter is no longer used after the first iteration. This is
due to the fact that `omp_set_num_threads` is only called once in `Learner::Configure` at
the beginning of the training process.
The guard is still useful for `gpu_id`, since this is called all the times in our codebase
doesn't matter which iteration we are currently running.
2021-05-25 08:56:28 +08:00
Jiaming Yuan
cf06a266a8
[dask][doc] Wrap the example in main guard. ( #6979 )
2021-05-25 08:24:47 +08:00
Jiaming Yuan
5cb51a191e
[dask][doc] Add small example for sklearn interface. ( #6970 )
2021-05-19 13:50:45 +08:00
Jiaming Yuan
7e846bb965
Fix prediction on df with latest dask. ( #6969 )
2021-05-19 12:23:03 +08:00
Jiaming Yuan
6e104f0570
Add news for 1.4.2. [skip ci] ( #6963 )
2021-05-17 02:50:55 +08:00
Jiaming Yuan
d245bc891e
Add tolerance to early stopping. ( #6942 )
2021-05-14 00:19:51 +08:00
Jiaming Yuan
44cc9c04ea
Fix multiclass auc with empty dataset. ( #6947 )
2021-05-12 15:01:14 +08:00
Jiaming Yuan
05ac415780
[dask] Set dataframe index in predict. ( #6944 )
2021-05-12 13:24:21 +08:00
Jiaming Yuan
37ad60fe25
Enforce input data is not object. ( #6927 )
...
* Check for object data type.
* Allow strided arrays with greater underlying buffer size.
2021-05-02 00:09:01 +08:00
Jiaming Yuan
a1d23f6613
Relax test for decision stump in distributed environment. ( #6919 )
2021-04-30 09:04:11 +08:00
Jiaming Yuan
45ddc39c1d
Relax shotgun test. ( #6918 )
2021-04-30 09:03:12 +08:00
Jiaming Yuan
34df1f588b
Reduce Travis environment setup time. ( #6912 )
...
* Remove unused r from travis.
* Don't update homebrew.
* Don't install indirect/unused dependencies like libgit2, wget, openssl.
* Move graphviz installation to conda.
2021-04-30 09:02:40 +08:00
Jiaming Yuan
b31d37eac5
[CI] Fix custom metric test with empty dataset. ( #6917 )
2021-04-30 09:00:05 +08:00
Jiaming Yuan
db6285fb55
[CI] Skip external memory gtest on osx. ( #6901 )
2021-04-30 08:59:33 +08:00
Jiaming Yuan
ef473b1f09
Disable pylint error. ( #6911 )
2021-04-29 01:01:37 +08:00
Jiaming Yuan
8760ec4827
Ensure predict leaf output 1-dim vector where there's only 1 tree. ( #6889 )
2021-04-23 15:07:48 +08:00
Jiaming Yuan
54afa3ac7a
Relax shotgun test. ( #6900 )
...
It's non-deterministic algorithm, the test is flaky.
2021-04-23 13:01:44 +08:00
Jiaming Yuan
a2ecbdaa31
Add an API guard to prevent global variables being changed. ( #6891 )
2021-04-23 10:27:57 +08:00
Jiaming Yuan and Philip Hyunsu Cho
896aede340
Reorganize the installation documents. ( #6877 )
...
* Split up installation and building from source.
* Use consistent section titles.
Co-authored-by: Philip Hyunsu Cho <chohyu01@cs.washington.edu >
2021-04-22 04:48:32 +08:00
Jiaming Yuan
74b41637de
Revert "[jvm-packages] Add XGBOOST_RABIT_TRACKER_IP_FOR_TEST to set rabit tracker IP. ( #6869 )" ( #6886 )
...
This reverts commit 2828da3c4c .
2021-04-21 11:20:10 -07:00
Jiaming Yuan
233bdf105f
Remove setDaemon in tracker. ( #6872 )
2021-04-22 01:57:13 +08:00
Jiaming Yuan
71b938f608
1.4.1 release news. ( #6876 )
2021-04-22 01:55:57 +08:00
Jiaming Yuan
146549260a
Bump version to 1.5.0 snapshot in master. ( #6875 )
2021-04-22 01:53:44 +08:00
Jiaming Yuan
bec2b4f094
Revert "Use CPU input for test_boost_from_prediction. ( #6818 )" ( #6858 )
...
This reverts commit 74f3a2f4b5 .
2021-04-20 14:54:02 +08:00
Jiaming Yuan
556a83022d
Implement unified update prediction cache for (gpu_)hist. ( #6860 )
...
* Implement utilites for linalg.
* Unify the update prediction cache functions.
* Implement update prediction cache for multi-class gpu hist.
2021-04-17 00:29:34 +08:00
Jiaming Yuan
1b26a2a561
Copy output data for argsort. ( #6866 )
...
Fix GPU AUC.
2021-04-16 21:05:01 +08:00
Jiaming Yuan
a5d7094a45
Update documents. ( #6856 )
...
* Add early stopping section to prediction doc.
* Remove best_ntree_limit.
* Better doxygen output.
2021-04-16 12:41:03 +08:00
Jiaming Yuan
bccb7e87d1
Update dmlc-core. ( #6862 )
...
* Install pandoc, pandoc-citeproc on CI.
2021-04-16 00:14:17 +08:00
Jiaming Yuan
dee5ef2dfd
Typehint for Sklearn. ( #6799 )
2021-04-14 06:55:21 +08:00
Jiaming Yuan
3d919db0c0
Fix pip release script. [skip ci] ( #6845 )
2021-04-14 06:46:02 +08:00
Jiaming Yuan
b9a4f3336a
1.4 release notes. ( #6843 )
2021-04-13 08:38:27 +08:00
Jiaming Yuan
f294c4e023
Use constexpr in dh::CopyIf. ( #6828 )
2021-04-08 07:37:47 +08:00
Jiaming Yuan
7bcc8b3e5c
Use batched copy if. ( #6826 )
2021-04-06 10:34:04 +08:00
Jiaming Yuan
7e06c81894
Fix approximated predict contribution. ( #6811 )
2021-04-03 02:15:03 +08:00
Jiaming Yuan
0cced530ea
[doc] Clarify prediction function. ( #6813 )
2021-04-03 02:12:04 +08:00
Jiaming Yuan
b1fdb220f4
Remove deprecated n_gpus parameter. ( #6821 )
2021-04-02 03:02:32 +08:00
Jiaming Yuan
74f3a2f4b5
Use CPU input for test_boost_from_prediction. ( #6818 )
2021-04-02 00:11:35 +08:00
Jiaming Yuan and Philip Hyunsu Cho
47b62480af
More general predict proba. ( #6817 )
...
* Use `output_margin` for `softmax`.
* Add test for dask binary cls.
Co-authored-by: Philip Hyunsu Cho <chohyu01@cs.washington.edu >
2021-04-01 19:52:12 +08:00
Jiaming Yuan
a5c852660b
Update document for sklearn model IO. ( #6809 )
...
* Update the use of JSON.
* Remove unnecessary type cast.
2021-04-01 15:52:36 +08:00
Jiaming Yuan
905fdd3e08
Fix typos in AUC. ( #6795 )
2021-03-31 16:35:42 +08:00