Scikit-activeml

Latest version: v0.5.2

Safety actively analyzes 681866 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 3

0.5.2

We are happy to announce the following changes/features:

Query Strategies:
* Fix `TypiClust` when `batch_size` is higher than the number of non-empty clusters by tpham93 in https://github.com/scikit-activeml/scikit-activeml/pull/452

Documentation:
* Add development branch to documentation by tpham93 in https://github.com/scikit-activeml/scikit-activeml/pull/448

Continuous Integration:
* Add workflow parallelization by tpham93 in https://github.com/scikit-activeml/scikit-activeml/pull/441

Requirements:
* Update scipy requirement from <=1.14.0 to <=1.14.1 by dependabot in https://github.com/scikit-activeml/scikit-activeml/pull/449
* Update numpy requirement from <=2.0.1 to <=2.1.0 by dependabot in https://github.com/scikit-activeml/scikit-activeml/pull/445
* Update matplotlib requirement from <=3.9.1 to <=3.9.2 by dependabot in https://github.com/scikit-activeml/scikit-activeml/pull/446

**Full Changelog**: https://github.com/scikit-activeml/scikit-activeml/compare/0.5.1...0.5.2

0.5.1

We are happy to announce the following changes/features:

Query Strategies:
* Implement pool-based query strategy Probability Coverage (ProbCover) [1] as `ProbCover` by mherde in https://github.com/scikit-activeml/scikit-activeml/pull/426
* Implement pool-based query strategy Contrastive Active Learning (CAL) [2] as `ContrastiveAL` by mherde in https://github.com/scikit-activeml/scikit-activeml/pull/430
* Implement pool-based query strategy Clustering Uncertainty-weighted Embeddings (CLUE) [3] as `Clue` by mherde in https://github.com/scikit-activeml/scikit-activeml/pull/437
* Add sampling option and variation ratios [4] as new options to pool-based query strategy Query by Committee (QBC) in `QueryByCommittee` by mherde in https://github.com/scikit-activeml/scikit-activeml/pull/434

Tutorials:
* Add "Open in Colab" button to all tutorial notebooks and examples by tpham93 in https://github.com/scikit-activeml/scikit-activeml/pull/429

Documentation:
* Implement versioning of the documentation and parallelize examples by AlexanderBenz in https://github.com/scikit-activeml/scikit-activeml/pull/379 and by tpham93 in https://github.com/scikit-activeml/scikit-activeml/pull/438
* Add community standards by mherde in https://github.com/scikit-activeml/scikit-activeml/pull/431

Requirements:
* Update **optional** maximum numpy requirement from <=2.0.0 to <=2.0.1 by dependabot in https://github.com/scikit-activeml/scikit-activeml/pull/425

