kernelboost 0.1.0__tar.gz → 0.2.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (33) hide show
  1. kernelboost-0.2.1/CHANGELOG.md +37 -0
  2. kernelboost-0.2.1/PKG-INFO +78 -0
  3. kernelboost-0.2.1/PYPI_README.md +56 -0
  4. kernelboost-0.1.0/kernelboost.egg-info/PKG-INFO → kernelboost-0.2.1/README.md +281 -279
  5. {kernelboost-0.1.0 → kernelboost-0.2.1}/kernelboost/__init__.py +1 -1
  6. {kernelboost-0.1.0 → kernelboost-0.2.1}/kernelboost/backend.py +0 -36
  7. {kernelboost-0.1.0 → kernelboost-0.2.1}/kernelboost/booster.py +96 -68
  8. {kernelboost-0.1.0 → kernelboost-0.2.1}/kernelboost/cpu_functions.py +11 -54
  9. {kernelboost-0.1.0 → kernelboost-0.2.1}/kernelboost/estimator.py +18 -30
  10. {kernelboost-0.1.0 → kernelboost-0.2.1}/kernelboost/gpu_functions.py +1 -19
  11. {kernelboost-0.1.0 → kernelboost-0.2.1}/kernelboost/kernels.c +3 -48
  12. {kernelboost-0.1.0 → kernelboost-0.2.1}/kernelboost/multiclassbooster.py +37 -35
  13. {kernelboost-0.1.0 → kernelboost-0.2.1}/kernelboost/optimizer.py +75 -11
  14. {kernelboost-0.1.0 → kernelboost-0.2.1}/kernelboost/tree.py +17 -50
  15. {kernelboost-0.1.0 → kernelboost-0.2.1}/kernelboost/utilities.py +1 -5
  16. kernelboost-0.2.1/kernelboost.egg-info/PKG-INFO +78 -0
  17. {kernelboost-0.1.0 → kernelboost-0.2.1}/kernelboost.egg-info/SOURCES.txt +1 -0
  18. {kernelboost-0.1.0 → kernelboost-0.2.1}/pyproject.toml +2 -2
  19. kernelboost-0.1.0/CHANGELOG.md +0 -15
  20. kernelboost-0.1.0/PKG-INFO +0 -279
  21. kernelboost-0.1.0/README.md +0 -257
  22. {kernelboost-0.1.0 → kernelboost-0.2.1}/LICENSE +0 -0
  23. {kernelboost-0.1.0 → kernelboost-0.2.1}/MANIFEST.in +0 -0
  24. {kernelboost-0.1.0 → kernelboost-0.2.1}/kernelboost/feature_selection.py +0 -0
  25. {kernelboost-0.1.0 → kernelboost-0.2.1}/kernelboost/kernels.cu +0 -0
  26. {kernelboost-0.1.0 → kernelboost-0.2.1}/kernelboost/libkernels.dll +0 -0
  27. {kernelboost-0.1.0 → kernelboost-0.2.1}/kernelboost/libkernels.so +0 -0
  28. {kernelboost-0.1.0 → kernelboost-0.2.1}/kernelboost/objectives.py +0 -0
  29. {kernelboost-0.1.0 → kernelboost-0.2.1}/kernelboost/rho_optimizer.py +0 -0
  30. {kernelboost-0.1.0 → kernelboost-0.2.1}/kernelboost.egg-info/dependency_links.txt +0 -0
  31. {kernelboost-0.1.0 → kernelboost-0.2.1}/kernelboost.egg-info/requires.txt +0 -0
  32. {kernelboost-0.1.0 → kernelboost-0.2.1}/kernelboost.egg-info/top_level.txt +0 -0
  33. {kernelboost-0.1.0 → kernelboost-0.2.1}/setup.cfg +0 -0
@@ -0,0 +1,37 @@
1
+ # Changelog
2
+
3
+ All notable changes to this project will be documented in this file.
4
+
5
+ ## [0.2.1] - 2026-03-01
6
+
7
+ ### Changed
8
+ - Replaced built-in variance estimation with Fan & Yao (1998) double kernel method. `predict_variance()` now fits dedicated KernelTrees on squared residuals instead of reusing mean-optimized kernel weights. Default aggregation changed from `'mean'` to `'max'`.
9
+ - Small bug fixes.
10
+
11
+ ### Removed
12
+ - Removed `_predict_with_variance()` from KernelEstimator, KernelTree, CompiledTree, and Backend.
13
+ - Removed `cuda_predict_with_variance()` and `cpu_predict_with_variance()` backend functions.
14
+ - Removed `predict_with_variance` C function from `kernels.c`.
15
+
16
+ ## [0.2.0] - 2026-02-21
17
+
18
+ ### Changed
19
+ - **Breaking**: Renamed API parameters for sklearn compatibility:
20
+ `rounds` to `n_estimators`, `max_tree_depth` to `max_depth`, `early_stopping_rounds` to `n_iter_no_change`
21
+ - Changed default `max_sample` and `min_sample` parameters to more sensible values
22
+
23
+ ### Added
24
+ - Pilot estimation method for precision search bounds (`precision_method='pilot-cv'`). Pilot estimated
25
+ bounds controlled by `pilot_factor` parameter passed on from KernelBooster and KernelTree to KernelEstimator.
26
+
27
+ ## [0.1.0] - 2026-02-10
28
+
29
+ ### Added
30
+ - Initial public release
31
+ - KernelBooster for 1d targets with support for MSE, entropy, and quantile objectives
32
+ - MulticlassBooster for multiclass classification
33
+ - GPU acceleration via CuPy
34
+ - Nadaraya-Watson kernel regression with LOO-CV bandwidth optimization
35
+ - Feature selection (random and smart selectors)
36
+ - Early stopping with validation loss monitoring
37
+ - Uncertainty quantification via prediction intervals and conditional variance prediction
@@ -0,0 +1,78 @@
1
+ Metadata-Version: 2.1
2
+ Name: kernelboost
3
+ Version: 0.2.1
4
+ Summary: Gradient boosting with kernel regression base learners
5
+ Author-email: tlaiho <tslaiho@gmail.com>
6
+ License: MIT
7
+ Project-URL: Repository, https://github.com/tlaiho/kernelboost
8
+ Keywords: gradient-boosting,kernel-regression,machine-learning
9
+ Classifier: Development Status :: 3 - Alpha
10
+ Classifier: Intended Audience :: Science/Research
11
+ Classifier: License :: OSI Approved :: MIT License
12
+ Classifier: Programming Language :: Python :: 3
13
+ Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
14
+ Requires-Python: >=3.9
15
+ Description-Content-Type: text/markdown
16
+ License-File: LICENSE
17
+ Requires-Dist: numpy>=1.26.4
18
+ Provides-Extra: gpu
19
+ Requires-Dist: cupy>=11.0.0; extra == "gpu"
20
+ Provides-Extra: all
21
+ Requires-Dist: cupy>=11.0.0; extra == "all"
22
+
23
+ # KernelBoost
24
+
25
+ **Gradient boosting with kernel-based local constant estimators**
26
+
27
+ ![Python](https://img.shields.io/badge/python-%3E%3D3.9-blue)
28
+ ![NumPy](https://img.shields.io/badge/NumPy-array%20backend-blue)
29
+ ![C](https://img.shields.io/badge/C-language-blue)
30
+ ![GPU](https://img.shields.io/badge/GPU-CUDA%20C%2FCuPy-orange)
31
+ ![License](https://img.shields.io/badge/license-MIT-green)
32
+ ![Version](https://img.shields.io/badge/version-0.2.0-blue)
33
+
34
+ KernelBoost is a gradient boosting algorithm that uses Nadaraya-Watson (local constant) kernel estimators as base learners instead of decision trees. It has:
35
+
36
+ - Support for regression, classification and quantile regression tasks.
37
+ - sklearn style API (`fit`, `predict`).
38
+ - CPU (via C) and GPU (via CuPy/CUDA) backends.
39
+
40
+ ## Installation
41
+
42
+ ```bash
43
+ # Basic installation
44
+ pip install kernelboost
45
+
46
+ # With GPU support (requires CUDA)
47
+ pip install cupy-cuda12x # for CUDA 12
48
+ ```
49
+
50
+ > **Dependencies**: NumPy only. CuPy optional for GPU acceleration.
51
+
52
+ ## Quick Start
53
+
54
+ ```python
55
+ from kernelboost import KernelBooster, MulticlassBooster
56
+ from kernelboost.objectives import MSEObjective, EntropyObjective
57
+
58
+ # Regression
59
+ booster = KernelBooster(objective=MSEObjective()).fit(X_train, y_train)
60
+ predictions = booster.predict(X_test)
61
+
62
+ # Binary classification
63
+ booster = KernelBooster(objective=EntropyObjective()).fit(X_train, y_train)
64
+ logits = booster.predict(X_test)
65
+ probabilities = booster.predict_proba(X_test)
66
+
67
+ # Multiclass classification (fits one booster per class)
68
+ booster = MulticlassBooster().fit(X_train, y_train)
69
+ class_labels = booster.predict(X_test)
70
+ ```
71
+
72
+ ## Documentation
73
+
74
+ For full documentation, benchmarks, architecture details, and API reference, see the [GitHub repository](https://github.com/tlaiho/kernelboost).
75
+
76
+ ## License
77
+
78
+ MIT License
@@ -0,0 +1,56 @@
1
+ # KernelBoost
2
+
3
+ **Gradient boosting with kernel-based local constant estimators**
4
+
5
+ ![Python](https://img.shields.io/badge/python-%3E%3D3.9-blue)
6
+ ![NumPy](https://img.shields.io/badge/NumPy-array%20backend-blue)
7
+ ![C](https://img.shields.io/badge/C-language-blue)
8
+ ![GPU](https://img.shields.io/badge/GPU-CUDA%20C%2FCuPy-orange)
9
+ ![License](https://img.shields.io/badge/license-MIT-green)
10
+ ![Version](https://img.shields.io/badge/version-0.2.0-blue)
11
+
12
+ KernelBoost is a gradient boosting algorithm that uses Nadaraya-Watson (local constant) kernel estimators as base learners instead of decision trees. It has:
13
+
14
+ - Support for regression, classification and quantile regression tasks.
15
+ - sklearn style API (`fit`, `predict`).
16
+ - CPU (via C) and GPU (via CuPy/CUDA) backends.
17
+
18
+ ## Installation
19
+
20
+ ```bash
21
+ # Basic installation
22
+ pip install kernelboost
23
+
24
+ # With GPU support (requires CUDA)
25
+ pip install cupy-cuda12x # for CUDA 12
26
+ ```
27
+
28
+ > **Dependencies**: NumPy only. CuPy optional for GPU acceleration.
29
+
30
+ ## Quick Start
31
+
32
+ ```python
33
+ from kernelboost import KernelBooster, MulticlassBooster
34
+ from kernelboost.objectives import MSEObjective, EntropyObjective
35
+
36
+ # Regression
37
+ booster = KernelBooster(objective=MSEObjective()).fit(X_train, y_train)
38
+ predictions = booster.predict(X_test)
39
+
40
+ # Binary classification
41
+ booster = KernelBooster(objective=EntropyObjective()).fit(X_train, y_train)
42
+ logits = booster.predict(X_test)
43
+ probabilities = booster.predict_proba(X_test)
44
+
45
+ # Multiclass classification (fits one booster per class)
46
+ booster = MulticlassBooster().fit(X_train, y_train)
47
+ class_labels = booster.predict(X_test)
48
+ ```
49
+
50
+ ## Documentation
51
+
52
+ For full documentation, benchmarks, architecture details, and API reference, see the [GitHub repository](https://github.com/tlaiho/kernelboost).
53
+
54
+ ## License
55
+
56
+ MIT License