Hendrik Groove
4a10135006
validate label debug
2024-10-20 18:11:03 +02:00
Hendrik Groove
f54355f470
fix path
2024-10-20 17:56:27 +02:00
Hendrik Groove
08f3936bc9
fix path
2024-10-20 17:51:05 +02:00
Hendrik Groove
f50d5344f3
get gradient error logging
2024-10-20 17:40:52 +02:00
Hendrik Groove
fd95be5f20
validate label logging
2024-10-20 17:32:22 +02:00
Hui Liu
968dbf25fb
merge latest changes
2024-03-12 09:13:09 -07:00
Jiaming Yuan
5ac233280e
Require context in aggregators. ( #10075 )
2024-02-28 03:12:42 +08:00
Hui Liu
1e1e8be3a5
merge latest, Jan 12 2024
2024-01-12 09:57:11 -08:00
Hui Liu
2d7ffbdf3d
merge latest changes
2023-12-13 21:06:28 -08:00
Dmitry Razdoburdin
43897b8296
Sycl implementation for objective functions ( #9846 )
...
---------
Co-authored-by: Dmitry Razdoburdin <>
2023-12-12 14:41:50 +08:00
Jiaming Yuan
42de9206fc
Support multi-target, fit intercept for hinge. ( #9850 )
2023-12-08 05:50:41 +08:00
Jiaming Yuan
1877cb8e83
Change default metric for gamma regression to deviance. ( #9757 )
...
* Change default metric for gamma regression to deviance.
- Cleanup the gamma implementation.
- Use deviance instead since the objective is derived from deviance.
2023-11-22 21:17:48 +08:00
Hui Liu
15421e40d9
enable ROCm on latest XGBoost
2023-10-23 11:07:08 -07:00
Dmitry Razdoburdin
ea9f09716b
Reorder if-else statements to allow using of cpu branches for sycl-devices ( #9682 )
2023-10-18 10:55:33 +08:00
Your Name
ea19555474
temp merge, disable 1 line, SetValid
2023-10-12 16:16:44 -07:00
Jiaming Yuan
8c676c889d
Remove internal use of gpu_id. ( #9568 )
2023-09-20 23:29:51 +08:00
Jiaming Yuan
300f9ace06
Fix default metric configuration. ( #9575 )
2023-09-13 13:05:47 -07:00
Jiaming Yuan
ddf2e68821
Use the new DeviceOrd in the linalg module. ( #9527 )
2023-08-29 13:37:29 +08:00
Jiaming Yuan
972730cde0
Use matrix for gradient. ( #9508 )
...
- Use the `linalg::Matrix` for storing gradients.
- New API for the custom objective.
- Custom objective for multi-class/multi-target is now required to return the correct shape.
- Custom objective for Python can accept arrays with any strides. (row-major, column-major)
2023-08-24 05:29:52 +08:00
amdsc21
5446c501af
merge 23Mar01
2023-05-02 00:05:58 +02:00
Rong Ou
8dbe0510de
More collective aggregators ( #9060 )
2023-04-22 03:32:05 +08:00
amdsc21
08bc4b0c0f
Merge branch 'master' into sync-condition-2023Apr11
2023-04-11 19:38:38 +02:00
Rong Ou
15e073ca9d
Make objectives work with vertical distributed and federated learning ( #9002 )
2023-04-03 17:07:42 +08:00
amdsc21
7ee4734d3a
rm device_helpers.hip.h from cu
2023-03-26 00:24:11 +01:00
amdsc21
968a1db4c0
finish regression_obj.cu
2023-03-10 06:07:53 +01:00
Jiaming Yuan
228a46e8ad
Support learning rate for zero-hessian objectives. ( #8866 )
2023-03-06 20:33:28 +08:00
Jiaming Yuan
cce4af4acf
Initial support for quantile loss. ( #8750 )
...
- Add support for Python.
- Add objective.
2023-02-16 02:30:18 +08:00
Jiaming Yuan
282b1729da
Specify the number of threads for parallel sort. ( #8735 )
...
* Specify the number of threads for parallel sort.
- Pass context object into argsort.
- Replace macros with inline functions.
2023-02-16 00:20:19 +08:00
Jiaming Yuan
c7c485d052
Extract fit intercept. ( #8793 )
2023-02-15 22:41:31 +08:00
Jiaming Yuan
28bb01aa22
Extract optional weight. ( #8747 )
...
- Extract optional weight from coommon.h to reduce dependency on this header.
- Add test.
2023-02-07 03:11:53 +08:00
Jiaming Yuan
cfa994d57f
Multi-target support for L1 error. ( #8652 )
...
- Add matrix support to the median function.
- Iterate through each target for quantile computation.
2023-01-11 05:51:14 +08:00
Jiaming Yuan
badeff1d74
Init estimation for regression. ( #8272 )
2023-01-11 02:04:56 +08:00
Jiaming Yuan
8d545ab2a2
Implement fit stump. ( #8607 )
2023-01-04 04:14:51 +08:00
Jiaming Yuan
3e26107a9c
Rename and extract Context. ( #8528 )
...
* Rename `GenericParameter` to `Context`.
* Rename header file to reflect the change.
* Rename all references.
2022-12-07 04:58:54 +08:00
Jiaming Yuan
031d66ec27
Configuration for init estimation. ( #8343 )
...
* Configuration for init estimation.
* Check whether the model needs configuration based on const attribute `ModelFitted`
instead of a mutable state.
* Add parameter `boost_from_average` to tell whether the user has specified base score.
* Add tests.
2022-10-18 01:52:24 +08:00
Rong Ou
668b8a0ea4
[Breaking] Switch from rabit to the collective communicator ( #8257 )
...
* Switch from rabit to the collective communicator
* fix size_t specialization
* really fix size_t
* try again
* add include
* more include
* fix lint errors
* remove rabit includes
* fix pylint error
* return dict from communicator context
* fix communicator shutdown
* fix dask test
* reset communicator mocklist
* fix distributed tests
* do not save device communicator
* fix jvm gpu tests
* add python test for federated communicator
* Update gputreeshap submodule
Co-authored-by: Hyunsu Philip Cho <chohyu01@cs.washington.edu>
2022-10-05 14:39:01 -08:00
Jiaming Yuan
fffb1fca52
Calculate base_score based on input labels for mae. ( #8107 )
...
Fit an intercept as base score for abs loss.
2022-09-20 20:53:54 +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
Philip Hyunsu Cho
4cd14aee5a
Rename misspelled config parameter for pseudo-Huber ( #7904 )
2022-05-15 06:38:33 -07: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
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
6967ef7267
Remove omp_get_max_threads in objective. ( #7589 )
2022-01-24 04:35:49 +08:00
Jiaming Yuan
58a6723eb1
Initial support for multioutput regression. ( #7514 )
...
* Add num target model parameter, which is configured from input labels.
* Change elementwise metric and indexing for weights.
* Add demo.
* Add tests.
2021-12-18 09:28:38 +08:00
Jiaming Yuan
5b1161bb64
Convert labels into tensor. ( #7456 )
...
* Add a new ctor to tensor for `initilizer_list`.
* Change labels from host device vector to tensor.
* Rename the field from `labels_` to `labels` since it's a public member.
2021-12-17 00:58:35 +08:00
Jiaming Yuan
4100827971
Pass infomation about objective to tree methods. ( #7385 )
...
* Define the `ObjInfo` and pass it down to every tree updater.
2021-11-04 01:52:44 +08:00
ShvetsKS
475fd1abec
Reduced span overheads in objective function calculate ( #7206 )
...
Co-authored-by: fis <jm.yuan@outlook.com>
2021-09-23 04:43:59 +08:00
Jiaming Yuan
abec3dbf6d
Fix thread safety of softmax prediction. ( #7104 )
2021-07-16 02:06:55 +08:00
Andrew Ziem
3e7e426b36
Fix spelling in documents ( #6948 )
...
* Update roxygen2 doc.
Co-authored-by: fis <jm.yuan@outlook.com>
2021-05-11 20:44:36 +08:00
Jiaming Yuan
1d90577800
Verify strictly positive labels for gamma regression. ( #6778 )
...
Co-authored-by: Philip Hyunsu Cho <chohyu01@cs.washington.edu>
2021-03-25 11:46:52 +08:00
Louis Desreumaux
9b530e5697
Improve OpenMP exception handling ( #6680 )
2021-02-25 13:56:16 +08:00