diff --git a/CHANGE_LOG.txt b/CHANGE_LOG.txt index 0b7a18c..a384d39 100644 --- a/CHANGE_LOG.txt +++ b/CHANGE_LOG.txt @@ -1,3 +1,38 @@ +Change Log 0.2.1 +----------------- + +- Improved documentation of confidence regions. Added QuaPy logo :') + +- Added Bayesian KDEy and Bayesian MAPLS quantifiers. + +- Added temperature calibration utilities for Bayesian confidence-aware methods. + +- Added compositional CLR and ILR transformations. + +- Extended KDEy with Aitchison/ILR kernels, shrinkage, and improved numerical stability. + +- Added image-embedding-based datasets including CIFAR10, CIFAR100, CIFAR100coarse, VSHN, FashionMNIST, MNIST. + +- Added TemperatureScalingFromLogits for calibrating pretrained logits. + +- Added DirichletProtocol for prevalence sampling from Dirichlet priors. + +- Added ReadMe method by Daniel Hopkins and Gary King. + +- Internal index in LabelledCollection is now "lazy", and is only constructed if required. + +- Improved unit testing and separated integration tests. + +- Added RLLS (Regularized Learning for Domain Adaptation under Label Shifts) method. + +- Added visualization tools for 3-class problems in the simplex, see also the new example no.19 + +- Deep code revision and improved codebase + +- Added EDx/EDy from quantificationlib (thanks to Pablo and Juanjo!) + + + Change Log 0.2.0 ----------------- @@ -14,6 +49,7 @@ Change Log 0.2.0 in which case the_data is to be used for validation purposes. However, the val_split could be set as a fraction indicating only part of the_data must be used for validation, and the rest wasted... it was certainly confusing. - This change imposes a versioning constrain with qunfold, which now must be >= 0.1.6 + - EMQ has been modified, so that the representation function "classify" now only provides posterior probabilities and, if required, these are recalibrated (e.g., by "bcts") during the aggregation function. - A new parameter "on_calib_error" is passed to the constructor, which informs of the policy to follow @@ -21,13 +57,16 @@ Change Log 0.2.0 - 'raise': raises a RuntimeException (default) - 'backup': reruns by silently avoiding calibration - Parameter "recalib" has been renamed "calib" + - Added aggregative bootstrap for deriving confidence regions (confidence intervals, ellipses in the simplex, or ellipses in the CLR space). This method is efficient as it leverages the two-phases of the aggregative quantifiers. This method applies resampling only to the aggregation phase, thus avoiding to train many quantifiers, or classify multiple times the instances of a sample. See: - quapy/method/confidence.py (new) - the new example no. 16.confidence_regions.py + - BayesianCC moved to confidence.py, where methods having to do with confidence intervals belong. + - Improved documentation of qp.plot module. @@ -129,6 +168,7 @@ Change Log 0.1.8 - New API documentation template. + Change Log 0.1.7 ---------------- @@ -182,7 +222,7 @@ Change Log 0.1.7 - hyperparameters yielding to inconsistent runs raise a ValueError exception, while hyperparameter combinations yielding to internal errors of surrogate functions are reported and skipped, without stopping the grid search. -- DistributionMatching methods added. This is a general framework for distribution matching methods that catters for +- DistributionMatching methods added. This is a general framework for distribution matching methods that caters for multiclass quantification. That is to say, one could get a multiclass variant of the (originally binary) HDy method aligned with the Firat's formulation. @@ -207,4 +247,3 @@ Change Log 0.1.7 any instance of BaseQuantifier), and a subclass of it called OneVsAllAggregative which implements the classify / aggregate interface. Both are instances of OneVsAll. There is a method getOneVsAll that returns the best instance based on the type of quantifier. - diff --git a/README.md b/README.md index 730a433..4110376 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,7 @@ # QuaPy +## version 0.2.1 + QuaPy is an open source framework for quantification (a.k.a. supervised prevalence estimation, or learning to quantify) written in Python. @@ -13,7 +15,7 @@ for facilitating the analysis and interpretation of the experimental results. ### Last updates: -* Version 0.2.0 is released! major changes can be consulted [here](CHANGE_LOG.txt). +* Version 0.2.1 is released! major changes can be consulted [here](CHANGE_LOG.txt). * The developer API documentation is available [here](https://hlt-isti.github.io/QuaPy/index.html) * Manuals are available [here](https://hlt-isti.github.io/QuaPy/manuals.html) @@ -74,6 +76,7 @@ See the [documentation](https://hlt-isti.github.io/QuaPy/manuals.html) for detai * Implementation of many popular quantification methods (Classify-&-Count and its variants, Expectation Maximization, quantification methods based on structured output learning, HDy, QuaNet, quantification ensembles, among others). +* Support for uncertainty quantification via bootstrap-based and Bayesian methods, including confidence intervals and simplex-aware confidence regions. * Versatile functionality for performing evaluation based on sampling generation protocols (e.g., APP, NPP, etc.). * Implementation of most commonly used evaluation metrics (e.g., AE, RAE, NAE, NRAE, SE, KLD, NKLD, etc.). * Datasets frequently used in quantification (textual and numeric), including: diff --git a/TODO.txt b/TODO.txt index 4b80a34..7a36ae1 100644 --- a/TODO.txt +++ b/TODO.txt @@ -16,7 +16,6 @@ scale each value by per-class thresholds, i.e., [0.33*0.1, 0.33*1, 0.33*1]/sum." - [TODO] document confidence in manuals - [TODO] Test the return_type="index" in protocols and finish the "distributing_samples.py" example -- [TODO] Add EDy (an implementation is available at quantificationlib) - [TODO] add ensemble methods SC-MQ, MC-SQ, MC-MQ - [TODO] add HistNetQ - [TODO] add CDE-iteration and Bayes-CDE methods diff --git a/docs/build/html/_modules/index.html b/docs/build/html/_modules/index.html index 9951ba2..c9bfcd6 100644 --- a/docs/build/html/_modules/index.html +++ b/docs/build/html/_modules/index.html @@ -1,78 +1,374 @@ + - -
- - -