References
- [1] [Yehuda, Ofer, Avihu Dekel, Guy Hacohen, and Daphna Weinshall. "Active learning through a covering lens." Advances in Neural Information Processing Systems 35 (2022): 22354-22367.](https://proceedings.neurips.cc/paper_files/paper/2022/file/8c64bc3f7796d31caa7c3e6b969bf7da-Paper-Conference.pdf)
- [2] [Margatina, Katerina, Giorgos Vernikos, Loïc Barrault, and Nikolaos Aletras. "Active Learning by Acquiring Contrastive Examples." In Proceedings of the 2021 Conference on Empirical Methods in Natural Language Processing, pp. 650-663. 2021.](https://aclanthology.org/2021.emnlp-main.51.pdf)
- [3] [Prabhu, Viraj, Arjun Chandrasekaran, Kate Saenko, and Judy Hoffman. "Active Domain Adaptation via Clustering Uncertainty-weighted Embeddings." In Proceedings of the IEEE/CVF international conference on computer vision, pp. 8505-8514. 2021](https://openaccess.thecvf.com/content/ICCV2021/papers/Prabhu_Active_Domain_Adaptation_via_Clustering_Uncertainty-Weighted_Embeddings_ICCV_2021_paper.pdf)
- [4] [Beluch, W. H., Genewein, T., Nürnberger, A., and Köhler, J. M. The Power of Ensembles for Active Learning in Image Classification. In Conference on Computer Vision and Pattern Recognition, pages 9368-9377, 2018.](https://openaccess.thecvf.com/content_cvpr_2018/papers/Beluch_The_Power_of_CVPR_2018_paper.pdf)

Full Changelog:
https://github.com/scikit-activeml/scikit-activeml/compare/0.5.0...0.5.1

0.5.0

We are happy to announce the following changes/features:

**Wrapper Query Strategies:**
- FR: Addition of the pool-based query strategy wrapper `SubSamplingWrapper`, which allows subsampling a smaller set of sample candidates to accelerate the sample selection via `query` (cf. 349).
- FR: Addition of the pool-based query strategy wrapper `ParallelUtilityEstimationWrapper`, which allows parallelizing the utility computation across the sample candidates via `joblib`. As a requirement, the utility computation must be independent between the candidate samples (cf. 402).

**Query Strategies:**
- FR: Addition of the pool-based query strategy `RegressionTreeBasedAL`, which leverages a regression tree to select samples for regression tasks (cf. 371).
- FR: Addition of the pool-based query strategy `CoreSet`, which leverages `kmeans++` to select diverse samples. Originally, this strategy has been designed for classification tasks. Yet, it can also be used in the context of regression (cf. 281).
- FR: Addition of the pool-based query strategy `TypiClust`, which leverages `kmeans` to balance the trade-off between diversity and representativeness (typicality) of samples. Originally, this strategy has been designed for classification tasks. Yet, it can also be used in the context of regression (cf. 364).
- FR: Addition of the pool-based query strategy `Badge`, which leverages `kmeans++` in the gradient space of the last linear layer of a classification neural network. Thereby, its sample selection balances the trade-off between diverse and uncertain samples.
- FR: Addition of the pool-based query strategy `GreedyBALD`, which performs a `top-k` selection for the utilities computed according to BALD (cf. 323).
- BUG: Fix the issue of estimators outputting zero probabilities, raising warnings when computing log probabilities in `BatchBALD.`
- BUG: Fix the handling of `candidates` in the multi-annotator pool-based query strategy wrapper `SingleAnnotatorWrapper` (cf. 404) and ensure that `missing_label` the wrapper and the wrapped single-annotator query strategy match (cf. 405).

**Estimators:**
- FR: `SklearnClassifier,` `SklearnClassifier,` and `SlidingWindowClassifier` have `match_signature` as new decorators for the methods to enforce the correct mapping between the parameter signature between the wrapper's methods and the wrapped estimator's methods (cf. 375).

**Tutorials:**
- FR: Add a tutorial showcasing query strategies suited for deep learning tasks in combination with self-supervised models to extract self-supervised sample features (cf. 282).

**Requirements:**
- FR: Update of supported Python versions to 3.9, 3.10, 3.11, and 3.12 (cf. 378, 416). The requirements are updated accordingly.
- FR: Removed upper bounds in requirements to avoid undesired downgrades of packages. Still, a guaranteed working installation can be enforced via `max_requirements.txt`.
- FR: Add `makefun` as a new requirement to match signatures when using wrappers (cf. 375).
- FR: Implement automatic dependency check via dependabot (cf. 302, 314).

**Tests:**
- Add and use new test templates for classifiers, regressors, stream-based query strategies, and budget managers (cf. 303).

**Documentation:**
- FR: Add note that outputs of the query strategy examples are given at the bottom of each example (cf. 304).

**Continuous Integration:**
- FR: Addition of automatic formatting check via `black` (cf. 301).
- FR: Parallelize example generation to speed up the CI process (cf. 306).

**Full Changelog**:
- https://github.com/scikit-activeml/scikit-activeml/compare/0.4.1...0.5.0

0.4.1

We are happy to announce the following changes/features:

- We added `CogDQS` and `DBALStream` as two new stream-based query strategies (cf. 254).
- We implemented `BatchBALD` as a new pool-based query strategy (cf. 284).
- We added examples for the stream-based query strategies to the documentation and updated the notion of utilities, which now need to be maximized (cf. 286).
- We added legends to the examples for better understanding (cf. 287).
- We revised the developer guide (cf. 290).

0.4.0

We are happy to announce the following changes/features:

- We now support Python 3.10, and we deprecated Python 3.7 (cf. 279).
- We now support scikit-learn 1.2 (cf. 279).
- Update of probabilistic active learning to support mean bandwidth kernel (cf. 260).
- Added examples for DWUS and DUAL as two newly supported uncertainty-based query strategies (cf. 266).
- Updated QUIRE to allow sampling when mathematical assumptions are not fulfilled (cf. 274 ).

0.3.1

We are happy to announce the following changes/features:

- Improved test infrastructure
- Documentation improved
- Test coverage does not include test files anymore

Page 1 of 3

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.