amdsc21
7fbc561e17
initial merge
2023-03-25 04:31:55 +01:00
Jiaming Yuan
151882dd26
Initial support for multi-target tree. ( #8616 )
...
* Implement multi-target for hist.
- Add new hist tree builder.
- Move data fetchers for tests.
- Dispatch function calls in gbm base on the tree type.
2023-03-22 23:49:56 +08:00
Jiaming Yuan
a05799ed39
Specify char type in JSON. ( #8949 )
...
char is defined as signed on x86 but unsigned on arm64
- Use `std::int8_t` instead of char.
- Fix include when clang is pretending to be gcc.
2023-03-22 19:13:44 +08:00
Rong Ou
b240f055d3
Support vertical federated learning ( #8932 )
2023-03-22 14:25:26 +08:00
Jiaming Yuan
72e8331eab
Reimplement the NDCG metric. ( #8906 )
...
- Add support for non-exp gain.
- Cache the DMatrix object to avoid re-calculating the IDCG.
- Make GPU implementation deterministic. (no atomic add)
2023-03-15 03:26:17 +08:00
Jiaming Yuan
910ce580c8
Clear all cache after model load. ( #8904 )
2023-03-14 22:09:36 +08:00
Jiaming Yuan
9bade7203a
Remove public access to tree model param. ( #8902 )
...
* Make tree model param a private member.
* Number of features and targets are immutable after construction.
This is to reduce the number of places where we can run configuration.
2023-03-13 20:55:10 +08:00
Jiaming Yuan
36a7396658
Replace dmlc any with std any. ( #8892 )
2023-03-11 06:11:04 +08:00
amdsc21
f0b8c02f15
merge latest changes
2023-03-10 22:10:20 +01:00
Jiaming Yuan
2aa838c75e
Define multi-strategy parameter. ( #8890 )
2023-03-11 02:58:01 +08:00
Jiaming Yuan
6deaec8027
Pass obj info by reference instead of by value. ( #8889 )
...
- Pass obj info into tree updater as const pointer.
This way we don't have to initialize the learner model param before configuring gbm, hence
breaking up the dependency of configurations.
2023-03-11 01:38:28 +08:00
amdsc21
9f072b50ba
fix __popc
2023-03-10 17:14:31 +01:00
Jiaming Yuan
5feee8d4a9
Define core multi-target regression tree structure. ( #8884 )
...
- Define a new tree struct embedded in the `RegTree`.
- Provide dispatching functions in `RegTree`.
- Fix some c++-17 warnings about the use of nodiscard (currently we disable the warning on
the CI).
- Use uint32_t instead of size_t for `bst_target_t` as it has a defined size and can be used
as part of dmlc parameter.
- Hide the `Segment` struct inside the categorical split matrix.
2023-03-09 19:03:06 +08:00
amdsc21
7e1b06417b
finish gbtree.cu porting
2023-03-08 21:09:56 +01:00
amdsc21
75712b9c3c
enable HIP flags
2023-03-08 01:10:07 +01:00
Jiaming Yuan
f236640427
Support F order for the tensor type. ( #8872 )
...
- Add F order support for tensor and view.
- Use parameter pack for automatic type cast. (avoid excessive static cast for shape).
2023-03-08 03:27:49 +08:00
Jiaming Yuan
228a46e8ad
Support learning rate for zero-hessian objectives. ( #8866 )
2023-03-06 20:33:28 +08:00
Jiaming Yuan
4d665b3fb0
Restore clang tidy test. ( #8861 )
2023-03-03 13:47:04 -08:00
Rong Ou
7cbaee9916
Support column split in approx tree method ( #8847 )
2023-03-02 03:59:07 +08:00
Jiaming Yuan
d54ef56f6f
Fix cache with gc ( #8851 )
...
- Make DMatrixCache thread-safe.
- Remove the use of thread-local memory.
2023-03-01 00:39:06 +08:00
Mauro Leggieri
90c0633a28
Fixes compilation errors on MSVC x86 targets ( #8823 )
2023-02-26 03:20:28 +08:00
Rong Ou
a65ad0bd9c
Support column split in histogram builder ( #8811 )
2023-02-17 22:37:01 +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
594371e35b
Fix CPP lint. ( #8807 )
2023-02-15 20:16:35 +08:00
Jiaming Yuan
81b2ee1153
Pass DMatrix into metric for caching. ( #8790 )
2023-02-13 22:15:05 +08:00
Jiaming Yuan
d11a0044cf
Generalize prediction cache. ( #8783 )
...
* Extract most of the functionality into `DMatrixCache`.
* Move API entry to independent file to reduce dependency on `predictor.h` file.
* Add test.
---------
Co-authored-by: Philip Hyunsu Cho <chohyu01@cs.washington.edu>
2023-02-13 12:36:43 +08:00
Jiaming Yuan
199c421d60
Send default configuration from metric to objective. ( #8760 )
2023-02-09 20:18:07 +08:00
Jiaming Yuan
5f76edd296
Extract make metric name from ranking metric. ( #8768 )
...
- Extract the metric parsing routine from ranking.
- Add a test.
- Accept null for string view.
2023-02-09 18:30:21 +08:00
Rong Ou
66191e9926
Support cpu quantile sketch with column-wise data split ( #8742 )
2023-02-05 14:26:24 +08:00
Jiaming Yuan
c1786849e3
Use array interface for CSC matrix. ( #8672 )
...
* Use array interface for CSC matrix.
Use array interface for CSC matrix and align the interface with CSR and dense.
- Fix nthread issue in the R package DMatrix.
- Unify the behavior of handling `missing` with other inputs.
- Unify the behavior of handling `missing` around R, Python, Java, and Scala DMatrix.
- Expose `num_non_missing` to the JVM interface.
- Deprecate old CSR and CSC constructors.
2023-02-05 01:59:46 +08:00
Jiaming Yuan
e49e0998c0
Extract CPU sampling routines. ( #8697 )
2023-01-19 23:28:18 +08:00
Jiaming Yuan
43152657d4
Extract JSON type check. ( #8677 )
...
- Reuse it in `GetMissing`.
- Add test.
2023-01-17 03:11:07 +08:00
Jiaming Yuan
9f598efc3e
Rename context in Metric. ( #8686 )
2023-01-17 01:10:13 +08:00
Jiaming Yuan
0ae8df9a65
Define default ctors for gpair. ( #8660 )
...
* Define default ctors for gpair.
Fix clang warning:
Definition of implicit copy assignment operator for 'GradientPairInternal<float>' is
deprecated because it has a user-declared copy constructor
2023-01-16 22:52:13 +08:00
James Lamb
292df67824
[R] remove unused define XGBOOST_CUSTOMIZE_LOGGER ( #8647 )
2023-01-15 02:29:25 +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
beefd28471
Split up SHAP from RegTree. ( #8612 )
...
* Split up SHAP from `RegTree`.
Simplify the tree interface.
2023-01-04 18:17:47 +08:00
Jiaming Yuan
8d545ab2a2
Implement fit stump. ( #8607 )
2023-01-04 04:14:51 +08:00
Rong Ou
3ceeb8c61c
Add data split mode to DMatrix MetaInfo ( #8568 )
2022-12-25 20:37:37 +08:00
Jiaming Yuan
c6a8754c62
Define CUDA Context. ( #8604 )
...
We will transition to non-default and non-blocking CUDA stream.
2022-12-20 15:15:07 +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
Rong Ou
78d65a1928
Initial support for column-wise data split ( #8468 )
2022-12-04 01:37:51 +08:00
Jiaming Yuan
3fc1046fd3
Reduce compiler warnings on CPU-only build. ( #8483 )
2022-11-29 00:04:16 +08:00
Rong Ou
30b1a26fc0
Remove unused page size constant ( #8457 )
2022-11-17 11:41:39 +08:00
Gavin Zhang
0c6266bc4a
SO_DOMAIN do not support on IBM i, using getsockname instead ( #8437 )
...
Co-authored-by: GavinZhang <zhanggan@cn.ibm.com>
2022-11-10 23:54:57 +08:00
Rong Ou
8e76f5f595
Use DataSplitMode to configure data loading ( #8434 )
...
* Use `DataSplitMode` to configure data loading
2022-11-08 16:21:50 +08:00
Jiaming Yuan
a408c34558
Update JSON parser demo with categorical feature. ( #8401 )
...
- Parse categorical features in the Python example.
- Add tests.
- Update document.
2022-10-28 20:57:43 +08:00
Jiaming Yuan
f73520bfff
Bump development version to 2.0. ( #8390 )
2022-10-28 15:21:19 +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