Jiaming Yuan
1b70a323a7
Improve string view to reduce string allocation. ( #6644 )
2021-01-27 19:08:52 +08:00
Jiaming Yuan
bc08e0c9d1
Remove experimental_json_serialization from tests. ( #6640 )
2021-01-27 17:44:49 +08:00
Jiaming Yuan
8968ca7c0a
Disable s390x and arm64 tests on travis for now. ( #6641 )
2021-01-27 16:21:40 +08:00
Jiaming Yuan
d19a0ddacf
Move sdist test to action. ( #6635 )
...
* Move x86 linux and osx sdist test to action.
* Add Windows.
2021-01-26 08:25:59 +08:00
Jiaming Yuan
740d042255
Add base_margin for evaluation dataset. ( #6591 )
...
* Add base margin to evaluation datasets.
* Unify the code base for evaluation matrices.
2021-01-26 02:11:02 +08:00
Jiaming Yuan
4bf23c2391
Specify shape in prediction contrib and interaction. ( #6614 )
2021-01-26 02:08:22 +08:00
Jiaming Yuan
8942c98054
Define metainfo and other parameters for all DMatrix interfaces. ( #6601 )
...
This PR ensures all DMatrix types have a common interface.
* Fix logic in avoiding duplicated DMatrix in sklearn.
* Check for consistency between DMatrix types.
* Add doc for bounds.
2021-01-25 16:06:06 +08:00
Jiaming Yuan
561809200a
Fix document for tree methods. ( #6633 )
2021-01-25 15:52:08 +08:00
Jiaming Yuan
a275f40267
[dask] Rework base margin test. ( #6627 )
2021-01-22 17:49:13 +08:00
Jiaming Yuan
7bc56fa0ed
Use simple print in tracker print function. ( #6609 )
2021-01-21 21:15:43 +08:00
Jiaming Yuan
26982f9fce
Skip unused CMake argument in setup.py ( #6611 )
2021-01-21 17:25:33 +08:00
Jiaming Yuan
f0fd7629ae
Add helper script and doc for releasing pip package. ( #6613 )
...
* Fix `long_description_content_type`.
2021-01-21 14:46:52 +08:00
Jiaming Yuan
f8bb678c67
Exclude dmlc test on github action. ( #6625 )
2021-01-20 18:50:20 +08:00
Jiaming Yuan
d6d72de339
Revert ntree limit fix ( #6616 )
...
The old (before fix) best_ntree_limit ignores the num_class parameters, which is incorrect. In before we workarounded it in c++ layer to avoid possible breaking changes on other language bindings. But the Python interpretation stayed incorrect. The PR fixed that in Python to consider num_class, but didn't remove the old workaround, so tree calculation in predictor is incorrect, see PredictBatch in CPUPredictor.
2021-01-19 23:51:16 +08:00
Jiaming Yuan
d132933550
Remove type check for solaris. ( #6610 )
2021-01-16 02:58:19 +08:00
Jiaming Yuan
d356b7a071
Restore unknown data support. ( #6595 )
2021-01-14 04:51:16 +08:00
Jiaming Yuan
89a00a5866
[dask] Random forest estimators ( #6602 )
2021-01-13 20:59:20 +08:00
Jiaming Yuan
0027220aa0
[breaking] Remove duplicated predict functions, Fix attributes IO. ( #6593 )
...
* Fix attributes not being restored.
* Rename all `data` to `X`. [breaking]
2021-01-13 16:56:49 +08:00
Jiaming Yuan
03cd087da1
Remove duplicated DMatrix. ( #6592 )
2021-01-12 09:36:56 +08:00
Jiaming Yuan
c709f2aaaf
Fix evaluation result for XGBRanker. ( #6594 )
...
* Remove duplicated code, which fixes typo `evals_result` -> `evals_result_`.
2021-01-12 09:36:41 +08:00
Jiaming Yuan
f2f7dd87b8
Use view for SparsePage exclusively. ( #6590 )
2021-01-11 18:04:55 +08:00
Jiaming Yuan
78f2cd83d7
Suppress hypothesis health check for dask client. ( #6589 )
2021-01-11 14:11:57 +08:00
Jiaming Yuan
80065d571e
[dask] Add DaskXGBRanker ( #6576 )
...
* Initial support for distributed LTR using dask.
* Support `qid` in libxgboost.
* Refactor `predict` and `n_features_in_`, `best_[score/iteration/ntree_limit]`
to avoid duplicated code.
* Define `DaskXGBRanker`.
The dask ranker doesn't support group structure, instead it uses query id and
convert to group ptr internally.
2021-01-08 18:35:09 +08:00
Jiaming Yuan
96d3d32265
[dask] Add shap tests. ( #6575 )
2021-01-08 14:59:27 +08:00
Jiaming Yuan
7c9dcbedbc
Fix best_ntree_limit for dart and gblinear. ( #6579 )
2021-01-08 10:05:39 +08:00
Jiaming Yuan
f5ff90cd87
Support _estimator_type. ( #6582 )
...
* Use `_estimator_type`.
For more info, see: https://scikit-learn.org/stable/developers/develop.html#estimator-types
* Model trained from dask can be loaded by single node skl interface.
2021-01-08 10:01:16 +08:00
Jiaming Yuan and Hyunsu Cho
8747885a8b
Support Solaris. ( #6578 )
...
* Add system header.
* Remove use of TR1 on Solaris
Co-authored-by: Hyunsu Cho <chohyu01@cs.washington.edu >
2021-01-07 09:05:05 +08:00
Jiaming Yuan
60cfd14349
[dask, sklearn] Fix predict proba. ( #6566 )
...
* For sklearn:
- Handles user defined objective function.
- Handles `softmax`.
* For dask:
- Use the implementation from sklearn, the previous implementation doesn't perform any extra handling.
2021-01-05 08:29:06 +08:00
Jiaming Yuan
516a93d25c
Fix best_ntree_limit. ( #6569 )
2021-01-03 05:58:54 +08:00
Jiaming Yuan
2b049b32e9
Document various tree methods. ( #6564 )
2021-01-02 15:40:46 +08:00
Jiaming Yuan
5e9e525223
Remove warnings in tests. ( #6554 )
2020-12-31 13:41:18 +08:00
Jiaming Yuan and Hyunsu Cho
de8fd852a5
[dask] Add type hints. ( #6519 )
...
* Add validate_features.
* Show type hints in doc.
Co-authored-by: Hyunsu Cho <chohyu01@cs.washington.edu >
2020-12-29 19:41:02 +08:00
Jiaming Yuan
610ee632cc
[Breaking] Rename data to X in predict_proba. ( #6555 )
...
New Scikit-Learn version uses keyword argument, and `X` is the predefined
keyword.
* Use pip to install latest Python graphviz on Windows CI.
2020-12-28 21:36:03 +08:00
Jiaming Yuan
cb207a355d
Add script for generating release tarball. ( #6544 )
2020-12-23 16:08:10 +08:00
Jiaming Yuan and Philip Hyunsu Cho
ca3da55de4
Support early stopping with training continuation, correct num boosted rounds. ( #6506 )
...
* Implement early stopping with training continuation.
* Add new C API for obtaining boosted rounds.
* Fix off by 1 in `save_best`.
Co-authored-by: Philip Hyunsu Cho <chohyu01@cs.washington.edu >
2020-12-17 19:59:19 +08:00
Jiaming Yuan
d8d684538c
[CI] Split up main.yml, add mypy. ( #6515 )
2020-12-17 00:15:44 +08:00
Jiaming Yuan
c5876277a8
Drop saving binary format for memory snapshot. ( #6513 )
2020-12-17 00:14:57 +08:00
Jiaming Yuan
0e97d97d50
Fix merge conflict. ( #6512 )
2020-12-16 18:02:25 +08:00
Jiaming Yuan
347f593169
Accept numpy array for DMatrix slice index. ( #6368 )
2020-12-16 14:42:52 +08:00
Jiaming Yuan and Philip Hyunsu Cho
ef4a0e0aac
Fix DMatrix feature names/types IO. ( #6507 )
...
* Fix feature names/types IO
Co-authored-by: Philip Hyunsu Cho <chohyu01@cs.washington.edu >
2020-12-16 14:24:27 +08:00
Jiaming Yuan
886486a519
Support categorical data in GPU weighted sketching. ( #6508 )
2020-12-16 14:23:28 +08:00
Jiaming Yuan
3c3f026ec1
Move metric configuration into booster. ( #6504 )
2020-12-16 05:35:04 +08:00
Jiaming Yuan
d45c0d843b
Show partition status in dask error. ( #6366 )
2020-12-16 02:58:21 +08:00
Jiaming Yuan
a30461cf87
[dask] Support all parameters in regressor and classifier. ( #6471 )
...
* Add eval_metric.
* Add callback.
* Add feature weights.
* Add custom objective.
2020-12-14 07:35:56 +08:00
Jiaming Yuan
0ffaf0f5be
Fix dask ip resolution. ( #6475 )
...
This adopts the solution used in dask/dask-xgboost#40 which employs the get_host_ip from dmlc-core tracker.
2020-12-07 16:36:23 -08:00
Jiaming Yuan
47b86180f6
Don't validate feature when number of rows is 0. ( #6472 )
2020-12-07 18:08:51 +08:00
Jiaming Yuan
703c2d06aa
Fix global config default value. ( #6470 )
2020-12-06 06:15:33 +08:00
Jiaming Yuan and Hyunsu Cho
d6386e45e8
Fix filtering callable objects in skl xgb param. ( #6466 )
...
Co-authored-by: Hyunsu Cho <chohyu01@cs.washington.edu >
2020-12-05 17:20:36 +08:00
Jiaming Yuan
927c316aeb
Fix period in evaluation monitor. ( #6441 )
2020-11-29 03:18:33 +08:00
Jiaming Yuan
f4ff1c53fd
Fix CLI ranking demo. ( #6439 )
...
Save model at final round.
2020-11-29 03:12:06 +08:00
Jiaming Yuan
42d31d9dcb
Fix MPI build. ( #6403 )
2020-11-21 13:38:21 +08:00
Jiaming Yuan
2ce2a1a4d8
[SKL] Propagate parameters to booster during set_param. ( #6416 )
2020-11-20 20:37:35 +08:00
Jiaming Yuan
00218d065a
[dask] Update document. [skip ci] ( #6413 )
2020-11-20 19:16:19 +08:00
Jiaming Yuan
c120822a24
Fix flaky sparse page dmatrix test. ( #6417 )
2020-11-20 19:15:45 +08:00
Jiaming Yuan
a7b42adb74
Fix dask predict ( #6412 )
2020-11-20 10:10:52 +08:00
Jiaming Yuan
44a9d69efb
Small cleanup to evaluator. ( #6400 )
2020-11-20 09:33:51 +08:00
Jiaming Yuan
3ac173fc8b
Fix typo. ( #6399 )
2020-11-16 16:59:12 -08:00
Jiaming Yuan
fcd6fad822
[dask] Small cleanup. ( #6391 )
2020-11-14 22:15:05 +08:00
Jiaming Yuan
4ccf92ea34
[dask] Fix union of workers. ( #6375 )
2020-11-13 16:55:05 +08:00
Jiaming Yuan
fcfeb4959c
Deprecate positional arguments. ( #6365 )
...
Deprecate positional arguments in following functions:
- `__init__` for all classes in sklearn module.
- `fit` method for all classes in sklearn module.
- dask interface.
- `set_info` for `DMatrix` class.
Refactor the evaluation matrices handling.
2020-11-13 11:10:30 +08:00
Jiaming Yuan
c1a62b5fa2
Expect gpu external memory to fail. ( #6381 )
2020-11-12 19:24:48 +08:00
Jiaming Yuan
c90f968d92
Update Python documents. ( #6376 )
2020-11-12 17:51:32 +08:00
Jiaming Yuan
d711d648cb
Fix label errors in graph visualization ( #6369 )
2020-11-11 17:44:59 -08:00
Jiaming Yuan
debeae2509
[R] Fix warnings from R check --as-cran ( #6374 )
...
* Remove exit and printf.
* Fix warnings.
2020-11-11 18:39:37 +08:00
Jiaming Yuan
6e12c2a6f8
[dask] Supoort running on GKE. ( #6343 )
...
* Avoid accessing `scheduler_info()['workers']`.
* Avoid calling `client.gather` inside task.
* Avoid using `client.scheduler_address`.
2020-11-11 18:04:34 +08:00
Jiaming Yuan
8a17610666
Implement GPU predict leaf. ( #6187 )
2020-11-11 17:33:47 +08:00
Jiaming Yuan and Philip Hyunsu Cho
a5cfa7841e
Run R check as cran on action. [skip ci] ( #6371 )
...
Co-authored-by: Philip Hyunsu Cho <chohyu01@cs.washington.edu >
2020-11-11 12:02:53 +08:00
Jiaming Yuan
43efadea2e
Deterministic data partitioning for external memory ( #6317 )
...
* Make external memory data partitioning deterministic.
* Change the meaning of `page_size` from bytes to number of rows.
* Design a data pool.
* Note for external memory.
* Enable unity build on Windows CI.
* Force garbage collect on test.
2020-11-11 06:11:06 +08:00
Jiaming Yuan
e65e3cf36e
Support shared library in system path. ( #6362 )
2020-11-10 16:04:25 +08:00
Jiaming Yuan
184e2eac7d
Add period to evaluation monitor. ( #6348 )
2020-11-10 07:47:48 +08:00
Jiaming Yuan
519cee115a
Avoid resetting seed for every configuration. ( #6349 )
2020-11-06 10:28:35 +08:00
Jiaming Yuan and Philip Hyunsu Cho
2cc9662005
Support slicing tree model ( #6302 )
...
This PR is meant the end the confusion around best_ntree_limit and unify model slicing. We have multi-class and random forests, asking users to understand how to set ntree_limit is difficult and error prone.
* Implement the save_best option in early stopping.
Co-authored-by: Philip Hyunsu Cho <chohyu01@cs.washington.edu >
2020-11-02 23:27:39 -08:00
Jiaming Yuan
7756192906
[dask] Fix prediction on DaskDMatrix with multiple meta data. ( #6333 )
...
* Unify the meta handling methods.
2020-11-02 19:18:44 -05:00
Jiaming Yuan
5a7b3592ed
Optional find_package for sanitizers. ( #6329 )
2020-11-02 19:17:17 -05:00
Jiaming Yuan
048acf81cd
Enable shap sparse test. ( #6332 )
2020-11-01 20:59:27 +08:00
Jiaming Yuan
6ff331b705
Fix Python callback. ( #6320 )
2020-10-30 05:03:44 +08:00
Jiaming Yuan
c80657b542
Fix flaky data initialization test. ( #6318 )
2020-10-30 03:11:22 +08:00
Jiaming Yuan
74ea82209b
Lazy import dask libraries. ( #6309 )
...
* Lazy import dask libraries.
* Lint && fix.
* Use short name.
2020-10-28 15:50:11 -07:00
Jiaming Yuan
dfac5f89e9
Group CLI demo into subdirectory. ( #6258 )
...
CLI is not most developed interface. Putting them into correct directory can help new users to avoid it as most of the use cases are from a language binding.
2020-10-28 14:40:44 -07:00
Jiaming Yuan
e8884c4637
Document tree method for feature weights. ( #6312 )
2020-10-28 13:42:13 -07:00
Jiaming Yuan
c4da967b5c
Support unity build. ( #6295 )
...
* Support unity build.
* Setup on Windows Jenkins.
* Revert "Setup on Windows Jenkins."
This reverts commit 8345cb8d2b009eec8ae9fa6f16412a7c9b6ec12c.
2020-10-28 11:49:28 -07:00
Jiaming Yuan
3310e208fd
Fix inplace prediction interval. ( #6259 )
...
* Add back the interval in call.
* Make the interval non-optional.
2020-10-28 13:13:59 +08:00
Jiaming Yuan
cc76724762
Reduce warning. ( #6273 )
2020-10-27 12:24:19 -07:00
Jiaming Yuan
b180223d18
Cleanup RABIT. ( #6290 )
...
* Remove recovery and MPI speed tests.
* Remove readme.
* Remove Python binding.
* Add checks in C API.
2020-10-27 08:48:22 +08:00
Jiaming Yuan
bcfab4d726
Revert "Disable JSON full serialization for now. ( #6248 )" ( #6266 )
...
This reverts commit 6d293020fb .
2020-10-27 03:30:47 +08:00
Jiaming Yuan
d61b628bf5
Remove RABIT CMake targets. ( #6275 )
...
* Now it's built as part of libxgboost.
* Set correct C API error in RABIT initialization and finalization.
* Remove redundant message.
* Guard the tracker print C API.
2020-10-27 01:30:20 +08:00
Jiaming Yuan and Hyunsu Cho
2686d32a36
Skip dask tests on ARM. ( #6267 )
...
Co-authored-by: Hyunsu Cho <chohyu01@cs.washington.edu >
2020-10-26 15:09:05 +08:00
Jiaming Yuan
b5c2a47b20
Drop single point model recovery ( #6262 )
...
* Pass rabit params in JVM package.
* Implement timeout using poll timeout parameter.
* Remove OOB data check.
2020-10-21 15:27:03 +08:00
Jiaming Yuan
81c37c28d5
Time the CPU tests on Jenkins. ( #6257 )
...
* Time the CPU tests on Jenkins.
* Reduce thread contention.
* Add doc.
* Skip heavy tests on ARM.
2020-10-20 17:19:07 -07:00
Jiaming Yuan
ddf37cca30
Unify thread configuration. ( #6186 )
2020-10-19 16:05:42 +08:00
Jiaming Yuan
5037abeb86
Fix linear gpu input ( #6255 )
2020-10-19 12:02:36 +08:00
Jiaming Yuan
6d293020fb
Disable JSON full serialization for now. ( #6248 )
...
* Disable JSON serialization for now.
* Multi-class classification is checkpointing for each iteration.
This brings significant overhead.
Revert: 90355b4f00
* Set R tests to use binary.
2020-10-16 17:59:54 +08:00
Jiaming Yuan
52452bebb9
Fix cls typo. ( #6247 )
2020-10-16 16:40:44 +08:00
Jiaming Yuan
3da5a69dc9
Fix typo in dask interface. ( #6240 )
2020-10-15 15:26:29 +08:00
Jiaming Yuan
bed7ae4083
Loop over thrust::reduce. ( #6229 )
...
* Check input chunk size of dqdm.
* Add doc for current limitation.
2020-10-14 10:40:56 +13:00
Jiaming Yuan
b05073bda5
[dask] Test for data initializaton. ( #6226 )
2020-10-13 11:08:35 +08:00
Jiaming Yuan
2443275891
Cleanup Python code. ( #6223 )
...
* Remove pathlike as XGBoost 1.2 requires Python 3.6.
* Move conditional import of dask/distributed into dask module.
2020-10-12 15:44:41 +08:00
Jiaming Yuan
70c2039748
Catch all standard exceptions in C API. ( #6220 )
...
* `std::bad_alloc` is not guaranteed to be caught.
2020-10-12 14:01:46 +08:00
Jiaming Yuan
2241563f23
Handle duplicated values in sketching. ( #6178 )
...
* Accumulate weights in duplicated values.
* Fix device id in iterative dmatrix.
2020-10-10 19:32:44 +08:00
Jiaming Yuan
ab5b35134f
Rework Python callback functions. ( #6199 )
...
* Define a new callback interface for Python.
* Deprecate the old callbacks.
* Enable early stopping on dask.
2020-10-10 17:52:36 +08:00