🚨 Breaking Changes
- Fix indexing of PCA to use safer types (#4255) @lowener
- RF: Add Gamma and Inverse Gaussian loss criteria (#4216) @venkywonka
- update RF docs (#4138) @venkywonka
🐛 Bug Fixes
- Update conda recipe to have explicit libcusolver (#4392) @dantegd
- Restore FIL convention of inlining code (#4366) @levsnv
- Fix SVR intercept AttributeError (#4358) @lowener
- Fix
is_stable_build
logic for CI scripts (#4350) @ajschmidt8 - Temporarily disable rmm devicebuffer in array.py (#4333) @dantegd
- Fix categorical test in python (#4326) @levsnv
- Revert "Merge pull request #4319 from AyodeAwe/branch-21.12" (#4325) @ajschmidt8
- Preserve indexing in methods when applied to DataFrame and Series objects (#4317) @dantegd
- Fix potential CUDA context poison when negative (invalid) categories provided to FIL model (#4314) @levsnv
- Using sparse expanded distances where possible (#4310) @cjnolet
- Fix for
mean_squared_error
(#4287) @viclafargue - Fix for Categorical Naive Bayes sparse handling (#4277) @lowener
- Throw an explicit excpetion if the input array is empty in DBSCAN.fit #4273 (#4275) @viktorkovesd
- Fix KernelExplainer returning TypeError for certain input (#4272) @Nanthini10
- Remove most warnings from pytest suite (#4196) @dantegd
📖 Documentation
- Add experimental GPUTreeSHAP to API doc (#4398) @hcho3
- Fix GLM typo on device/host pointer (#4320) @lowener
- update RF docs (#4138) @venkywonka
🚀 New Features
- Add GPUTreeSHAP to cuML explainer module (experimental) (#4351) @hcho3
- Enable training single GPU cuML models using Dask DataFrames and Series (#4300) @ChrisJar
- LinearSVM using QN solvers (#4268) @achirkin
- Add support for exogenous variables to ARIMA (#4221) @Nyrio
- Use opt-in shared memory carveout for FIL (#3759) @levsnv
- Symbolic Regression/Classification C/C++ (#3638) @vimarsh6739
🛠️ Improvements
- Fix Changelog Merge Conflicts for
branch-21.12
(#4393) @ajschmidt8 - Pin max
dask
anddistributed
to2012.11.2
(#4390) @galipremsagar - Fix forward merge #4349 (#4374) @dantegd
- Upgrade
clang
to11.1.0
(#4372) @galipremsagar - Update clang-format version in docs; allow unanchored version string (#4365) @zbjornson
- Add CUDA 11.5 developer environment (#4364) @dantegd
- Fix aliasing violation in t-SNE (#4363) @zbjornson
- Promote FITSNE from experimental (#4361) @lowener
- Fix unnecessary f32/f64 conversions in t-SNE KL calc (#4331) @zbjornson
- Update rapids-cmake version (#4330) @dantegd
- rapids-cmake version update to 21.12 (#4327) @dantegd
- Use compute-sanitizer instead of cuda-memcheck (#4324) @teju85
- Ability to pass fp64 type to cuml benchmarks (#4323) @teju85
- Split treelite fil import from
forest
object definition (#4306) @levsnv - update xgboost version (#4301) @msadang
- Accounting for RAFT updates to matrix, stats, and random implementations in detail (#4294) @divyegala
- Update cudf matrix calls for to_numpy and to_cupy (#4293) @dantegd
- Update
conda
recipes for Enhanced Compatibility effort (#4288) @ajschmidt8 - Increase parallelism from 4 to 8 jobs in CI (#4286) @dantegd
- RAFT distance prims public API update (#4280) @cjnolet
- Update to UCX-Py 0.23 (#4274) @pentschev
- In FIL, clip blocks_per_sm to one wave instead of asserting (#4271) @levsnv
- Update of "Gracefully accept 'n_jobs', a common sklearn parameter, in NearestNeighbors Estimator" (#4267) @NV-jpt
- Improve numerical stability of the Kalman filter for ARIMA (#4259) @Nyrio
- Fix indexing of PCA to use safer types (#4255) @lowener
- Change calculation of ARIMA confidence intervals (#4248) @Nyrio
- Unpin
dask
&distributed
in CI (#4235) @galipremsagar - RF: Add Gamma and Inverse Gaussian loss criteria (#4216) @venkywonka
- Exposing KL divergence in TSNE (#4208) @viclafargue
- Unify template parameter dispatch for FIL inference and shared memory footprint estimation (#4013) @levsnv