deskit 1.3.2.2__tar.gz → 1.3.2.3__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. {deskit-1.3.2.2/src/deskit.egg-info → deskit-1.3.2.3}/PKG-INFO +29 -4
  2. {deskit-1.3.2.2 → deskit-1.3.2.3}/README.md +28 -3
  3. {deskit-1.3.2.2 → deskit-1.3.2.3}/pyproject.toml +1 -1
  4. {deskit-1.3.2.2 → deskit-1.3.2.3/src/deskit.egg-info}/PKG-INFO +29 -4
  5. {deskit-1.3.2.2 → deskit-1.3.2.3}/LICENSE +0 -0
  6. {deskit-1.3.2.2 → deskit-1.3.2.3}/setup.cfg +0 -0
  7. {deskit-1.3.2.2 → deskit-1.3.2.3}/src/deskit/__init__.py +0 -0
  8. {deskit-1.3.2.2 → deskit-1.3.2.3}/src/deskit/_config.py +0 -0
  9. {deskit-1.3.2.2 → deskit-1.3.2.3}/src/deskit/base/__init__.py +0 -0
  10. {deskit-1.3.2.2 → deskit-1.3.2.3}/src/deskit/base/base.py +0 -0
  11. {deskit-1.3.2.2 → deskit-1.3.2.3}/src/deskit/base/knnbase.py +0 -0
  12. {deskit-1.3.2.2 → deskit-1.3.2.3}/src/deskit/base/predictbase.py +0 -0
  13. {deskit-1.3.2.2 → deskit-1.3.2.3}/src/deskit/des/__init__.py +0 -0
  14. {deskit-1.3.2.2 → deskit-1.3.2.3}/src/deskit/des/dewsi.py +0 -0
  15. {deskit-1.3.2.2 → deskit-1.3.2.3}/src/deskit/des/dewsiv.py +0 -0
  16. {deskit-1.3.2.2 → deskit-1.3.2.3}/src/deskit/des/dewst.py +0 -0
  17. {deskit-1.3.2.2 → deskit-1.3.2.3}/src/deskit/des/dewsu.py +0 -0
  18. {deskit-1.3.2.2 → deskit-1.3.2.3}/src/deskit/des/dewsv.py +0 -0
  19. {deskit-1.3.2.2 → deskit-1.3.2.3}/src/deskit/des/knorae.py +0 -0
  20. {deskit-1.3.2.2 → deskit-1.3.2.3}/src/deskit/des/knoraiu.py +0 -0
  21. {deskit-1.3.2.2 → deskit-1.3.2.3}/src/deskit/des/knorau.py +0 -0
  22. {deskit-1.3.2.2 → deskit-1.3.2.3}/src/deskit/des/lwsei.py +0 -0
  23. {deskit-1.3.2.2 → deskit-1.3.2.3}/src/deskit/des/lwseu.py +0 -0
  24. {deskit-1.3.2.2 → deskit-1.3.2.3}/src/deskit/des/ola.py +0 -0
  25. {deskit-1.3.2.2 → deskit-1.3.2.3}/src/deskit/metrics.py +0 -0
  26. {deskit-1.3.2.2 → deskit-1.3.2.3}/src/deskit/neighbors.py +0 -0
  27. {deskit-1.3.2.2 → deskit-1.3.2.3}/src/deskit/norms.py +0 -0
  28. {deskit-1.3.2.2 → deskit-1.3.2.3}/src/deskit/router.py +0 -0
  29. {deskit-1.3.2.2 → deskit-1.3.2.3}/src/deskit/utils.py +0 -0
  30. {deskit-1.3.2.2 → deskit-1.3.2.3}/src/deskit.egg-info/SOURCES.txt +0 -0
  31. {deskit-1.3.2.2 → deskit-1.3.2.3}/src/deskit.egg-info/dependency_links.txt +0 -0
  32. {deskit-1.3.2.2 → deskit-1.3.2.3}/src/deskit.egg-info/requires.txt +0 -0
  33. {deskit-1.3.2.2 → deskit-1.3.2.3}/src/deskit.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: deskit
3
- Version: 1.3.2.2
3
+ Version: 1.3.2.3
4
4
  Summary: A Python library for Dynamic Ensemble Selection
5
5
  Author: Tikhon Vodyanov
6
6
  License-Expression: MIT
@@ -262,6 +262,31 @@ passed features either need to be run through a feature extractor beforehand, su
262
262
 
263
263
  ## Benchmark results
264
264
 
265
+ ### Regression-specific benchmark
266
+
267
+ To benchmark how the DEWS family specifically performs on regression tasks, since this was an identified gap in DES
268
+ literature and implementations, DEWS was benchmarked against single best, simple average, and various stacking baselines.
269
+ For this benchmark, 35 datasets were used, pulled from the OpenML-CTR23 regression suite, benchmarked with 10 folds and 3 seeds.
270
+ All the methods were tuned with the exact same Random Search budget of 50. The full results can be seen in the [documentation](https://TikaaVo.github.io/deskit/benchmark_regression).
271
+
272
+ `ΔSB` = % improvement over `SingleBest` (positive = better).
273
+ `Gap` = DEWS ΔSB − best non-DEWS ΔSB (negative = DEWS behind non-DEWS).
274
+
275
+ | Pool | DEWS mean | DEWS ΔSB | Best non-DEWS |
276
+ |---|---|---:|---:|---|---:|---:|
277
+ | Bagging-DT | 7798.74 | +32.23% | ValWeightedAverage |
278
+ | Bagging-KNN | 9341.37 | +9.34% | ValWeightedAverage |
279
+ | Subspace-DT | 8354.85 | +27.43% | RidgeStacking |
280
+ | Subspace-KNN | 8704.69 | +12.64% | StackingRF |
281
+
282
+ `SingleBest` = 0% baseline. "Best non-DEWS" excludes all DEWS variants and `Oracle`;
283
+ it may include stacking, simple/weighted averaging, OLA, or `SingleBest` itself.
284
+
285
+ As evident, DEWS does best compared to competition in Bagging pools, achieving up to a 32% improvement over single best, and
286
+ beats stacking and averaging baselines, showing that in some cases, DES can have performance advantages.
287
+
288
+ ### General heterogeneous benchmark
289
+
265
290
  20-seed benchmark (seeds 0–19) on standard sklearn and OpenML datasets. "Best Single" is the best
266
291
  individual model selected on the validation set. "Simple Average" is uniform
267
292
  equal-weight blending, included as a baseline.
@@ -275,7 +300,7 @@ This pool was selected for having variability in architectures while avoiding a
275
300
 
276
301
  deskit algorithms tested: OLA, DEWS-U, DEWS-I, DEWS-T, DEWS-V, DEWS-IV, LWSE-U, LWSE-I, KNORA-U, KNORA-E, KNORA-IU.
277
302
 
278
- ### Regression (MAE, lower is better)
303
+ #### Regression (MAE, lower is better)
279
304
 
280
305
  Pool: KNN, Decision Tree, SVR, Ridge, Bayesian Ridge.
281
306
 
@@ -298,7 +323,7 @@ and classification-like (like in Abalone).
298
323
 
299
324
  DEWS-I and LWSE-I show the largest improvements on their respective datasets.
300
325
 
301
- ### Classification (Accuracy, higher is better)
326
+ #### Classification (Accuracy, higher is better)
302
327
 
303
328
  Pool: KNN, Decision Tree, Gaussian NB, SVM-RBF, Logistic Regression.
304
329
 
@@ -314,7 +339,7 @@ Pool: KNN, Decision Tree, Gaussian NB, SVM-RBF, Logistic Regression.
314
339
 
315
340
  deskit beats or matches best single and simple averaging on 4/5 classification datasets.
316
341
 
317
- ### Speed (mean ms fit + predict, 20 seeds, all tested algorithms combined)
342
+ #### Speed (mean ms fit + predict, 20 seeds, all tested algorithms combined)
318
343
 
319
344
  Consider that usually it is recommended to only use one algorithm at a time, this benchmark ran eleven of them at the
320
345
  same time, so with a single one runtime is expected to be about 11x faster. For this benchmark, `preset='balanced'` was used,
@@ -231,6 +231,31 @@ passed features either need to be run through a feature extractor beforehand, su
231
231
 
232
232
  ## Benchmark results
233
233
 
234
+ ### Regression-specific benchmark
235
+
236
+ To benchmark how the DEWS family specifically performs on regression tasks, since this was an identified gap in DES
237
+ literature and implementations, DEWS was benchmarked against single best, simple average, and various stacking baselines.
238
+ For this benchmark, 35 datasets were used, pulled from the OpenML-CTR23 regression suite, benchmarked with 10 folds and 3 seeds.
239
+ All the methods were tuned with the exact same Random Search budget of 50. The full results can be seen in the [documentation](https://TikaaVo.github.io/deskit/benchmark_regression).
240
+
241
+ `ΔSB` = % improvement over `SingleBest` (positive = better).
242
+ `Gap` = DEWS ΔSB − best non-DEWS ΔSB (negative = DEWS behind non-DEWS).
243
+
244
+ | Pool | DEWS mean | DEWS ΔSB | Best non-DEWS |
245
+ |---|---|---:|---:|---|---:|---:|
246
+ | Bagging-DT | 7798.74 | +32.23% | ValWeightedAverage |
247
+ | Bagging-KNN | 9341.37 | +9.34% | ValWeightedAverage |
248
+ | Subspace-DT | 8354.85 | +27.43% | RidgeStacking |
249
+ | Subspace-KNN | 8704.69 | +12.64% | StackingRF |
250
+
251
+ `SingleBest` = 0% baseline. "Best non-DEWS" excludes all DEWS variants and `Oracle`;
252
+ it may include stacking, simple/weighted averaging, OLA, or `SingleBest` itself.
253
+
254
+ As evident, DEWS does best compared to competition in Bagging pools, achieving up to a 32% improvement over single best, and
255
+ beats stacking and averaging baselines, showing that in some cases, DES can have performance advantages.
256
+
257
+ ### General heterogeneous benchmark
258
+
234
259
  20-seed benchmark (seeds 0–19) on standard sklearn and OpenML datasets. "Best Single" is the best
235
260
  individual model selected on the validation set. "Simple Average" is uniform
236
261
  equal-weight blending, included as a baseline.
@@ -244,7 +269,7 @@ This pool was selected for having variability in architectures while avoiding a
244
269
 
245
270
  deskit algorithms tested: OLA, DEWS-U, DEWS-I, DEWS-T, DEWS-V, DEWS-IV, LWSE-U, LWSE-I, KNORA-U, KNORA-E, KNORA-IU.
246
271
 
247
- ### Regression (MAE, lower is better)
272
+ #### Regression (MAE, lower is better)
248
273
 
249
274
  Pool: KNN, Decision Tree, SVR, Ridge, Bayesian Ridge.
250
275
 
@@ -267,7 +292,7 @@ and classification-like (like in Abalone).
267
292
 
268
293
  DEWS-I and LWSE-I show the largest improvements on their respective datasets.
269
294
 
270
- ### Classification (Accuracy, higher is better)
295
+ #### Classification (Accuracy, higher is better)
271
296
 
272
297
  Pool: KNN, Decision Tree, Gaussian NB, SVM-RBF, Logistic Regression.
273
298
 
@@ -283,7 +308,7 @@ Pool: KNN, Decision Tree, Gaussian NB, SVM-RBF, Logistic Regression.
283
308
 
284
309
  deskit beats or matches best single and simple averaging on 4/5 classification datasets.
285
310
 
286
- ### Speed (mean ms fit + predict, 20 seeds, all tested algorithms combined)
311
+ #### Speed (mean ms fit + predict, 20 seeds, all tested algorithms combined)
287
312
 
288
313
  Consider that usually it is recommended to only use one algorithm at a time, this benchmark ran eleven of them at the
289
314
  same time, so with a single one runtime is expected to be about 11x faster. For this benchmark, `preset='balanced'` was used,
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "deskit"
7
- version = "1.3.2.2"
7
+ version = "1.3.2.3"
8
8
  description = "A Python library for Dynamic Ensemble Selection"
9
9
  readme = "README.md"
10
10
  license = "MIT"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: deskit
3
- Version: 1.3.2.2
3
+ Version: 1.3.2.3
4
4
  Summary: A Python library for Dynamic Ensemble Selection
5
5
  Author: Tikhon Vodyanov
6
6
  License-Expression: MIT
@@ -262,6 +262,31 @@ passed features either need to be run through a feature extractor beforehand, su
262
262
 
263
263
  ## Benchmark results
264
264
 
265
+ ### Regression-specific benchmark
266
+
267
+ To benchmark how the DEWS family specifically performs on regression tasks, since this was an identified gap in DES
268
+ literature and implementations, DEWS was benchmarked against single best, simple average, and various stacking baselines.
269
+ For this benchmark, 35 datasets were used, pulled from the OpenML-CTR23 regression suite, benchmarked with 10 folds and 3 seeds.
270
+ All the methods were tuned with the exact same Random Search budget of 50. The full results can be seen in the [documentation](https://TikaaVo.github.io/deskit/benchmark_regression).
271
+
272
+ `ΔSB` = % improvement over `SingleBest` (positive = better).
273
+ `Gap` = DEWS ΔSB − best non-DEWS ΔSB (negative = DEWS behind non-DEWS).
274
+
275
+ | Pool | DEWS mean | DEWS ΔSB | Best non-DEWS |
276
+ |---|---|---:|---:|---|---:|---:|
277
+ | Bagging-DT | 7798.74 | +32.23% | ValWeightedAverage |
278
+ | Bagging-KNN | 9341.37 | +9.34% | ValWeightedAverage |
279
+ | Subspace-DT | 8354.85 | +27.43% | RidgeStacking |
280
+ | Subspace-KNN | 8704.69 | +12.64% | StackingRF |
281
+
282
+ `SingleBest` = 0% baseline. "Best non-DEWS" excludes all DEWS variants and `Oracle`;
283
+ it may include stacking, simple/weighted averaging, OLA, or `SingleBest` itself.
284
+
285
+ As evident, DEWS does best compared to competition in Bagging pools, achieving up to a 32% improvement over single best, and
286
+ beats stacking and averaging baselines, showing that in some cases, DES can have performance advantages.
287
+
288
+ ### General heterogeneous benchmark
289
+
265
290
  20-seed benchmark (seeds 0–19) on standard sklearn and OpenML datasets. "Best Single" is the best
266
291
  individual model selected on the validation set. "Simple Average" is uniform
267
292
  equal-weight blending, included as a baseline.
@@ -275,7 +300,7 @@ This pool was selected for having variability in architectures while avoiding a
275
300
 
276
301
  deskit algorithms tested: OLA, DEWS-U, DEWS-I, DEWS-T, DEWS-V, DEWS-IV, LWSE-U, LWSE-I, KNORA-U, KNORA-E, KNORA-IU.
277
302
 
278
- ### Regression (MAE, lower is better)
303
+ #### Regression (MAE, lower is better)
279
304
 
280
305
  Pool: KNN, Decision Tree, SVR, Ridge, Bayesian Ridge.
281
306
 
@@ -298,7 +323,7 @@ and classification-like (like in Abalone).
298
323
 
299
324
  DEWS-I and LWSE-I show the largest improvements on their respective datasets.
300
325
 
301
- ### Classification (Accuracy, higher is better)
326
+ #### Classification (Accuracy, higher is better)
302
327
 
303
328
  Pool: KNN, Decision Tree, Gaussian NB, SVM-RBF, Logistic Regression.
304
329
 
@@ -314,7 +339,7 @@ Pool: KNN, Decision Tree, Gaussian NB, SVM-RBF, Logistic Regression.
314
339
 
315
340
  deskit beats or matches best single and simple averaging on 4/5 classification datasets.
316
341
 
317
- ### Speed (mean ms fit + predict, 20 seeds, all tested algorithms combined)
342
+ #### Speed (mean ms fit + predict, 20 seeds, all tested algorithms combined)
318
343
 
319
344
  Consider that usually it is recommended to only use one algorithm at a time, this benchmark ran eleven of them at the
320
345
  same time, so with a single one runtime is expected to be about 11x faster. For this benchmark, `preset='balanced'` was used,
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes