From 36ac6db27d759e05cf07b106acb9b9ca4bc35470 Mon Sep 17 00:00:00 2001 From: Alejandro Moreo <alejandro.moreo@isti.cnr.it> Date: Mon, 18 Mar 2024 23:39:55 +0100 Subject: [PATCH] fixing doc --- TODO.txt | 2 + docs/Makefile | 20 + docs/build/html/_static/basic.css | 27 +- docs/build/html/_static/doctools.js | 2 +- .../html/_static/documentation_options.js | 5 +- docs/build/html/_static/language_data.js | 2 +- docs/build/html/_static/searchtools.js | 34 +- docs/build/html/genindex.html | 83 ++- docs/build/html/index.html | 58 +- docs/build/html/modules.html | 27 +- docs/build/html/objects.inv | Bin 3343 -> 3505 bytes docs/build/html/py-modindex.html | 19 +- docs/build/html/quapy.classification.html | 150 ++-- docs/build/html/quapy.data.html | 145 ++-- docs/build/html/quapy.html | 460 ++++++++---- docs/build/html/quapy.method.html | 691 +++++++++++------- docs/build/html/search.html | 19 +- docs/build/html/searchindex.js | 2 +- docs/make.bat | 35 + docs/source/conf.py | 55 ++ docs/source/index.rst | 41 ++ docs/source/modules.rst | 7 + docs/source/quapy.classification.rst | 45 ++ docs/source/quapy.data.rst | 46 ++ docs/source/quapy.method.rst | 61 ++ docs/source/quapy.rst | 80 ++ examples/bayesian_quantification.py | 2 + quapy/functional.py | 160 ++-- quapy/method/aggregative.py | 291 ++++---- 29 files changed, 1714 insertions(+), 855 deletions(-) create mode 100644 docs/Makefile create mode 100644 docs/make.bat create mode 100644 docs/source/conf.py create mode 100644 docs/source/index.rst create mode 100644 docs/source/modules.rst create mode 100644 docs/source/quapy.classification.rst create mode 100644 docs/source/quapy.data.rst create mode 100644 docs/source/quapy.method.rst create mode 100644 docs/source/quapy.rst diff --git a/TODO.txt b/TODO.txt index d3f2b3d..6547a5b 100644 --- a/TODO.txt +++ b/TODO.txt @@ -1,3 +1,5 @@ +check sphinks doc for enumerations (for example, the doc for ACC) + ensembles seem to be broken; they have an internal model selection which takes the parameters, but since quapy now works with protocols it would need to know the validation set in order to pass something like "protocol: APP(val, etc.)" diff --git a/docs/Makefile b/docs/Makefile new file mode 100644 index 0000000..d0c3cbf --- /dev/null +++ b/docs/Makefile @@ -0,0 +1,20 @@ +# Minimal makefile for Sphinx documentation +# + +# You can set these variables from the command line, and also +# from the environment for the first two. +SPHINXOPTS ?= +SPHINXBUILD ?= sphinx-build +SOURCEDIR = source +BUILDDIR = build + +# Put it first so that "make" without argument is like "make help". +help: + @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) + +.PHONY: help Makefile + +# Catch-all target: route all unknown targets to Sphinx using the new +# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS). +%: Makefile + @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) diff --git a/docs/build/html/_static/basic.css b/docs/build/html/_static/basic.css index f316efc..4e9a9f1 100644 --- a/docs/build/html/_static/basic.css +++ b/docs/build/html/_static/basic.css @@ -4,7 +4,7 @@ * * Sphinx stylesheet -- basic theme. * - * :copyright: Copyright 2007-2024 by the Sphinx team, see AUTHORS. + * :copyright: Copyright 2007-2022 by the Sphinx team, see AUTHORS. * :license: BSD, see LICENSE for details. * */ @@ -237,10 +237,6 @@ a.headerlink { visibility: hidden; } -a:visited { - color: #551A8B; -} - h1:hover > a.headerlink, h2:hover > a.headerlink, h3:hover > a.headerlink, @@ -328,7 +324,6 @@ aside.sidebar { p.sidebar-title { font-weight: bold; } - nav.contents, aside.topic, div.admonition, div.topic, blockquote { @@ -336,7 +331,6 @@ div.admonition, div.topic, blockquote { } /* -- topics ---------------------------------------------------------------- */ - nav.contents, aside.topic, div.topic { @@ -612,7 +606,6 @@ ol.simple p, ul.simple p { margin-bottom: 0; } - aside.footnote > span, div.citation > span { float: left; @@ -674,16 +667,6 @@ dd { margin-left: 30px; } -.sig dd { - margin-top: 0px; - margin-bottom: 0px; -} - -.sig dl { - margin-top: 0px; - margin-bottom: 0px; -} - dl > dd:last-child, dl > dd:last-child > :last-child { margin-bottom: 0; @@ -752,14 +735,6 @@ abbr, acronym { cursor: help; } -.translated { - background-color: rgba(207, 255, 207, 0.2) -} - -.untranslated { - background-color: rgba(255, 207, 207, 0.2) -} - /* -- code displays --------------------------------------------------------- */ pre { diff --git a/docs/build/html/_static/doctools.js b/docs/build/html/_static/doctools.js index 4d67807..527b876 100644 --- a/docs/build/html/_static/doctools.js +++ b/docs/build/html/_static/doctools.js @@ -4,7 +4,7 @@ * * Base JavaScript utilities for all Sphinx HTML documentation. * - * :copyright: Copyright 2007-2024 by the Sphinx team, see AUTHORS. + * :copyright: Copyright 2007-2022 by the Sphinx team, see AUTHORS. * :license: BSD, see LICENSE for details. * */ diff --git a/docs/build/html/_static/documentation_options.js b/docs/build/html/_static/documentation_options.js index 4099efb..17fd07e 100644 --- a/docs/build/html/_static/documentation_options.js +++ b/docs/build/html/_static/documentation_options.js @@ -1,5 +1,6 @@ -const DOCUMENTATION_OPTIONS = { - VERSION: '0.1.8', +var DOCUMENTATION_OPTIONS = { + URL_ROOT: document.getElementById("documentation_options").getAttribute('data-url_root'), + VERSION: '0.1.9', LANGUAGE: 'en', COLLAPSE_INDEX: false, BUILDER: 'html', diff --git a/docs/build/html/_static/language_data.js b/docs/build/html/_static/language_data.js index 017600c..2e22b06 100644 --- a/docs/build/html/_static/language_data.js +++ b/docs/build/html/_static/language_data.js @@ -5,7 +5,7 @@ * This script contains the language-specific data used by searchtools.js, * namely the list of stopwords, stemmer, scorer and splitter. * - * :copyright: Copyright 2007-2024 by the Sphinx team, see AUTHORS. + * :copyright: Copyright 2007-2022 by the Sphinx team, see AUTHORS. * :license: BSD, see LICENSE for details. * */ diff --git a/docs/build/html/_static/searchtools.js b/docs/build/html/_static/searchtools.js index 8bb1af5..e89e34d 100644 --- a/docs/build/html/_static/searchtools.js +++ b/docs/build/html/_static/searchtools.js @@ -4,7 +4,7 @@ * * Sphinx JavaScript utilities for the full-text search. * - * :copyright: Copyright 2007-2024 by the Sphinx team, see AUTHORS. + * :copyright: Copyright 2007-2022 by the Sphinx team, see AUTHORS. * :license: BSD, see LICENSE for details. * */ @@ -57,12 +57,12 @@ const _removeChildren = (element) => { const _escapeRegExp = (string) => string.replace(/[.*+\-?^${}()|[\]\\]/g, "\\$&"); // $& means the whole matched string -const _displayItem = (item, searchTerms, highlightTerms) => { +const _displayItem = (item, searchTerms) => { const docBuilder = DOCUMENTATION_OPTIONS.BUILDER; + const docUrlRoot = DOCUMENTATION_OPTIONS.URL_ROOT; const docFileSuffix = DOCUMENTATION_OPTIONS.FILE_SUFFIX; const docLinkSuffix = DOCUMENTATION_OPTIONS.LINK_SUFFIX; const showSearchSummary = DOCUMENTATION_OPTIONS.SHOW_SEARCH_SUMMARY; - const contentRoot = document.documentElement.dataset.content_root; const [docName, title, anchor, descr, score, _filename] = item; @@ -75,24 +75,20 @@ const _displayItem = (item, searchTerms, highlightTerms) => { if (dirname.match(/\/index\/$/)) dirname = dirname.substring(0, dirname.length - 6); else if (dirname === "index/") dirname = ""; - requestUrl = contentRoot + dirname; + requestUrl = docUrlRoot + dirname; linkUrl = requestUrl; } else { // normal html builders - requestUrl = contentRoot + docName + docFileSuffix; + requestUrl = docUrlRoot + docName + docFileSuffix; linkUrl = docName + docLinkSuffix; } let linkEl = listItem.appendChild(document.createElement("a")); linkEl.href = linkUrl + anchor; linkEl.dataset.score = score; linkEl.innerHTML = title; - if (descr) { + if (descr) listItem.appendChild(document.createElement("span")).innerHTML = " (" + descr + ")"; - // highlight search terms in the description - if (SPHINX_HIGHLIGHT_ENABLED) // set in sphinx_highlight.js - highlightTerms.forEach((term) => _highlightText(listItem, term, "highlighted")); - } else if (showSearchSummary) fetch(requestUrl) .then((responseData) => responseData.text()) @@ -101,9 +97,6 @@ const _displayItem = (item, searchTerms, highlightTerms) => { listItem.appendChild( Search.makeSearchSummary(data, searchTerms) ); - // highlight search terms in the summary - if (SPHINX_HIGHLIGHT_ENABLED) // set in sphinx_highlight.js - highlightTerms.forEach((term) => _highlightText(listItem, term, "highlighted")); }); Search.output.appendChild(listItem); }; @@ -122,15 +115,14 @@ const _finishSearch = (resultCount) => { const _displayNextItem = ( results, resultCount, - searchTerms, - highlightTerms, + searchTerms ) => { // results left, load the summary and display it // this is intended to be dynamic (don't sub resultsCount) if (results.length) { - _displayItem(results.pop(), searchTerms, highlightTerms); + _displayItem(results.pop(), searchTerms); setTimeout( - () => _displayNextItem(results, resultCount, searchTerms, highlightTerms), + () => _displayNextItem(results, resultCount, searchTerms), 5 ); } @@ -164,7 +156,7 @@ const Search = { const htmlElement = new DOMParser().parseFromString(htmlString, 'text/html'); htmlElement.querySelectorAll(".headerlink").forEach((el) => { el.remove() }); const docContent = htmlElement.querySelector('[role="main"]'); - if (docContent) return docContent.textContent; + if (docContent !== undefined) return docContent.textContent; console.warn( "Content block not found. Sphinx search tries to obtain it via '[role=main]'. Could you check your theme or template." ); @@ -288,9 +280,9 @@ const Search = { let results = []; _removeChildren(document.getElementById("search-progress")); - const queryLower = query.toLowerCase().trim(); + const queryLower = query.toLowerCase(); for (const [title, foundTitles] of Object.entries(allTitles)) { - if (title.toLowerCase().trim().includes(queryLower) && (queryLower.length >= title.length/2)) { + if (title.toLowerCase().includes(queryLower) && (queryLower.length >= title.length/2)) { for (const [file, id] of foundTitles) { let score = Math.round(100 * queryLower.length / title.length) results.push([ @@ -368,7 +360,7 @@ const Search = { // console.info("search results:", Search.lastresults); // print the results - _displayNextItem(results, results.length, searchTerms, highlightTerms); + _displayNextItem(results, results.length, searchTerms); }, /** diff --git a/docs/build/html/genindex.html b/docs/build/html/genindex.html index c2451c9..9b2dce2 100644 --- a/docs/build/html/genindex.html +++ b/docs/build/html/genindex.html @@ -1,22 +1,23 @@ <!DOCTYPE html> -<html class="writer-html5" lang="en" data-content_root="./"> +<html class="writer-html5" lang="en"> <head> <meta charset="utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> - <title>Index — QuaPy: A Python-based open-source framework for quantification 0.1.8 documentation</title> - <link rel="stylesheet" type="text/css" href="_static/pygments.css?v=92fd9be5" /> - <link rel="stylesheet" type="text/css" href="_static/css/theme.css?v=19f00094" /> + <title>Index — QuaPy: A Python-based open-source framework for quantification 0.1.9 documentation</title> + <link rel="stylesheet" type="text/css" href="_static/pygments.css" /> + <link rel="stylesheet" type="text/css" href="_static/css/theme.css" /> <!--[if lt IE 9]> <script src="_static/js/html5shiv.min.js"></script> <![endif]--> - <script src="_static/jquery.js?v=5d32c60e"></script> - <script src="_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script> - <script src="_static/documentation_options.js?v=22607128"></script> - <script src="_static/doctools.js?v=9a2dae69"></script> - <script src="_static/sphinx_highlight.js?v=dc90522c"></script> + <script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script> + <script src="_static/jquery.js"></script> + <script src="_static/underscore.js"></script> + <script src="_static/_sphinx_javascript_frameworks_compat.js"></script> + <script src="_static/doctools.js"></script> + <script src="_static/sphinx_highlight.js"></script> <script src="_static/js/theme.js"></script> <link rel="index" title="Index" href="#" /> <link rel="search" title="Search" href="search.html" /> @@ -136,6 +137,8 @@ <li><a href="quapy.method.html#quapy.method.aggregative.ACC.aggregate">(quapy.method.aggregative.ACC method)</a> </li> <li><a href="quapy.method.html#quapy.method.aggregative.AggregativeQuantifier.aggregate">(quapy.method.aggregative.AggregativeQuantifier method)</a> +</li> + <li><a href="quapy.method.html#quapy.method.aggregative.BayesianCC.aggregate">(quapy.method.aggregative.BayesianCC method)</a> </li> <li><a href="quapy.method.html#quapy.method.aggregative.CC.aggregate">(quapy.method.aggregative.CC method)</a> </li> @@ -174,6 +177,8 @@ <li><a href="quapy.method.html#quapy.method.aggregative.ACC.aggregation_fit">(quapy.method.aggregative.ACC method)</a> </li> <li><a href="quapy.method.html#quapy.method.aggregative.AggregativeQuantifier.aggregation_fit">(quapy.method.aggregative.AggregativeQuantifier method)</a> +</li> + <li><a href="quapy.method.html#quapy.method.aggregative.BayesianCC.aggregation_fit">(quapy.method.aggregative.BayesianCC method)</a> </li> <li><a href="quapy.method.html#quapy.method.aggregative.CC.aggregation_fit">(quapy.method.aggregative.CC method)</a> </li> @@ -221,6 +226,8 @@ <li><a href="quapy.method.html#quapy.method._kdey.KDEBase.BANDWIDTH_METHOD">BANDWIDTH_METHOD (quapy.method._kdey.KDEBase attribute)</a> </li> <li><a href="quapy.method.html#quapy.method.base.BaseQuantifier">BaseQuantifier (class in quapy.method.base)</a> +</li> + <li><a href="quapy.method.html#quapy.method.aggregative.BayesianCC">BayesianCC (class in quapy.method.aggregative)</a> </li> <li><a href="quapy.classification.html#quapy.classification.calibration.BCTSCalibration">BCTSCalibration (class in quapy.classification.calibration)</a> </li> @@ -284,11 +291,15 @@ </ul></li> <li><a href="quapy.method.html#quapy.method.aggregative.ClassifyAndCount">ClassifyAndCount (in module quapy.method.aggregative)</a> </li> - </ul></td> - <td style="width: 33%; vertical-align: top;"><ul> <li><a href="quapy.method.html#quapy.method._neural.QuaNetTrainer.clean_checkpoint">clean_checkpoint() (quapy.method._neural.QuaNetTrainer method)</a> </li> <li><a href="quapy.method.html#quapy.method._neural.QuaNetTrainer.clean_checkpoint_dir">clean_checkpoint_dir() (quapy.method._neural.QuaNetTrainer method)</a> +</li> + </ul></td> + <td style="width: 33%; vertical-align: top;"><ul> + <li><a href="quapy.html#quapy.functional.clip_prevalence">clip_prevalence() (in module quapy.functional)</a> +</li> + <li><a href="quapy.method.html#quapy.method.aggregative.ACC.CLIPPING">CLIPPING (quapy.method.aggregative.ACC attribute)</a> </li> <li><a href="quapy.classification.html#quapy.classification.neural.CNNnet">CNNnet (class in quapy.classification.neural)</a> </li> @@ -309,6 +320,8 @@ <li><a href="quapy.html#quapy.model_selection.ConfigStatus">ConfigStatus (class in quapy.model_selection)</a> </li> <li><a href="quapy.data.html#quapy.data.base.LabelledCollection.counts">counts() (quapy.data.base.LabelledCollection method)</a> +</li> + <li><a href="quapy.html#quapy.functional.counts_from_labels">counts_from_labels() (in module quapy.functional)</a> </li> <li><a href="quapy.html#quapy.util.create_if_not_exist">create_if_not_exist() (in module quapy.util)</a> </li> @@ -472,6 +485,8 @@ <li><a href="quapy.method.html#quapy.method.non_aggregative.DMx.fit">(quapy.method.non_aggregative.DMx method)</a> </li> <li><a href="quapy.method.html#quapy.method.non_aggregative.MaximumLikelihoodPrevalenceEstimation.fit">(quapy.method.non_aggregative.MaximumLikelihoodPrevalenceEstimation method)</a> +</li> + <li><a href="quapy.method.html#quapy.method.non_aggregative.ReadMe.fit">(quapy.method.non_aggregative.ReadMe method)</a> </li> <li><a href="quapy.html#quapy.model_selection.GridSearchQ.fit">(quapy.model_selection.GridSearchQ method)</a> </li> @@ -505,6 +520,8 @@ <table style="width: 100%" class="indextable genindextable"><tr> <td style="width: 33%; vertical-align: top;"><ul> <li><a href="quapy.html#quapy.protocol.OnLabelledCollectionProtocol.get_collator">get_collator() (quapy.protocol.OnLabelledCollectionProtocol class method)</a> +</li> + <li><a href="quapy.method.html#quapy.method.aggregative.BayesianCC.get_conditional_probability_samples">get_conditional_probability_samples() (quapy.method.aggregative.BayesianCC method)</a> </li> <li><a href="quapy.html#quapy.functional.get_divergence">get_divergence() (in module quapy.functional)</a> </li> @@ -542,6 +559,8 @@ </ul></li> </ul></td> <td style="width: 33%; vertical-align: top;"><ul> + <li><a href="quapy.method.html#quapy.method.aggregative.BayesianCC.get_prevalence_samples">get_prevalence_samples() (quapy.method.aggregative.BayesianCC method)</a> +</li> <li><a href="quapy.method.html#quapy.method.meta.get_probability_distribution">get_probability_distribution() (in module quapy.method.meta)</a> </li> <li><a href="quapy.html#quapy.util.get_quapy_home">get_quapy_home() (in module quapy.util)</a> @@ -653,6 +672,8 @@ <li><a href="quapy.html#quapy.error.mae">mae() (in module quapy.error)</a> </li> <li><a href="quapy.method.html#quapy.method._neural.mae_loss">mae_loss() (in module quapy.method._neural)</a> +</li> + <li><a href="quapy.html#quapy.functional.map_onto_probability_simplex">map_onto_probability_simplex() (in module quapy.functional)</a> </li> <li><a href="quapy.html#quapy.util.map_parallel">map_parallel() (in module quapy.util)</a> </li> @@ -673,6 +694,8 @@ <li><a href="quapy.method.html#quapy.method.meta.MedianEstimator">MedianEstimator (class in quapy.method.meta)</a> </li> <li><a href="quapy.method.html#quapy.method.meta.MedianEstimator2">MedianEstimator2 (class in quapy.method.meta)</a> +</li> + <li><a href="quapy.method.html#quapy.method.aggregative.ACC.METHODS">METHODS (quapy.method.aggregative.ACC attribute)</a> </li> <li><a href="quapy.html#quapy.error.mkld">mkld() (in module quapy.error)</a> </li> @@ -686,7 +709,7 @@ module <ul> - <li><a href="generated/quapy.html#module-quapy">quapy</a>, <a href="quapy.html#module-quapy">[1]</a> + <li><a href="quapy.html#module-quapy">quapy</a> </li> <li><a href="quapy.classification.html#module-quapy.classification">quapy.classification</a> </li> @@ -773,12 +796,14 @@ </li> <li><a href="quapy.method.html#quapy.method.aggregative.newELM">newELM() (in module quapy.method.aggregative)</a> </li> - <li><a href="quapy.method.html#quapy.method.base.newOneVsAll">newOneVsAll() (in module quapy.method.base)</a> + <li><a href="quapy.method.html#quapy.method.aggregative.ACC.newInvariantRatioEstimation">newInvariantRatioEstimation() (quapy.method.aggregative.ACC class method)</a> </li> - <li><a href="quapy.method.html#quapy.method.aggregative.newSVMAE">newSVMAE() (in module quapy.method.aggregative)</a> + <li><a href="quapy.method.html#quapy.method.base.newOneVsAll">newOneVsAll() (in module quapy.method.base)</a> </li> </ul></td> <td style="width: 33%; vertical-align: top;"><ul> + <li><a href="quapy.method.html#quapy.method.aggregative.newSVMAE">newSVMAE() (in module quapy.method.aggregative)</a> +</li> <li><a href="quapy.method.html#quapy.method.aggregative.newSVMKLD">newSVMKLD() (in module quapy.method.aggregative)</a> </li> <li><a href="quapy.method.html#quapy.method.aggregative.newSVMQ">newSVMQ() (in module quapy.method.aggregative)</a> @@ -830,6 +855,8 @@ <li><a href="quapy.method.html#quapy.method.aggregative.PACC">PACC (class in quapy.method.aggregative)</a> </li> <li><a href="quapy.html#quapy.util.parallel">parallel() (in module quapy.util)</a> +</li> + <li><a href="quapy.html#quapy.util.parallel_unpack">parallel_unpack() (in module quapy.util)</a> </li> <li><a href="quapy.method.html#quapy.method.aggregative.PCC">PCC (class in quapy.method.aggregative)</a> </li> @@ -911,6 +938,8 @@ <li><a href="quapy.method.html#quapy.method.non_aggregative.DMx.quantify">(quapy.method.non_aggregative.DMx method)</a> </li> <li><a href="quapy.method.html#quapy.method.non_aggregative.MaximumLikelihoodPrevalenceEstimation.quantify">(quapy.method.non_aggregative.MaximumLikelihoodPrevalenceEstimation method)</a> +</li> + <li><a href="quapy.method.html#quapy.method.non_aggregative.ReadMe.quantify">(quapy.method.non_aggregative.ReadMe method)</a> </li> <li><a href="quapy.html#quapy.model_selection.GridSearchQ.quantify">(quapy.model_selection.GridSearchQ method)</a> </li> @@ -919,7 +948,7 @@ quapy <ul> - <li><a href="generated/quapy.html#module-quapy">module</a>, <a href="quapy.html#module-quapy">[1]</a> + <li><a href="quapy.html#module-quapy">module</a> </li> </ul></li> <li> @@ -1108,15 +1137,17 @@ <li><a href="quapy.html#quapy.error.rae">rae() (in module quapy.error)</a> </li> <li><a href="quapy.html#quapy.protocol.AbstractStochasticSeededProtocol.random_state">random_state (quapy.protocol.AbstractStochasticSeededProtocol property)</a> +</li> + <li><a href="quapy.method.html#quapy.method.non_aggregative.ReadMe">ReadMe (class in quapy.method.non_aggregative)</a> </li> <li><a href="quapy.classification.html#quapy.classification.calibration.RecalibratedProbabilisticClassifier">RecalibratedProbabilisticClassifier (class in quapy.classification.calibration)</a> </li> <li><a href="quapy.classification.html#quapy.classification.calibration.RecalibratedProbabilisticClassifierBase">RecalibratedProbabilisticClassifierBase (class in quapy.classification.calibration)</a> -</li> - <li><a href="quapy.data.html#quapy.data.base.Dataset.reduce">reduce() (quapy.data.base.Dataset method)</a> </li> </ul></td> <td style="width: 33%; vertical-align: top;"><ul> + <li><a href="quapy.data.html#quapy.data.base.Dataset.reduce">reduce() (quapy.data.base.Dataset method)</a> +</li> <li><a href="quapy.data.html#quapy.data.preprocessing.reduce_columns">reduce_columns() (in module quapy.data.preprocessing)</a> </li> <li><a href="quapy.data.html#quapy.data.reader.reindex_labels">reindex_labels() (in module quapy.data.reader)</a> @@ -1145,6 +1176,8 @@ <li><a href="quapy.html#quapy.protocol.UPP.sample">(quapy.protocol.UPP method)</a> </li> </ul></li> + <li><a href="quapy.method.html#quapy.method.aggregative.BayesianCC.sample_from_posterior">sample_from_posterior() (quapy.method.aggregative.BayesianCC method)</a> +</li> <li><a href="quapy.html#quapy.protocol.AbstractStochasticSeededProtocol.samples_parameters">samples_parameters() (quapy.protocol.AbstractStochasticSeededProtocol method)</a> <ul> @@ -1193,7 +1226,9 @@ </li> <li><a href="quapy.html#quapy.error.smooth">smooth() (in module quapy.error)</a> </li> - <li><a href="quapy.method.html#quapy.method.aggregative.ACC.solve_adjustment">solve_adjustment() (quapy.method.aggregative.ACC class method)</a> + <li><a href="quapy.html#quapy.functional.solve_adjustment">solve_adjustment() (in module quapy.functional)</a> +</li> + <li><a href="quapy.method.html#quapy.method.aggregative.ACC.SOLVERS">SOLVERS (quapy.method.aggregative.ACC attribute)</a> </li> <li><a href="quapy.data.html#quapy.data.base.LabelledCollection.split_random">split_random() (quapy.data.base.LabelledCollection method)</a> </li> @@ -1210,6 +1245,8 @@ </li> </ul></li> <li><a href="quapy.html#quapy.model_selection.Status">Status (class in quapy.model_selection)</a> +</li> + <li><a href="quapy.method.html#quapy.method.non_aggregative.ReadMe.std_constrained_linear_ls">std_constrained_linear_ls() (quapy.method.non_aggregative.ReadMe method)</a> </li> <li><a href="quapy.html#quapy.functional.strprev">strprev() (in module quapy.functional)</a> </li> @@ -1261,6 +1298,16 @@ <td style="width: 33%; vertical-align: top;"><ul> <li><a href="quapy.data.html#quapy.data.base.Dataset.train_test">train_test (quapy.data.base.Dataset property)</a> </li> + <li><a href="quapy.classification.html#quapy.classification.neural.CNNnet.training">training (quapy.classification.neural.CNNnet attribute)</a> + + <ul> + <li><a href="quapy.classification.html#quapy.classification.neural.LSTMnet.training">(quapy.classification.neural.LSTMnet attribute)</a> +</li> + <li><a href="quapy.classification.html#quapy.classification.neural.TextClassifierNet.training">(quapy.classification.neural.TextClassifierNet attribute)</a> +</li> + <li><a href="quapy.method.html#quapy.method._neural.QuaNetModule.training">(quapy.method._neural.QuaNetModule attribute)</a> +</li> + </ul></li> <li><a href="quapy.classification.html#quapy.classification.methods.LowRankLogisticRegression.transform">transform() (quapy.classification.methods.LowRankLogisticRegression method)</a> <ul> diff --git a/docs/build/html/index.html b/docs/build/html/index.html index 89d92c8..7d09502 100644 --- a/docs/build/html/index.html +++ b/docs/build/html/index.html @@ -1,24 +1,24 @@ <!DOCTYPE html> -<html class="writer-html5" lang="en" data-content_root="./"> +<html class="writer-html5" lang="en"> <head> <meta charset="utf-8" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> - <title>Welcome to QuaPy’s documentation! — QuaPy: A Python-based open-source framework for quantification 0.1.8 documentation</title> - <link rel="stylesheet" type="text/css" href="_static/pygments.css?v=92fd9be5" /> - <link rel="stylesheet" type="text/css" href="_static/css/theme.css?v=19f00094" /> + <title>Welcome to QuaPy’s documentation! — QuaPy: A Python-based open-source framework for quantification 0.1.9 documentation</title> + <link rel="stylesheet" type="text/css" href="_static/pygments.css" /> + <link rel="stylesheet" type="text/css" href="_static/css/theme.css" /> <!--[if lt IE 9]> <script src="_static/js/html5shiv.min.js"></script> <![endif]--> - <script src="_static/jquery.js?v=5d32c60e"></script> - <script src="_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script> - <script src="_static/documentation_options.js?v=22607128"></script> - <script src="_static/doctools.js?v=9a2dae69"></script> - <script src="_static/sphinx_highlight.js?v=dc90522c"></script> - <script async="async" src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script> + <script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script> + <script src="_static/jquery.js"></script> + <script src="_static/underscore.js"></script> + <script src="_static/_sphinx_javascript_frameworks_compat.js"></script> + <script src="_static/doctools.js"></script> + <script src="_static/sphinx_highlight.js"></script> <script src="_static/js/theme.js"></script> <link rel="index" title="Index" href="genindex.html" /> <link rel="search" title="Search" href="search.html" /> @@ -73,21 +73,21 @@ <div itemprop="articleBody"> <section id="welcome-to-quapy-s-documentation"> -<h1>Welcome to QuaPy’s documentation!<a class="headerlink" href="#welcome-to-quapy-s-documentation" title="Link to this heading"></a></h1> +<h1>Welcome to QuaPy’s documentation!<a class="headerlink" href="#welcome-to-quapy-s-documentation" title="Permalink to this heading"></a></h1> <p>QuaPy is a Python-based open-source framework for quantification.</p> <p>This document contains the API of the modules included in QuaPy.</p> <section id="installation"> -<h2>Installation<a class="headerlink" href="#installation" title="Link to this heading"></a></h2> +<h2>Installation<a class="headerlink" href="#installation" title="Permalink to this heading"></a></h2> <p><cite>pip install quapy</cite></p> </section> <section id="github"> -<h2>GitHub<a class="headerlink" href="#github" title="Link to this heading"></a></h2> +<h2>GitHub<a class="headerlink" href="#github" title="Permalink to this heading"></a></h2> <p>QuaPy is hosted in GitHub at <a class="reference external" href="https://github.com/HLT-ISTI/QuaPy">https://github.com/HLT-ISTI/QuaPy</a></p> <div class="toctree-wrapper compound"> </div> </section> <section id="contents"> -<h2>Contents<a class="headerlink" href="#contents" title="Link to this heading"></a></h2> +<h2>Contents<a class="headerlink" href="#contents" title="Permalink to this heading"></a></h2> <div class="toctree-wrapper compound"> <ul> <li class="toctree-l1"><a class="reference internal" href="modules.html">quapy</a><ul> @@ -128,12 +128,14 @@ <li class="toctree-l6"><a class="reference internal" href="quapy.classification.html#quapy.classification.neural.CNNnet"><code class="docutils literal notranslate"><span class="pre">CNNnet</span></code></a><ul> <li class="toctree-l7"><a class="reference internal" href="quapy.classification.html#quapy.classification.neural.CNNnet.document_embedding"><code class="docutils literal notranslate"><span class="pre">CNNnet.document_embedding()</span></code></a></li> <li class="toctree-l7"><a class="reference internal" href="quapy.classification.html#quapy.classification.neural.CNNnet.get_params"><code class="docutils literal notranslate"><span class="pre">CNNnet.get_params()</span></code></a></li> +<li class="toctree-l7"><a class="reference internal" href="quapy.classification.html#quapy.classification.neural.CNNnet.training"><code class="docutils literal notranslate"><span class="pre">CNNnet.training</span></code></a></li> <li class="toctree-l7"><a class="reference internal" href="quapy.classification.html#quapy.classification.neural.CNNnet.vocabulary_size"><code class="docutils literal notranslate"><span class="pre">CNNnet.vocabulary_size</span></code></a></li> </ul> </li> <li class="toctree-l6"><a class="reference internal" href="quapy.classification.html#quapy.classification.neural.LSTMnet"><code class="docutils literal notranslate"><span class="pre">LSTMnet</span></code></a><ul> <li class="toctree-l7"><a class="reference internal" href="quapy.classification.html#quapy.classification.neural.LSTMnet.document_embedding"><code class="docutils literal notranslate"><span class="pre">LSTMnet.document_embedding()</span></code></a></li> <li class="toctree-l7"><a class="reference internal" href="quapy.classification.html#quapy.classification.neural.LSTMnet.get_params"><code class="docutils literal notranslate"><span class="pre">LSTMnet.get_params()</span></code></a></li> +<li class="toctree-l7"><a class="reference internal" href="quapy.classification.html#quapy.classification.neural.LSTMnet.training"><code class="docutils literal notranslate"><span class="pre">LSTMnet.training</span></code></a></li> <li class="toctree-l7"><a class="reference internal" href="quapy.classification.html#quapy.classification.neural.LSTMnet.vocabulary_size"><code class="docutils literal notranslate"><span class="pre">LSTMnet.vocabulary_size</span></code></a></li> </ul> </li> @@ -154,6 +156,7 @@ <li class="toctree-l7"><a class="reference internal" href="quapy.classification.html#quapy.classification.neural.TextClassifierNet.forward"><code class="docutils literal notranslate"><span class="pre">TextClassifierNet.forward()</span></code></a></li> <li class="toctree-l7"><a class="reference internal" href="quapy.classification.html#quapy.classification.neural.TextClassifierNet.get_params"><code class="docutils literal notranslate"><span class="pre">TextClassifierNet.get_params()</span></code></a></li> <li class="toctree-l7"><a class="reference internal" href="quapy.classification.html#quapy.classification.neural.TextClassifierNet.predict_proba"><code class="docutils literal notranslate"><span class="pre">TextClassifierNet.predict_proba()</span></code></a></li> +<li class="toctree-l7"><a class="reference internal" href="quapy.classification.html#quapy.classification.neural.TextClassifierNet.training"><code class="docutils literal notranslate"><span class="pre">TextClassifierNet.training</span></code></a></li> <li class="toctree-l7"><a class="reference internal" href="quapy.classification.html#quapy.classification.neural.TextClassifierNet.vocabulary_size"><code class="docutils literal notranslate"><span class="pre">TextClassifierNet.vocabulary_size</span></code></a></li> <li class="toctree-l7"><a class="reference internal" href="quapy.classification.html#quapy.classification.neural.TextClassifierNet.xavier_uniform"><code class="docutils literal notranslate"><span class="pre">TextClassifierNet.xavier_uniform()</span></code></a></li> </ul> @@ -260,10 +263,13 @@ <li class="toctree-l5"><a class="reference internal" href="quapy.method.html#submodules">Submodules</a></li> <li class="toctree-l5"><a class="reference internal" href="quapy.method.html#module-quapy.method.aggregative">quapy.method.aggregative module</a><ul> <li class="toctree-l6"><a class="reference internal" href="quapy.method.html#quapy.method.aggregative.ACC"><code class="docutils literal notranslate"><span class="pre">ACC</span></code></a><ul> +<li class="toctree-l7"><a class="reference internal" href="quapy.method.html#quapy.method.aggregative.ACC.CLIPPING"><code class="docutils literal notranslate"><span class="pre">ACC.CLIPPING</span></code></a></li> +<li class="toctree-l7"><a class="reference internal" href="quapy.method.html#quapy.method.aggregative.ACC.METHODS"><code class="docutils literal notranslate"><span class="pre">ACC.METHODS</span></code></a></li> +<li class="toctree-l7"><a class="reference internal" href="quapy.method.html#quapy.method.aggregative.ACC.SOLVERS"><code class="docutils literal notranslate"><span class="pre">ACC.SOLVERS</span></code></a></li> <li class="toctree-l7"><a class="reference internal" href="quapy.method.html#quapy.method.aggregative.ACC.aggregate"><code class="docutils literal notranslate"><span class="pre">ACC.aggregate()</span></code></a></li> <li class="toctree-l7"><a class="reference internal" href="quapy.method.html#quapy.method.aggregative.ACC.aggregation_fit"><code class="docutils literal notranslate"><span class="pre">ACC.aggregation_fit()</span></code></a></li> <li class="toctree-l7"><a class="reference internal" href="quapy.method.html#quapy.method.aggregative.ACC.getPteCondEstim"><code class="docutils literal notranslate"><span class="pre">ACC.getPteCondEstim()</span></code></a></li> -<li class="toctree-l7"><a class="reference internal" href="quapy.method.html#quapy.method.aggregative.ACC.solve_adjustment"><code class="docutils literal notranslate"><span class="pre">ACC.solve_adjustment()</span></code></a></li> +<li class="toctree-l7"><a class="reference internal" href="quapy.method.html#quapy.method.aggregative.ACC.newInvariantRatioEstimation"><code class="docutils literal notranslate"><span class="pre">ACC.newInvariantRatioEstimation()</span></code></a></li> </ul> </li> <li class="toctree-l6"><a class="reference internal" href="quapy.method.html#quapy.method.aggregative.AdjustedClassifyAndCount"><code class="docutils literal notranslate"><span class="pre">AdjustedClassifyAndCount</span></code></a></li> @@ -289,6 +295,14 @@ </ul> </li> <li class="toctree-l6"><a class="reference internal" href="quapy.method.html#quapy.method.aggregative.AggregativeSoftQuantifier"><code class="docutils literal notranslate"><span class="pre">AggregativeSoftQuantifier</span></code></a></li> +<li class="toctree-l6"><a class="reference internal" href="quapy.method.html#quapy.method.aggregative.BayesianCC"><code class="docutils literal notranslate"><span class="pre">BayesianCC</span></code></a><ul> +<li class="toctree-l7"><a class="reference internal" href="quapy.method.html#quapy.method.aggregative.BayesianCC.aggregate"><code class="docutils literal notranslate"><span class="pre">BayesianCC.aggregate()</span></code></a></li> +<li class="toctree-l7"><a class="reference internal" href="quapy.method.html#quapy.method.aggregative.BayesianCC.aggregation_fit"><code class="docutils literal notranslate"><span class="pre">BayesianCC.aggregation_fit()</span></code></a></li> +<li class="toctree-l7"><a class="reference internal" href="quapy.method.html#quapy.method.aggregative.BayesianCC.get_conditional_probability_samples"><code class="docutils literal notranslate"><span class="pre">BayesianCC.get_conditional_probability_samples()</span></code></a></li> +<li class="toctree-l7"><a class="reference internal" href="quapy.method.html#quapy.method.aggregative.BayesianCC.get_prevalence_samples"><code class="docutils literal notranslate"><span class="pre">BayesianCC.get_prevalence_samples()</span></code></a></li> +<li class="toctree-l7"><a class="reference internal" href="quapy.method.html#quapy.method.aggregative.BayesianCC.sample_from_posterior"><code class="docutils literal notranslate"><span class="pre">BayesianCC.sample_from_posterior()</span></code></a></li> +</ul> +</li> <li class="toctree-l6"><a class="reference internal" href="quapy.method.html#quapy.method.aggregative.BinaryAggregativeQuantifier"><code class="docutils literal notranslate"><span class="pre">BinaryAggregativeQuantifier</span></code></a><ul> <li class="toctree-l7"><a class="reference internal" href="quapy.method.html#quapy.method.aggregative.BinaryAggregativeQuantifier.fit"><code class="docutils literal notranslate"><span class="pre">BinaryAggregativeQuantifier.fit()</span></code></a></li> <li class="toctree-l7"><a class="reference internal" href="quapy.method.html#quapy.method.aggregative.BinaryAggregativeQuantifier.neg_label"><code class="docutils literal notranslate"><span class="pre">BinaryAggregativeQuantifier.neg_label</span></code></a></li> @@ -385,6 +399,7 @@ <li class="toctree-l6"><a class="reference internal" href="quapy.method.html#quapy.method._neural.QuaNetModule"><code class="docutils literal notranslate"><span class="pre">QuaNetModule</span></code></a><ul> <li class="toctree-l7"><a class="reference internal" href="quapy.method.html#quapy.method._neural.QuaNetModule.device"><code class="docutils literal notranslate"><span class="pre">QuaNetModule.device</span></code></a></li> <li class="toctree-l7"><a class="reference internal" href="quapy.method.html#quapy.method._neural.QuaNetModule.forward"><code class="docutils literal notranslate"><span class="pre">QuaNetModule.forward()</span></code></a></li> +<li class="toctree-l7"><a class="reference internal" href="quapy.method.html#quapy.method._neural.QuaNetModule.training"><code class="docutils literal notranslate"><span class="pre">QuaNetModule.training</span></code></a></li> </ul> </li> <li class="toctree-l6"><a class="reference internal" href="quapy.method.html#quapy.method._neural.QuaNetTrainer"><code class="docutils literal notranslate"><span class="pre">QuaNetTrainer</span></code></a><ul> @@ -494,6 +509,12 @@ <li class="toctree-l7"><a class="reference internal" href="quapy.method.html#quapy.method.non_aggregative.MaximumLikelihoodPrevalenceEstimation.quantify"><code class="docutils literal notranslate"><span class="pre">MaximumLikelihoodPrevalenceEstimation.quantify()</span></code></a></li> </ul> </li> +<li class="toctree-l6"><a class="reference internal" href="quapy.method.html#quapy.method.non_aggregative.ReadMe"><code class="docutils literal notranslate"><span class="pre">ReadMe</span></code></a><ul> +<li class="toctree-l7"><a class="reference internal" href="quapy.method.html#quapy.method.non_aggregative.ReadMe.fit"><code class="docutils literal notranslate"><span class="pre">ReadMe.fit()</span></code></a></li> +<li class="toctree-l7"><a class="reference internal" href="quapy.method.html#quapy.method.non_aggregative.ReadMe.quantify"><code class="docutils literal notranslate"><span class="pre">ReadMe.quantify()</span></code></a></li> +<li class="toctree-l7"><a class="reference internal" href="quapy.method.html#quapy.method.non_aggregative.ReadMe.std_constrained_linear_ls"><code class="docutils literal notranslate"><span class="pre">ReadMe.std_constrained_linear_ls()</span></code></a></li> +</ul> +</li> </ul> </li> <li class="toctree-l5"><a class="reference internal" href="quapy.method.html#module-quapy.method">Module contents</a></li> @@ -547,15 +568,19 @@ <li class="toctree-l4"><a class="reference internal" href="quapy.html#quapy.functional.argmin_prevalence"><code class="docutils literal notranslate"><span class="pre">argmin_prevalence()</span></code></a></li> <li class="toctree-l4"><a class="reference internal" href="quapy.html#quapy.functional.as_binary_prevalence"><code class="docutils literal notranslate"><span class="pre">as_binary_prevalence()</span></code></a></li> <li class="toctree-l4"><a class="reference internal" href="quapy.html#quapy.functional.check_prevalence_vector"><code class="docutils literal notranslate"><span class="pre">check_prevalence_vector()</span></code></a></li> +<li class="toctree-l4"><a class="reference internal" href="quapy.html#quapy.functional.clip_prevalence"><code class="docutils literal notranslate"><span class="pre">clip_prevalence()</span></code></a></li> +<li class="toctree-l4"><a class="reference internal" href="quapy.html#quapy.functional.counts_from_labels"><code class="docutils literal notranslate"><span class="pre">counts_from_labels()</span></code></a></li> <li class="toctree-l4"><a class="reference internal" href="quapy.html#quapy.functional.get_divergence"><code class="docutils literal notranslate"><span class="pre">get_divergence()</span></code></a></li> <li class="toctree-l4"><a class="reference internal" href="quapy.html#quapy.functional.get_nprevpoints_approximation"><code class="docutils literal notranslate"><span class="pre">get_nprevpoints_approximation()</span></code></a></li> <li class="toctree-l4"><a class="reference internal" href="quapy.html#quapy.functional.linear_search"><code class="docutils literal notranslate"><span class="pre">linear_search()</span></code></a></li> +<li class="toctree-l4"><a class="reference internal" href="quapy.html#quapy.functional.map_onto_probability_simplex"><code class="docutils literal notranslate"><span class="pre">map_onto_probability_simplex()</span></code></a></li> <li class="toctree-l4"><a class="reference internal" href="quapy.html#quapy.functional.normalize_prevalence"><code class="docutils literal notranslate"><span class="pre">normalize_prevalence()</span></code></a></li> <li class="toctree-l4"><a class="reference internal" href="quapy.html#quapy.functional.num_prevalence_combinations"><code class="docutils literal notranslate"><span class="pre">num_prevalence_combinations()</span></code></a></li> <li class="toctree-l4"><a class="reference internal" href="quapy.html#quapy.functional.optim_minimize"><code class="docutils literal notranslate"><span class="pre">optim_minimize()</span></code></a></li> <li class="toctree-l4"><a class="reference internal" href="quapy.html#quapy.functional.prevalence_from_labels"><code class="docutils literal notranslate"><span class="pre">prevalence_from_labels()</span></code></a></li> <li class="toctree-l4"><a class="reference internal" href="quapy.html#quapy.functional.prevalence_from_probabilities"><code class="docutils literal notranslate"><span class="pre">prevalence_from_probabilities()</span></code></a></li> <li class="toctree-l4"><a class="reference internal" href="quapy.html#quapy.functional.prevalence_linspace"><code class="docutils literal notranslate"><span class="pre">prevalence_linspace()</span></code></a></li> +<li class="toctree-l4"><a class="reference internal" href="quapy.html#quapy.functional.solve_adjustment"><code class="docutils literal notranslate"><span class="pre">solve_adjustment()</span></code></a></li> <li class="toctree-l4"><a class="reference internal" href="quapy.html#quapy.functional.strprev"><code class="docutils literal notranslate"><span class="pre">strprev()</span></code></a></li> <li class="toctree-l4"><a class="reference internal" href="quapy.html#quapy.functional.uniform_prevalence_sampling"><code class="docutils literal notranslate"><span class="pre">uniform_prevalence_sampling()</span></code></a></li> <li class="toctree-l4"><a class="reference internal" href="quapy.html#quapy.functional.uniform_simplex_sampling"><code class="docutils literal notranslate"><span class="pre">uniform_simplex_sampling()</span></code></a></li> @@ -657,6 +682,7 @@ <li class="toctree-l4"><a class="reference internal" href="quapy.html#quapy.util.get_quapy_home"><code class="docutils literal notranslate"><span class="pre">get_quapy_home()</span></code></a></li> <li class="toctree-l4"><a class="reference internal" href="quapy.html#quapy.util.map_parallel"><code class="docutils literal notranslate"><span class="pre">map_parallel()</span></code></a></li> <li class="toctree-l4"><a class="reference internal" href="quapy.html#quapy.util.parallel"><code class="docutils literal notranslate"><span class="pre">parallel()</span></code></a></li> +<li class="toctree-l4"><a class="reference internal" href="quapy.html#quapy.util.parallel_unpack"><code class="docutils literal notranslate"><span class="pre">parallel_unpack()</span></code></a></li> <li class="toctree-l4"><a class="reference internal" href="quapy.html#quapy.util.pickled_resource"><code class="docutils literal notranslate"><span class="pre">pickled_resource()</span></code></a></li> <li class="toctree-l4"><a class="reference internal" href="quapy.html#quapy.util.save_text_file"><code class="docutils literal notranslate"><span class="pre">save_text_file()</span></code></a></li> <li class="toctree-l4"><a class="reference internal" href="quapy.html#quapy.util.temp_seed"><code class="docutils literal notranslate"><span class="pre">temp_seed()</span></code></a></li> @@ -673,7 +699,7 @@ </section> </section> <section id="indices-and-tables"> -<h1>Indices and tables<a class="headerlink" href="#indices-and-tables" title="Link to this heading"></a></h1> +<h1>Indices and tables<a class="headerlink" href="#indices-and-tables" title="Permalink to this heading"></a></h1> <ul class="simple"> <li><p><a class="reference internal" href="genindex.html"><span class="std std-ref">Index</span></a></p></li> <li><p><a class="reference internal" href="py-modindex.html"><span class="std std-ref">Module Index</span></a></p></li> diff --git a/docs/build/html/modules.html b/docs/build/html/modules.html index 4942493..96bd5b3 100644 --- a/docs/build/html/modules.html +++ b/docs/build/html/modules.html @@ -1,24 +1,24 @@ <!DOCTYPE html> -<html class="writer-html5" lang="en" data-content_root="./"> +<html class="writer-html5" lang="en"> <head> <meta charset="utf-8" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> - <title>quapy — QuaPy: A Python-based open-source framework for quantification 0.1.8 documentation</title> - <link rel="stylesheet" type="text/css" href="_static/pygments.css?v=92fd9be5" /> - <link rel="stylesheet" type="text/css" href="_static/css/theme.css?v=19f00094" /> + <title>quapy — QuaPy: A Python-based open-source framework for quantification 0.1.9 documentation</title> + <link rel="stylesheet" type="text/css" href="_static/pygments.css" /> + <link rel="stylesheet" type="text/css" href="_static/css/theme.css" /> <!--[if lt IE 9]> <script src="_static/js/html5shiv.min.js"></script> <![endif]--> - <script src="_static/jquery.js?v=5d32c60e"></script> - <script src="_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script> - <script src="_static/documentation_options.js?v=22607128"></script> - <script src="_static/doctools.js?v=9a2dae69"></script> - <script src="_static/sphinx_highlight.js?v=dc90522c"></script> - <script async="async" src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script> + <script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script> + <script src="_static/jquery.js"></script> + <script src="_static/underscore.js"></script> + <script src="_static/_sphinx_javascript_frameworks_compat.js"></script> + <script src="_static/doctools.js"></script> + <script src="_static/sphinx_highlight.js"></script> <script src="_static/js/theme.js"></script> <link rel="index" title="Index" href="genindex.html" /> <link rel="search" title="Search" href="search.html" /> @@ -77,7 +77,7 @@ <div itemprop="articleBody"> <section id="quapy"> -<h1>quapy<a class="headerlink" href="#quapy" title="Link to this heading"></a></h1> +<h1>quapy<a class="headerlink" href="#quapy" title="Permalink to this heading"></a></h1> <div class="toctree-wrapper compound"> <ul> <li class="toctree-l1"><a class="reference internal" href="quapy.html">quapy package</a><ul> @@ -157,15 +157,19 @@ <li class="toctree-l3"><a class="reference internal" href="quapy.html#quapy.functional.argmin_prevalence"><code class="docutils literal notranslate"><span class="pre">argmin_prevalence()</span></code></a></li> <li class="toctree-l3"><a class="reference internal" href="quapy.html#quapy.functional.as_binary_prevalence"><code class="docutils literal notranslate"><span class="pre">as_binary_prevalence()</span></code></a></li> <li class="toctree-l3"><a class="reference internal" href="quapy.html#quapy.functional.check_prevalence_vector"><code class="docutils literal notranslate"><span class="pre">check_prevalence_vector()</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="quapy.html#quapy.functional.clip_prevalence"><code class="docutils literal notranslate"><span class="pre">clip_prevalence()</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="quapy.html#quapy.functional.counts_from_labels"><code class="docutils literal notranslate"><span class="pre">counts_from_labels()</span></code></a></li> <li class="toctree-l3"><a class="reference internal" href="quapy.html#quapy.functional.get_divergence"><code class="docutils literal notranslate"><span class="pre">get_divergence()</span></code></a></li> <li class="toctree-l3"><a class="reference internal" href="quapy.html#quapy.functional.get_nprevpoints_approximation"><code class="docutils literal notranslate"><span class="pre">get_nprevpoints_approximation()</span></code></a></li> <li class="toctree-l3"><a class="reference internal" href="quapy.html#quapy.functional.linear_search"><code class="docutils literal notranslate"><span class="pre">linear_search()</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="quapy.html#quapy.functional.map_onto_probability_simplex"><code class="docutils literal notranslate"><span class="pre">map_onto_probability_simplex()</span></code></a></li> <li class="toctree-l3"><a class="reference internal" href="quapy.html#quapy.functional.normalize_prevalence"><code class="docutils literal notranslate"><span class="pre">normalize_prevalence()</span></code></a></li> <li class="toctree-l3"><a class="reference internal" href="quapy.html#quapy.functional.num_prevalence_combinations"><code class="docutils literal notranslate"><span class="pre">num_prevalence_combinations()</span></code></a></li> <li class="toctree-l3"><a class="reference internal" href="quapy.html#quapy.functional.optim_minimize"><code class="docutils literal notranslate"><span class="pre">optim_minimize()</span></code></a></li> <li class="toctree-l3"><a class="reference internal" href="quapy.html#quapy.functional.prevalence_from_labels"><code class="docutils literal notranslate"><span class="pre">prevalence_from_labels()</span></code></a></li> <li class="toctree-l3"><a class="reference internal" href="quapy.html#quapy.functional.prevalence_from_probabilities"><code class="docutils literal notranslate"><span class="pre">prevalence_from_probabilities()</span></code></a></li> <li class="toctree-l3"><a class="reference internal" href="quapy.html#quapy.functional.prevalence_linspace"><code class="docutils literal notranslate"><span class="pre">prevalence_linspace()</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="quapy.html#quapy.functional.solve_adjustment"><code class="docutils literal notranslate"><span class="pre">solve_adjustment()</span></code></a></li> <li class="toctree-l3"><a class="reference internal" href="quapy.html#quapy.functional.strprev"><code class="docutils literal notranslate"><span class="pre">strprev()</span></code></a></li> <li class="toctree-l3"><a class="reference internal" href="quapy.html#quapy.functional.uniform_prevalence_sampling"><code class="docutils literal notranslate"><span class="pre">uniform_prevalence_sampling()</span></code></a></li> <li class="toctree-l3"><a class="reference internal" href="quapy.html#quapy.functional.uniform_simplex_sampling"><code class="docutils literal notranslate"><span class="pre">uniform_simplex_sampling()</span></code></a></li> @@ -267,6 +271,7 @@ <li class="toctree-l3"><a class="reference internal" href="quapy.html#quapy.util.get_quapy_home"><code class="docutils literal notranslate"><span class="pre">get_quapy_home()</span></code></a></li> <li class="toctree-l3"><a class="reference internal" href="quapy.html#quapy.util.map_parallel"><code class="docutils literal notranslate"><span class="pre">map_parallel()</span></code></a></li> <li class="toctree-l3"><a class="reference internal" href="quapy.html#quapy.util.parallel"><code class="docutils literal notranslate"><span class="pre">parallel()</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="quapy.html#quapy.util.parallel_unpack"><code class="docutils literal notranslate"><span class="pre">parallel_unpack()</span></code></a></li> <li class="toctree-l3"><a class="reference internal" href="quapy.html#quapy.util.pickled_resource"><code class="docutils literal notranslate"><span class="pre">pickled_resource()</span></code></a></li> <li class="toctree-l3"><a class="reference internal" href="quapy.html#quapy.util.save_text_file"><code class="docutils literal notranslate"><span class="pre">save_text_file()</span></code></a></li> <li class="toctree-l3"><a class="reference internal" href="quapy.html#quapy.util.temp_seed"><code class="docutils literal notranslate"><span class="pre">temp_seed()</span></code></a></li> diff --git a/docs/build/html/objects.inv b/docs/build/html/objects.inv index 35f168130d4d3c1e21a165886f1409a2edba1787..c545ad3f0d4b554cf7e42ca2a2c3efe7aff55be4 100644 GIT binary patch delta 3364 zcmV+<4cqdM8nGLYu7Ayv;y4n3@BI{P>|Wc^T@ibkTNTh<!~jJXR87xGA#4GfvMrA! zQ!uA}jeWg+l9g-&HVCk!q~=iF{5ZdqQmIs0lEt4n&bFOw`%A*2JSLqloj>&_!Ad6a zKg-WP|Eu%)Q~7BaV<G5*hFDUT8pN6xw4wwdj_I7=h!{L{XMfXfQ$ule=j#Opt;pkt z*Bg<a$?hGACY;UjoW@j08g?rg!ar8q0~X}tHI@h>kXD^>mJu$uAE$jmW#NxRu2}S; zYEiiUyEIFV);Rt<v}c?|G?ag%YLw|~APaD-&;uEG%DM`m&|A@hA$xzu>D!Pk3xhwC zB`4}SsM4P2Lw|JJ>q?eHc?;$^5x3U`)G=Bsg6Rg=)rk+Zq2xFf3&s;)RVm4N6(9XO zO9>0Q<8ex)XUAx;f{2BALQ;uHGAB_)(<MyBcYHYiZ*o;T(X=WpmXgzXE(rv9%|blS zW6ZZm(7%X(Mp5C1)7c2D@haHuT5qQSy!m!u`1ae8Z-3Q*<Kn+VLNL=c@XoI<!-I&d zX?XKGKn#UfG=MwOIYmH&U^^`^Bj6QXYG_i%OFznh;-eG+54FLJY~(@97%JADV1tON zn5(k|ajTNwF0h}fQZ4X~d2};Ac+Wpoaf{w~ss(<?I@NKj!Ru7h2CvmCl&2K33o;(A zdRVG^Wq+vNS0e^k=vOhrQ917Vlvu12W!42yf?m;r>Fa1m^{D$1O=STg)$s-`@-*B} zfBIK`uK-~DKSlzL!^hY)j%kEqrl<Q{I%1?8$k68c<1;N?d^NA;H66r)v;E;9eL*ak zW-*mhsi$yM-!;YQcAPm)Rah}bly-oNldSC!Z-3vqug(?F{oYwPMOE=VO0PURFOzYn zA_$44aF#AcA0&y89yMq)yj&&?@tnjliMmYv8=7YoZ3)3okb(q1Ga$|uhU47h46Kml zse|_zNPjSzLU5e=vVr5&tqmNX9&W$^`H~t2)sRI}hqz&&37n|Wz<4v@%t8y!5=7I8 zY=1zpa6~--B6YJEu>_7M+(%Rs(<!zaKvh1DAY1yF3D-21!7VC>A>oio?L>nGk>Lsr zzI7ioWuFkY)?EQ!x`T%zJlC=_f0%i6^x=;3SkfY}0TuKB1TJh$)OUAZ?(V!ODqK?X zF1#4>ol05WAv!SLF}E~?it(xsgn9+3>VL3yzTJ=y2D)?3c5`E<3FdYMIROPYiqJdb zRsrt{(tP9SK|_~j1zowfU>Z_sH}XChJ33r-TY^Fs=SeDjNNN;IBg~_!KCT!^Hu6p` zXtc1SaI&A+vFkvkV3}`Qm%S1$vY=3`-GxPlx$sb~&E_P{N#R2%)&ae}0}##`Z-2d` zuedtEbD`W!60{dSQDxE+;4pL$Ar@C#T)X&cTb9LF8@z7J6ekuUZ*kQA;>4z|3Bf6H zZM8x;Rq+nTs#`^198O}Dd#{Nf(4S&w_SDMmsU@6S(e17l78hI9(yo#Ko&@Pcb|$yG z*tcvpEhZAi<f_&6YaHk2_D`P)`+s|p-AiJpX)lIYTHb*Y;YQF4AS%ybTw2OkOA+U8 zaE=6b-y1h?nT>Q12_DrgmCAt#?@^siwHv}}@-vnRMjVB4^hYkF>Kp2tR5rHX+fev2 zp($$4T-nGARL*?5Bf=F4-)iD$t!_};^`AN=rkO_>iW%2(cI-lCbsnG>zJDVX1o+ZH zyB1D$*)v9UF>t05><vv^8dNzX!5j(oPq?y_O>m|<u4Lufy51Ho^$m~i#v4o2K6bme zNt!2huLxP9Jx%VmVpxz^CTW6{pVQ>r9m9FyS`pmc;}~)<FeM%=)!6Dr#M-iIn9{>l z5kU0D6I*e~br~$Bb`z7e;(yoYJsn7uXIf#Z+xF97Uw&~W=2u^$w}@<gWP@LOee+W@ zb;M=a;NgDU`)$yhJ)%*6_W0B@uZ&v&b@)*qT-tD8NlWNP=Dg^$8B2+IG0TFPm9q;@ zfNgi`YHlSO;N_B&Wt9oJ7GO^)_H`Ji(b}_?9IIf4RfBJ|p^?ZFcYoev&)GPSJqY8} zDBi{y4V^198bVa2Mscmo*+&Ul1(|9i)sGyHi5!&xOOqH7mv$!G!_MzPv}ax3rf0!B zyTRL@ae42I6Hm{86lrpiAo^ME995;S9ER-f_D7(LyGb2*)t%B7h9<mAmta!tZZjq> zmkDykiCD2XLPc`x8h<a2Fu~~lr)?K7Ak^(t8d0ZI;)FK!E|1R`egWnh;0;JfbKUvd z>n@0>2wg(-F>ChkFTTZ52tfPHcJH6`Tl&|TM`Zz^fKGRXkKU<V9fWSI4$AG#T5jCZ zV2<q_B|T!~z9rVgG3?g}!F{)DS(hW}pgSB)CWG;JhaBt}Re#>lP60^Mr{Qb=8G_{8 zkI#V|d(bgXB}WrUy2^|CVwVAU;8OBFNY|KCl_EXsLKal)>7c=VHA`JRkFvc_qpqH7 z^=+8L>n^7v`%%q-TW9cRpd%6~LsTYUw}A$}PH>*=o;bHu;F?Ld#0%*1L;J^p2NWMJ zq9G!NQGxrNYJW@i-sHEVYs;YX4<Nzl*}{`=(xAZovPNFx7!{kTZ_%22ID#7&rfeZW zy8Q#*5~0GASE6))zyu5f4<Jg^sCo$5r>LrV8cTwQm3<&h$BRN>@RC+7x-pfBaLTwB zyIAdp9$GF?eFMcMbV`=xdZu5ezNA7K9YTdy=Y#5Wuz#HmI3@0lwjL%@(l9ovg8+=A zH^&qfQLGV`;fkiq-+e8$o%&d6I|Z`Tb_!{!{^*BCt(3I-^VF~ZkUm<|n=_dXhEHS9 zcGjfP{ZBNQ^`8MyAdOxJ!8AHZimEx+4%TQ7+hin^xa_i<{p4G7p!8^r$DU85Q_?U^ zSqA|$<$uX$Lf<g=l#*9*AIJC2`9ept8E7zOG=U*pdg3>;IRTsdn*dM#O@L?rCVqAT zGZV0t>L<J2Xcp3RdMp%sI_&upMk9}QRnjo+S_c8NYf9ex!;$@p`4MCKI=b&eP<}1j z$rtkj0`lxqr8B49v{^?go)p&`^qlX34Fs3_U4IkCbt<f66?e3L)!GegKC<6QN;nMx z5FT^AMx1La9do>zNx6O9%65*g{=<%ruSJ7?m0;Lw4f^hqeV0&CidK2Ei|E9ouBjl& z+<G5kLpFH59}aqG@-!TD2Yr`S-6rm63Ei$cG*J%ypb2nat7~$ydNSf$E7xAxqzJ#N z`F}0Knh?&d1-HOz#Ce$;Zt>KFy8|%$9hBYgfDL~KYWX`~)03*>e8c(yIM-lZuBRMU zYogi|sy#AQDZBrUqa#Yt8*ME8%0LJndmCFjn=lT}X~MX=(h18j<^9uP$UEj1b8&ex zq;DjqE5@S9e$lPD*T<t(TIql=csoT<O@H!Ca5N&GwkaVHm9I#!wF`ud^op-2o~a-a zs-7f`En*pqNQ?xjoiNqvk?JG4pv%$)T}~yIxi~fYWu*<_V1a3DJoL>5BJxn5c4JTZ z&S^9)9>o1&U5%P-FegHy;sUQSoN+x1z{Szmf^)%hEhxgHG>*<yc|`yD`RUA(Qhz(Z zU|ihM_#mb)-EMz6^+C)AqyE#&%n1>4CWQV~u=?Jst54q^LC7Y<X@r)lQC-BBoaI@~ z1+K|wF_W!>lD@b))fLTYdCoy=Ee*kCtdg<VR#c^y%iX~g?c_LnBk5c}{GY2fNpPt2 zD-Nd%*&0%uGGZsjnPeere}KkLAb+@@Os;mo`o;Ap-*+x^xz{(O%dJ38LZWmsA_*6k z0LdhdZDi(p01oA(X4aM#I+Ao&Jyma4SWhEN35kjy$#X2qIZ~kh;@v$xQ0ap5&{(8T zXEo32IFs!?rybGNt$1<V3&rsv>8-cX)mXkK^;n{Ey%F7*X1H4j*<0pR*niOob&##2 z50ozDB=&xNBxtR8Y!mUuE-`ED8?(j^F>9={3GVNWPwD9?wf1dvi4r{bXD`oVH2Zzh zpTZTc+AM1w(ylV&>gxhd&K=I-glEN}Py2235mMPrvF*ghSzc`X`NhSbUwr-f#lfFn z$^&K`{W+JkeKMpk4*HnKTYoiHWLJ$@Tpn_wAN!;Wlro9PhKg2+T3uF|k{llSZzUPA z_f#L>j}|m0Zc>dRi`ER?6N<NJ#gg`_^=VexWt8j3t%aNgP@ZNud}}X9!?(CN*-)^Y zhwZB+@R}6I$J#Z7BuS=jok-MPf+mFJS6pjJ((+7WA){Z)ecqqHc7JxC7T0x(<CH%g zE{j;GFRESf8;L{Rw32mx<ao0E-+%rqI=i1mE2i@P@kw<ZgQjfzdG|$$st!FVb(Y;t z)U{S0l@}M4`BY<Eflsz7exywu1*5LvV4?D5NBad{660?koeCO$(#ZJD5w`fPqZ8Qv uDBw>07m*r*RZKh)tsPDAb(&{qRpQkVa}A4?pOr%8G)-rsul+yjK*UD`J$YIH delta 3200 zcmV-`41e>n8;=^0u75#y;y4n3@AE6zw|i}Gci!8}+|oc#@+J^Eke;5Cp0EXIVoM%L zCNQV@8~gY6m#kzPVuJunD$<8^C)o9sR4SFqvLya2aK7#3+n+O@6e;O_?EPsziB>90 z|5<(Z;a|NEKUJT`DVCBhXp9x*%p%slp%W#FaZ2anO2p`Me}6XZw>6Y^_dcCb(1|?$ z{OwBQC$jsCBoo2scurF)6^;9~3=!|E?K76-{WVqyB9T#@3!W39w(qBXK~?FGM6G!8 zu4+-d{!yBhKx>@-2<^Eb360ecRE=_T4`czZ6?z~8PgPe56nbk~^uS-AFnf96%hKRa zWGRTg5301M`F{}I_Og;C(cXdu&gAuV0d<VdieS3IWp(l$ZKwoha=}Fws)~_9)bTOA zvsAFCKOQrp0y{>F6(u|_GQt!h*_<Q^WlNZf@Az>3-{!7)jORs)#TH5W7YQHuYy87> zHUhJ84ZEI^cM8C*yaQj$%;WOEx6ySbFlE8X>UnsSkbgCeuU-d;api&r@a8_H2xvs< zrUhm=xu8qOd2KxQUIvu!r3iT3ie_Y^-n5LNBH|G?N~n&EX6TjID*5%o@3AV~0<Tyk zSL1{C{9_f@=#9r(t~Ib6Yuezo{tXq3LUs=>;?)2v{ZI(iGaAGQOY>XGaZ-(mAtjdU zOq+E9lz)lVv}pQmw4(;p{eY%N=$M*VfEERd_w#(=mES7>7@H4~Kx5<~cCDY=6O?i@ zuVvU+DM9CjA|3IGb|6cen~zVlba`oBPvCioMJM~ioAep6Xqu-~O_iCe(0$hyL%VV2 zl<BZyjVRp!XJ-?;Azr@pzj;@{^m}h%hU(%6lz(1(bWtVBUPX`!E9ot*Oh$tgkt(1D zU51zQqz61FX-bkl*Z;=$=`&YC^c|!i(f1sPvxVV!_c#kH<^}Wc9t-IYP8kHpt1nwP zUftTl3F+Y$9FQ;RVNefQgn7gb3r*roj|SF6-J69Lf@g@bgls^ua6~fzBK;tj@C=S8 z{eMSP8`CScTR?R_jv!n5kO|i`j=?Rdh9T*ZN$o_V1yS(|-GAwSHk5rr+*x-Gc<$eS zF2i#pI}3-|N5>HEs7Mtp0~=65-+;h{O^LpC^YP{;h@!(KC9g7wp<by{)f1uz;}r`> zL+BW<`#@}7mDC;9&9__f(Y@)Mv)#OvZGZB&TS1OM5l#~H%7s(FyMVMmI0n$rxfwfO z?lqW}RN9Zc55}GjS3j1Zn5RX?WC%%*Vl2TTsq5p5QDmcT)Pg1pH;N$pi5<5NR0&r3 zwsYBQ;W7(~<=S6Z=2*x8<;HAY(t?yegi;gGyE_08f{V^e*UGyiJeS(d6hV98BY#yk zEfJ1m4-w*Ux5K@QPp)NId~(5?#$-5i5P3<H?l)&Hb<GH7$hXx>VW#69PIb3Rz&L`W zI`>|aFkm>v&Fsv{?#vM`oak<MONX1CYUx%<08fH+A~%z}-5gprmll&5=W5mI{xwdE zQwxPpg#Eq9?pNZbX)lI2tDZoK^nW9m7a%&%;6gdd*RLW@J>VP&?yg%`DcOzmCKBE0 zM=G5I5iy`9o9Z@%HRNYJmz;PC<K&M*D&05q6{cG2%v~sAnNfz?GgmJ15>+#w{)l)* z;+KXvTI&bYZvCf0F>i$v-3!IiqX<TrnG)ojG9?ktb%wj4nU6)aM-VKK)PMiPD@WOV z#Phc%E3&37W1gAzQM<(j4kVr{nj!5SG&_}NpB8Qup-hp^q^sQ_`EFUVq9lN&TS%wx z&X$!*7>J|PZa%J|zd7CKL6X$O)r}LTep)?_an*$rp{~A&UJ|kmk&S*G4DGujnuznV z(dXOo;J5q1><*2Fv%ANE{eOk91JHDO{lU5S?2fdIZd4)4PM32=?C)?Kn0fV3?FHEO zr@rRaq7hy$1zFY!fNufzlyW(Pb@r$`YbmgfMp!ra#uysOBJ=0n4ZMwWH-IosgA#0< z(SvtoMh_5`X;6GCb8@M8ryx_WANpG0F;Sxm;Aj#H;@o0cci8D=aeof1lWT<C8RwUH zc=61GdYR3YX%t9JkElAy6EI|dH$4EIU6AO(s}uSy3{3`?F2kf;gk?=M&J)y15V_)M zg34^tw|^gCqS5Vl*Dhc|L@{Rx^&0w*Xw%^Ggp9doV7>v_f`l~JO}M>oqJ+xWC!`*- zX8-vZS{#i4w9jn!_kW}Llm2yL>mmRY(CIGl(JNJ}H=!%5gK~SjmMgb3m}3V=$$%KS zZ;3VW4Eqg2bldMc*5yFj-_cKjJYDP%r?ZENB7JS<q1+9T0XWH1GZkG<4w?-gLA-j3 zvEEFuy=6(?EKT%y^lo9_e(wt^^RM*;rgL6<0y-iI#jLa@u74*I!J$!T%bzCur;{BO z_~w@#@e;cH(Ejnp0}2Xf(GX$6s=)vGts{GH^6Sx!Wzgx}BQScl@Z_sBC~&`Qkk>dx z<x1FVwB{a;;Kqe1Unr1nUoF*y4kl-)p{{Wb&B(HPkrLL7=TzieLZ}GJ)}WF#*jx=b z2^x&H0VdMYFn=~`f&h$U-es2-(X0_x@rttL@1d63PD3oUodQ{EJB75=aP&2xR$5yB z1nM_G$Q=0=%$ZE@A0Een?QBS++wbUpHhcm=fi!v(1k>msNr~ZH+N0hbw#iAXaMfiu z`$>rQKpD^&cY}~fr=?+<vIzoc%A>VEp<(Wkk#F)gO@D9O^Cq5Vv(RA7XahsI^dxMC zX970GGXb9CnE+4nOv3C0W+q@OHBTJ8(!7)HR6{8C^kEQ67>xqjRZGLPYZC;}u8h16 zA4cwP4i6a9Z=>5G1m)MNokB5RAs|maRXTAvMVI;Xa$~1iSmgZ-Y$5nO@7gfFlOGkU ze4-7j)_-nb3z7YWFd}FSfC!k~v*LVP>5voDOxo?6R(5lI{U7#pd?OkS>jcAHYc%wi z9QuTcO0>?KeMBb#b!C!dbLaI_E!pVX?Zf>5O&%Za`}f1C$H3Ue9lT0(>ke&{M?Yu- z{NK*BIe9Y~39XfHuWVCfSk=N_yV(%ltp)c=&3}puGB@1oG8^s&!0b0rcE15O{0*q( zZ$eE^>W=dToBb-j!MZfjeq+NHC5<UmcO=s(d-%$W14=X)Z5;i|LWu4L8&^BqFdoin z!}z+=5z8{={oP~8JLHygaYgn(Ur0(<oF|k04wBl1-PeS9>3}eJH%0DE!V{7rNg79* zbbs2zcOVz_Ia|=>RAE)fW0Rg&+7gZyn5NcKhFl=Bh|Tc|?v!5yO{V3>v#-w8Xvju$ zA{8oc2r9z~&v5{p9X}j6XFSV+A_Gd}>0Gr(44<AJPrMZA2Dl%WIe7?T`rPjir_&I` z?0z(Se4cqBV!@>}-?!3SFLH6;+W~}Za(~PcwA792Bfb>8$Qv$jNj^`x>Kv5J&Gj*Y zXilq*wVk!J1ed8!CsJ2Yog6K9JE6PD3I0OZ+-!C&bem*2*7`L^(1q#@DYvz|i3zTF z%)9T{-U&pvlgY&n*u1&9X>{i@=X-riy4nEmB_t~+BZ>&=2vA(%)J0})PREPYq<>-7 zjutwQ^j1C9f3C235S|i}lwUvOS(H<xNdKg}r&6HOMb#;V$Q%b~pO^3^yL(PIqOV(t z@_Ye`)3>y(*+v&*`JOc38K!JRH?}$24npphITrRbLKEcb==WNeb`p2LJ`i+PJa&nA zW1pBc4vkr3kC-*q*@Ou9#z%I1EPtYV8=a#>Ps7>s(-_TupA4sPg)8%7kC1kenbwy} zI61W~-V4vmQ%3ene-os$n{wfVi?ckt`17-mKR<{1^RtIPKUYUPc=~gpX!m5u+#C(D zNVj^d$S)eRyge4gY~Z2`#JECaLuIE#ttqQbN!~W^c9Kl^D>LUsqXkWgpMO-V$g(rT z^n~(HwBlKJ)fujy4Ycd0orT;5X#A3vM`B4{h`4+4Bwmy9+(9>kDw5^;5r`z+C1^%? zalu8F=7pm9uE~Fw7kW}9KPNoyefZQnxKzqi;zp`ELetz{ty8W9%1^61%hNl5db_Qr zHtzV1q_JsO#d}{1JlX#5?|J{q-tHT6%BiS-{G>aMMN_{0u)9#9>ca*qomFR(O|A7u z%{nv~7vPhvjvlP7<H%ZvHtOX#e!)v({}$pSLCZI2^z7eX+`^V$t#Jg~pFG)XegQ{I mu#SjFqKyf@Ui-|NTD(3`sb#V1vr4F%r0Gq}z5fS~K2@RFT||5U diff --git a/docs/build/html/py-modindex.html b/docs/build/html/py-modindex.html index 20305fe..de81f69 100644 --- a/docs/build/html/py-modindex.html +++ b/docs/build/html/py-modindex.html @@ -1,22 +1,23 @@ <!DOCTYPE html> -<html class="writer-html5" lang="en" data-content_root="./"> +<html class="writer-html5" lang="en"> <head> <meta charset="utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> - <title>Python Module Index — QuaPy: A Python-based open-source framework for quantification 0.1.8 documentation</title> - <link rel="stylesheet" type="text/css" href="_static/pygments.css?v=92fd9be5" /> - <link rel="stylesheet" type="text/css" href="_static/css/theme.css?v=19f00094" /> + <title>Python Module Index — QuaPy: A Python-based open-source framework for quantification 0.1.9 documentation</title> + <link rel="stylesheet" type="text/css" href="_static/pygments.css" /> + <link rel="stylesheet" type="text/css" href="_static/css/theme.css" /> <!--[if lt IE 9]> <script src="_static/js/html5shiv.min.js"></script> <![endif]--> - <script src="_static/jquery.js?v=5d32c60e"></script> - <script src="_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script> - <script src="_static/documentation_options.js?v=22607128"></script> - <script src="_static/doctools.js?v=9a2dae69"></script> - <script src="_static/sphinx_highlight.js?v=dc90522c"></script> + <script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script> + <script src="_static/jquery.js"></script> + <script src="_static/underscore.js"></script> + <script src="_static/_sphinx_javascript_frameworks_compat.js"></script> + <script src="_static/doctools.js"></script> + <script src="_static/sphinx_highlight.js"></script> <script src="_static/js/theme.js"></script> <link rel="index" title="Index" href="genindex.html" /> <link rel="search" title="Search" href="search.html" /> diff --git a/docs/build/html/quapy.classification.html b/docs/build/html/quapy.classification.html index b181a3b..95da4d7 100644 --- a/docs/build/html/quapy.classification.html +++ b/docs/build/html/quapy.classification.html @@ -1,23 +1,24 @@ <!DOCTYPE html> -<html class="writer-html5" lang="en" data-content_root="./"> +<html class="writer-html5" lang="en"> <head> <meta charset="utf-8" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> - <title>quapy.classification package — QuaPy: A Python-based open-source framework for quantification 0.1.8 documentation</title> - <link rel="stylesheet" type="text/css" href="_static/pygments.css?v=92fd9be5" /> - <link rel="stylesheet" type="text/css" href="_static/css/theme.css?v=19f00094" /> + <title>quapy.classification package — QuaPy: A Python-based open-source framework for quantification 0.1.9 documentation</title> + <link rel="stylesheet" type="text/css" href="_static/pygments.css" /> + <link rel="stylesheet" type="text/css" href="_static/css/theme.css" /> <!--[if lt IE 9]> <script src="_static/js/html5shiv.min.js"></script> <![endif]--> - <script src="_static/jquery.js?v=5d32c60e"></script> - <script src="_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script> - <script src="_static/documentation_options.js?v=22607128"></script> - <script src="_static/doctools.js?v=9a2dae69"></script> - <script src="_static/sphinx_highlight.js?v=dc90522c"></script> + <script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script> + <script src="_static/jquery.js"></script> + <script src="_static/underscore.js"></script> + <script src="_static/_sphinx_javascript_frameworks_compat.js"></script> + <script src="_static/doctools.js"></script> + <script src="_static/sphinx_highlight.js"></script> <script src="_static/js/theme.js"></script> <link rel="index" title="Index" href="genindex.html" /> <link rel="search" title="Search" href="search.html" /> @@ -95,15 +96,15 @@ <div itemprop="articleBody"> <section id="quapy-classification-package"> -<h1>quapy.classification package<a class="headerlink" href="#quapy-classification-package" title="Link to this heading"></a></h1> +<h1>quapy.classification package<a class="headerlink" href="#quapy-classification-package" title="Permalink to this heading"></a></h1> <section id="submodules"> -<h2>Submodules<a class="headerlink" href="#submodules" title="Link to this heading"></a></h2> +<h2>Submodules<a class="headerlink" href="#submodules" title="Permalink to this heading"></a></h2> </section> <section id="module-quapy.classification.calibration"> -<span id="quapy-classification-calibration-module"></span><h2>quapy.classification.calibration module<a class="headerlink" href="#module-quapy.classification.calibration" title="Link to this heading"></a></h2> +<span id="quapy-classification-calibration-module"></span><h2>quapy.classification.calibration module<a class="headerlink" href="#module-quapy.classification.calibration" title="Permalink to this heading"></a></h2> <dl class="py class"> <dt class="sig sig-object py" id="quapy.classification.calibration.BCTSCalibration"> -<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">quapy.classification.calibration.</span></span><span class="sig-name descname"><span class="pre">BCTSCalibration</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">classifier</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">val_split</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">5</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">n_jobs</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">verbose</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/classification/calibration.html#BCTSCalibration"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.classification.calibration.BCTSCalibration" title="Link to this definition"></a></dt> +<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">quapy.classification.calibration.</span></span><span class="sig-name descname"><span class="pre">BCTSCalibration</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">classifier</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">val_split</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">5</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">n_jobs</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">verbose</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/classification/calibration.html#BCTSCalibration"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.classification.calibration.BCTSCalibration" title="Permalink to this definition"></a></dt> <dd><p>Bases: <a class="reference internal" href="#quapy.classification.calibration.RecalibratedProbabilisticClassifierBase" title="quapy.classification.calibration.RecalibratedProbabilisticClassifierBase"><code class="xref py py-class docutils literal notranslate"><span class="pre">RecalibratedProbabilisticClassifierBase</span></code></a></p> <p>Applies the Bias-Corrected Temperature Scaling (BCTS) calibration method from <cite>abstention.calibration</cite>, as defined in <a class="reference external" href="http://proceedings.mlr.press/v119/alexandari20a.html">Alexandari et al. paper</a>:</p> @@ -124,7 +125,7 @@ training set afterwards. Default value is 5.</p></li> <dl class="py class"> <dt class="sig sig-object py" id="quapy.classification.calibration.NBVSCalibration"> -<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">quapy.classification.calibration.</span></span><span class="sig-name descname"><span class="pre">NBVSCalibration</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">classifier</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">val_split</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">5</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">n_jobs</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">verbose</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/classification/calibration.html#NBVSCalibration"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.classification.calibration.NBVSCalibration" title="Link to this definition"></a></dt> +<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">quapy.classification.calibration.</span></span><span class="sig-name descname"><span class="pre">NBVSCalibration</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">classifier</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">val_split</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">5</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">n_jobs</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">verbose</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/classification/calibration.html#NBVSCalibration"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.classification.calibration.NBVSCalibration" title="Permalink to this definition"></a></dt> <dd><p>Bases: <a class="reference internal" href="#quapy.classification.calibration.RecalibratedProbabilisticClassifierBase" title="quapy.classification.calibration.RecalibratedProbabilisticClassifierBase"><code class="xref py py-class docutils literal notranslate"><span class="pre">RecalibratedProbabilisticClassifierBase</span></code></a></p> <p>Applies the No-Bias Vector Scaling (NBVS) calibration method from <cite>abstention.calibration</cite>, as defined in <a class="reference external" href="http://proceedings.mlr.press/v119/alexandari20a.html">Alexandari et al. paper</a>:</p> @@ -145,7 +146,7 @@ training set afterwards. Default value is 5.</p></li> <dl class="py class"> <dt class="sig sig-object py" id="quapy.classification.calibration.RecalibratedProbabilisticClassifier"> -<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">quapy.classification.calibration.</span></span><span class="sig-name descname"><span class="pre">RecalibratedProbabilisticClassifier</span></span><a class="reference internal" href="_modules/quapy/classification/calibration.html#RecalibratedProbabilisticClassifier"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.classification.calibration.RecalibratedProbabilisticClassifier" title="Link to this definition"></a></dt> +<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">quapy.classification.calibration.</span></span><span class="sig-name descname"><span class="pre">RecalibratedProbabilisticClassifier</span></span><a class="reference internal" href="_modules/quapy/classification/calibration.html#RecalibratedProbabilisticClassifier"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.classification.calibration.RecalibratedProbabilisticClassifier" title="Permalink to this definition"></a></dt> <dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">object</span></code></p> <p>Abstract class for (re)calibration method from <cite>abstention.calibration</cite>, as defined in <a class="reference external" href="http://proceedings.mlr.press/v119/alexandari20a.html">Alexandari, A., Kundaje, A., & Shrikumar, A. (2020, November). Maximum likelihood with bias-corrected calibration @@ -154,7 +155,7 @@ is hard-to-beat at label shift adaptation. In International Conference on Machin <dl class="py class"> <dt class="sig sig-object py" id="quapy.classification.calibration.RecalibratedProbabilisticClassifierBase"> -<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">quapy.classification.calibration.</span></span><span class="sig-name descname"><span class="pre">RecalibratedProbabilisticClassifierBase</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">classifier</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">calibrator</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">val_split</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">5</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">n_jobs</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">verbose</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/classification/calibration.html#RecalibratedProbabilisticClassifierBase"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.classification.calibration.RecalibratedProbabilisticClassifierBase" title="Link to this definition"></a></dt> +<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">quapy.classification.calibration.</span></span><span class="sig-name descname"><span class="pre">RecalibratedProbabilisticClassifierBase</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">classifier</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">calibrator</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">val_split</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">5</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">n_jobs</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">verbose</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/classification/calibration.html#RecalibratedProbabilisticClassifierBase"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.classification.calibration.RecalibratedProbabilisticClassifierBase" title="Permalink to this definition"></a></dt> <dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">BaseEstimator</span></code>, <a class="reference internal" href="#quapy.classification.calibration.RecalibratedProbabilisticClassifier" title="quapy.classification.calibration.RecalibratedProbabilisticClassifier"><code class="xref py py-class docutils literal notranslate"><span class="pre">RecalibratedProbabilisticClassifier</span></code></a></p> <p>Applies a (re)calibration method from <cite>abstention.calibration</cite>, as defined in <a class="reference external" href="http://proceedings.mlr.press/v119/alexandari20a.html">Alexandari et al. paper</a>.</p> @@ -174,7 +175,7 @@ training set afterwards. Default value is 5.</p></li> </dl> <dl class="py property"> <dt class="sig sig-object py" id="quapy.classification.calibration.RecalibratedProbabilisticClassifierBase.classes_"> -<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">classes_</span></span><a class="headerlink" href="#quapy.classification.calibration.RecalibratedProbabilisticClassifierBase.classes_" title="Link to this definition"></a></dt> +<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">classes_</span></span><a class="headerlink" href="#quapy.classification.calibration.RecalibratedProbabilisticClassifierBase.classes_" title="Permalink to this definition"></a></dt> <dd><p>Returns the classes on which the classifier has been trained on</p> <dl class="field-list simple"> <dt class="field-odd">Returns<span class="colon">:</span></dt> @@ -185,7 +186,7 @@ training set afterwards. Default value is 5.</p></li> <dl class="py method"> <dt class="sig sig-object py" id="quapy.classification.calibration.RecalibratedProbabilisticClassifierBase.fit"> -<span class="sig-name descname"><span class="pre">fit</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">X</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">y</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/classification/calibration.html#RecalibratedProbabilisticClassifierBase.fit"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.classification.calibration.RecalibratedProbabilisticClassifierBase.fit" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">fit</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">X</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">y</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/classification/calibration.html#RecalibratedProbabilisticClassifierBase.fit"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.classification.calibration.RecalibratedProbabilisticClassifierBase.fit" title="Permalink to this definition"></a></dt> <dd><p>Fits the calibration for the probabilistic classifier.</p> <dl class="field-list simple"> <dt class="field-odd">Parameters<span class="colon">:</span></dt> @@ -202,7 +203,7 @@ training set afterwards. Default value is 5.</p></li> <dl class="py method"> <dt class="sig sig-object py" id="quapy.classification.calibration.RecalibratedProbabilisticClassifierBase.fit_cv"> -<span class="sig-name descname"><span class="pre">fit_cv</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">X</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">y</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/classification/calibration.html#RecalibratedProbabilisticClassifierBase.fit_cv"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.classification.calibration.RecalibratedProbabilisticClassifierBase.fit_cv" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">fit_cv</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">X</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">y</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/classification/calibration.html#RecalibratedProbabilisticClassifierBase.fit_cv"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.classification.calibration.RecalibratedProbabilisticClassifierBase.fit_cv" title="Permalink to this definition"></a></dt> <dd><p>Fits the calibration in a cross-validation manner, i.e., it generates posterior probabilities for all training instances via cross-validation, and then retrains the classifier on all training instances. The posterior probabilities thus generated are used for calibrating the outputs of the classifier.</p> @@ -221,7 +222,7 @@ The posterior probabilities thus generated are used for calibrating the outputs <dl class="py method"> <dt class="sig sig-object py" id="quapy.classification.calibration.RecalibratedProbabilisticClassifierBase.fit_tr_val"> -<span class="sig-name descname"><span class="pre">fit_tr_val</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">X</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">y</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/classification/calibration.html#RecalibratedProbabilisticClassifierBase.fit_tr_val"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.classification.calibration.RecalibratedProbabilisticClassifierBase.fit_tr_val" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">fit_tr_val</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">X</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">y</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/classification/calibration.html#RecalibratedProbabilisticClassifierBase.fit_tr_val"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.classification.calibration.RecalibratedProbabilisticClassifierBase.fit_tr_val" title="Permalink to this definition"></a></dt> <dd><p>Fits the calibration in a train/val-split manner, i.e.t, it partitions the training instances into a training and a validation set, and then uses the training samples to learn classifier which is then used to generate posterior probabilities for the held-out validation data. These posteriors are used to calibrate @@ -241,7 +242,7 @@ the classifier. The classifier is not retrained on the whole dataset.</p> <dl class="py method"> <dt class="sig sig-object py" id="quapy.classification.calibration.RecalibratedProbabilisticClassifierBase.predict"> -<span class="sig-name descname"><span class="pre">predict</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">X</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/classification/calibration.html#RecalibratedProbabilisticClassifierBase.predict"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.classification.calibration.RecalibratedProbabilisticClassifierBase.predict" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">predict</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">X</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/classification/calibration.html#RecalibratedProbabilisticClassifierBase.predict"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.classification.calibration.RecalibratedProbabilisticClassifierBase.predict" title="Permalink to this definition"></a></dt> <dd><p>Predicts class labels for the data instances in <cite>X</cite></p> <dl class="field-list simple"> <dt class="field-odd">Parameters<span class="colon">:</span></dt> @@ -255,7 +256,7 @@ the classifier. The classifier is not retrained on the whole dataset.</p> <dl class="py method"> <dt class="sig sig-object py" id="quapy.classification.calibration.RecalibratedProbabilisticClassifierBase.predict_proba"> -<span class="sig-name descname"><span class="pre">predict_proba</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">X</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/classification/calibration.html#RecalibratedProbabilisticClassifierBase.predict_proba"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.classification.calibration.RecalibratedProbabilisticClassifierBase.predict_proba" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">predict_proba</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">X</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/classification/calibration.html#RecalibratedProbabilisticClassifierBase.predict_proba"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.classification.calibration.RecalibratedProbabilisticClassifierBase.predict_proba" title="Permalink to this definition"></a></dt> <dd><p>Generates posterior probabilities for the data instances in <cite>X</cite></p> <dl class="field-list simple"> <dt class="field-odd">Parameters<span class="colon">:</span></dt> @@ -271,7 +272,7 @@ the classifier. The classifier is not retrained on the whole dataset.</p> <dl class="py class"> <dt class="sig sig-object py" id="quapy.classification.calibration.TSCalibration"> -<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">quapy.classification.calibration.</span></span><span class="sig-name descname"><span class="pre">TSCalibration</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">classifier</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">val_split</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">5</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">n_jobs</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">verbose</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/classification/calibration.html#TSCalibration"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.classification.calibration.TSCalibration" title="Link to this definition"></a></dt> +<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">quapy.classification.calibration.</span></span><span class="sig-name descname"><span class="pre">TSCalibration</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">classifier</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">val_split</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">5</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">n_jobs</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">verbose</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/classification/calibration.html#TSCalibration"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.classification.calibration.TSCalibration" title="Permalink to this definition"></a></dt> <dd><p>Bases: <a class="reference internal" href="#quapy.classification.calibration.RecalibratedProbabilisticClassifierBase" title="quapy.classification.calibration.RecalibratedProbabilisticClassifierBase"><code class="xref py py-class docutils literal notranslate"><span class="pre">RecalibratedProbabilisticClassifierBase</span></code></a></p> <p>Applies the Temperature Scaling (TS) calibration method from <cite>abstention.calibration</cite>, as defined in <a class="reference external" href="http://proceedings.mlr.press/v119/alexandari20a.html">Alexandari et al. paper</a>:</p> @@ -292,7 +293,7 @@ training set afterwards. Default value is 5.</p></li> <dl class="py class"> <dt class="sig sig-object py" id="quapy.classification.calibration.VSCalibration"> -<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">quapy.classification.calibration.</span></span><span class="sig-name descname"><span class="pre">VSCalibration</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">classifier</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">val_split</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">5</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">n_jobs</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">verbose</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/classification/calibration.html#VSCalibration"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.classification.calibration.VSCalibration" title="Link to this definition"></a></dt> +<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">quapy.classification.calibration.</span></span><span class="sig-name descname"><span class="pre">VSCalibration</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">classifier</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">val_split</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">5</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">n_jobs</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">verbose</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/classification/calibration.html#VSCalibration"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.classification.calibration.VSCalibration" title="Permalink to this definition"></a></dt> <dd><p>Bases: <a class="reference internal" href="#quapy.classification.calibration.RecalibratedProbabilisticClassifierBase" title="quapy.classification.calibration.RecalibratedProbabilisticClassifierBase"><code class="xref py py-class docutils literal notranslate"><span class="pre">RecalibratedProbabilisticClassifierBase</span></code></a></p> <p>Applies the Vector Scaling (VS) calibration method from <cite>abstention.calibration</cite>, as defined in <a class="reference external" href="http://proceedings.mlr.press/v119/alexandari20a.html">Alexandari et al. paper</a>:</p> @@ -313,10 +314,10 @@ training set afterwards. Default value is 5.</p></li> </section> <section id="module-quapy.classification.methods"> -<span id="quapy-classification-methods-module"></span><h2>quapy.classification.methods module<a class="headerlink" href="#module-quapy.classification.methods" title="Link to this heading"></a></h2> +<span id="quapy-classification-methods-module"></span><h2>quapy.classification.methods module<a class="headerlink" href="#module-quapy.classification.methods" title="Permalink to this heading"></a></h2> <dl class="py class"> <dt class="sig sig-object py" id="quapy.classification.methods.LowRankLogisticRegression"> -<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">quapy.classification.methods.</span></span><span class="sig-name descname"><span class="pre">LowRankLogisticRegression</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">n_components</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">100</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/classification/methods.html#LowRankLogisticRegression"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.classification.methods.LowRankLogisticRegression" title="Link to this definition"></a></dt> +<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">quapy.classification.methods.</span></span><span class="sig-name descname"><span class="pre">LowRankLogisticRegression</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">n_components</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">100</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/classification/methods.html#LowRankLogisticRegression"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.classification.methods.LowRankLogisticRegression" title="Permalink to this definition"></a></dt> <dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">BaseEstimator</span></code></p> <p>An example of a classification method (i.e., an object that implements <cite>fit</cite>, <cite>predict</cite>, and <cite>predict_proba</cite>) that also generates embedded inputs (i.e., that implements <cite>transform</cite>), as those required for @@ -335,7 +336,7 @@ while classification is performed using <code class="xref py py-class docutils l </dl> <dl class="py method"> <dt class="sig sig-object py" id="quapy.classification.methods.LowRankLogisticRegression.fit"> -<span class="sig-name descname"><span class="pre">fit</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">X</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">y</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/classification/methods.html#LowRankLogisticRegression.fit"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.classification.methods.LowRankLogisticRegression.fit" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">fit</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">X</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">y</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/classification/methods.html#LowRankLogisticRegression.fit"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.classification.methods.LowRankLogisticRegression.fit" title="Permalink to this definition"></a></dt> <dd><p>Fit the model according to the given training data. The fit consists of fitting <cite>TruncatedSVD</cite> and then <cite>LogisticRegression</cite> on the low-rank representation.</p> <dl class="field-list simple"> @@ -353,7 +354,7 @@ fitting <cite>TruncatedSVD</cite> and then <cite>LogisticRegression</cite> on th <dl class="py method"> <dt class="sig sig-object py" id="quapy.classification.methods.LowRankLogisticRegression.get_params"> -<span class="sig-name descname"><span class="pre">get_params</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/classification/methods.html#LowRankLogisticRegression.get_params"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.classification.methods.LowRankLogisticRegression.get_params" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">get_params</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/classification/methods.html#LowRankLogisticRegression.get_params"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.classification.methods.LowRankLogisticRegression.get_params" title="Permalink to this definition"></a></dt> <dd><p>Get hyper-parameters for this estimator.</p> <dl class="field-list simple"> <dt class="field-odd">Returns<span class="colon">:</span></dt> @@ -364,7 +365,7 @@ fitting <cite>TruncatedSVD</cite> and then <cite>LogisticRegression</cite> on th <dl class="py method"> <dt class="sig sig-object py" id="quapy.classification.methods.LowRankLogisticRegression.predict"> -<span class="sig-name descname"><span class="pre">predict</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">X</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/classification/methods.html#LowRankLogisticRegression.predict"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.classification.methods.LowRankLogisticRegression.predict" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">predict</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">X</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/classification/methods.html#LowRankLogisticRegression.predict"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.classification.methods.LowRankLogisticRegression.predict" title="Permalink to this definition"></a></dt> <dd><p>Predicts labels for the instances <cite>X</cite> embedded into the low-rank space.</p> <dl class="field-list simple"> <dt class="field-odd">Parameters<span class="colon">:</span></dt> @@ -379,7 +380,7 @@ instances in <cite>X</cite></p> <dl class="py method"> <dt class="sig sig-object py" id="quapy.classification.methods.LowRankLogisticRegression.predict_proba"> -<span class="sig-name descname"><span class="pre">predict_proba</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">X</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/classification/methods.html#LowRankLogisticRegression.predict_proba"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.classification.methods.LowRankLogisticRegression.predict_proba" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">predict_proba</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">X</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/classification/methods.html#LowRankLogisticRegression.predict_proba"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.classification.methods.LowRankLogisticRegression.predict_proba" title="Permalink to this definition"></a></dt> <dd><p>Predicts posterior probabilities for the instances <cite>X</cite> embedded into the low-rank space.</p> <dl class="field-list simple"> <dt class="field-odd">Parameters<span class="colon">:</span></dt> @@ -393,7 +394,7 @@ instances in <cite>X</cite></p> <dl class="py method"> <dt class="sig sig-object py" id="quapy.classification.methods.LowRankLogisticRegression.set_params"> -<span class="sig-name descname"><span class="pre">set_params</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">params</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/classification/methods.html#LowRankLogisticRegression.set_params"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.classification.methods.LowRankLogisticRegression.set_params" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">set_params</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">params</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/classification/methods.html#LowRankLogisticRegression.set_params"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.classification.methods.LowRankLogisticRegression.set_params" title="Permalink to this definition"></a></dt> <dd><p>Set the parameters of this estimator.</p> <dl class="field-list simple"> <dt class="field-odd">Parameters<span class="colon">:</span></dt> @@ -406,7 +407,7 @@ and eventually also <cite>n_components</cite> for <cite>TruncatedSVD</cite></p> <dl class="py method"> <dt class="sig sig-object py" id="quapy.classification.methods.LowRankLogisticRegression.transform"> -<span class="sig-name descname"><span class="pre">transform</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">X</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/classification/methods.html#LowRankLogisticRegression.transform"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.classification.methods.LowRankLogisticRegression.transform" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">transform</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">X</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/classification/methods.html#LowRankLogisticRegression.transform"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.classification.methods.LowRankLogisticRegression.transform" title="Permalink to this definition"></a></dt> <dd><p>Returns the low-rank approximation of <cite>X</cite> with <cite>n_components</cite> dimensions, or <cite>X</cite> unaltered if <cite>n_components</cite> >= <cite>X.shape[1]</cite>.</p> <dl class="field-list simple"> @@ -423,10 +424,10 @@ and eventually also <cite>n_components</cite> for <cite>TruncatedSVD</cite></p> </section> <section id="module-quapy.classification.neural"> -<span id="quapy-classification-neural-module"></span><h2>quapy.classification.neural module<a class="headerlink" href="#module-quapy.classification.neural" title="Link to this heading"></a></h2> +<span id="quapy-classification-neural-module"></span><h2>quapy.classification.neural module<a class="headerlink" href="#module-quapy.classification.neural" title="Permalink to this heading"></a></h2> <dl class="py class"> <dt class="sig sig-object py" id="quapy.classification.neural.CNNnet"> -<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">quapy.classification.neural.</span></span><span class="sig-name descname"><span class="pre">CNNnet</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">vocabulary_size</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">n_classes</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">embedding_size</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">100</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">hidden_size</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">256</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">repr_size</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">100</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">kernel_heights</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">[3,</span> <span class="pre">5,</span> <span class="pre">7]</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">stride</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">padding</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">drop_p</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.5</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/classification/neural.html#CNNnet"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.classification.neural.CNNnet" title="Link to this definition"></a></dt> +<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">quapy.classification.neural.</span></span><span class="sig-name descname"><span class="pre">CNNnet</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">vocabulary_size</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">n_classes</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">embedding_size</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">100</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">hidden_size</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">256</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">repr_size</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">100</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">kernel_heights</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">[3,</span> <span class="pre">5,</span> <span class="pre">7]</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">stride</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">padding</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">drop_p</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.5</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/classification/neural.html#CNNnet"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.classification.neural.CNNnet" title="Permalink to this definition"></a></dt> <dd><p>Bases: <a class="reference internal" href="#quapy.classification.neural.TextClassifierNet" title="quapy.classification.neural.TextClassifierNet"><code class="xref py py-class docutils literal notranslate"><span class="pre">TextClassifierNet</span></code></a></p> <p>An implementation of <a class="reference internal" href="#quapy.classification.neural.TextClassifierNet" title="quapy.classification.neural.TextClassifierNet"><code class="xref py py-class docutils literal notranslate"><span class="pre">quapy.classification.neural.TextClassifierNet</span></code></a> based on Convolutional Neural Networks.</p> @@ -448,7 +449,7 @@ consecutive tokens that each kernel covers</p></li> </dl> <dl class="py method"> <dt class="sig sig-object py" id="quapy.classification.neural.CNNnet.document_embedding"> -<span class="sig-name descname"><span class="pre">document_embedding</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">input</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/classification/neural.html#CNNnet.document_embedding"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.classification.neural.CNNnet.document_embedding" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">document_embedding</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">input</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/classification/neural.html#CNNnet.document_embedding"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.classification.neural.CNNnet.document_embedding" title="Permalink to this definition"></a></dt> <dd><p>Embeds documents (i.e., performs the forward pass up to the next-to-last layer).</p> <dl class="field-list simple"> @@ -466,7 +467,7 @@ dimensionality of the embedding</p> <dl class="py method"> <dt class="sig sig-object py" id="quapy.classification.neural.CNNnet.get_params"> -<span class="sig-name descname"><span class="pre">get_params</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/classification/neural.html#CNNnet.get_params"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.classification.neural.CNNnet.get_params" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">get_params</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/classification/neural.html#CNNnet.get_params"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.classification.neural.CNNnet.get_params" title="Permalink to this definition"></a></dt> <dd><p>Get hyper-parameters for this estimator</p> <dl class="field-list simple"> <dt class="field-odd">Returns<span class="colon">:</span></dt> @@ -475,9 +476,14 @@ dimensionality of the embedding</p> </dl> </dd></dl> +<dl class="py attribute"> +<dt class="sig sig-object py" id="quapy.classification.neural.CNNnet.training"> +<span class="sig-name descname"><span class="pre">training</span></span><em class="property"><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="pre">bool</span></em><a class="headerlink" href="#quapy.classification.neural.CNNnet.training" title="Permalink to this definition"></a></dt> +<dd></dd></dl> + <dl class="py property"> <dt class="sig sig-object py" id="quapy.classification.neural.CNNnet.vocabulary_size"> -<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">vocabulary_size</span></span><a class="headerlink" href="#quapy.classification.neural.CNNnet.vocabulary_size" title="Link to this definition"></a></dt> +<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">vocabulary_size</span></span><a class="headerlink" href="#quapy.classification.neural.CNNnet.vocabulary_size" title="Permalink to this definition"></a></dt> <dd><p>Return the size of the vocabulary</p> <dl class="field-list simple"> <dt class="field-odd">Returns<span class="colon">:</span></dt> @@ -490,7 +496,7 @@ dimensionality of the embedding</p> <dl class="py class"> <dt class="sig sig-object py" id="quapy.classification.neural.LSTMnet"> -<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">quapy.classification.neural.</span></span><span class="sig-name descname"><span class="pre">LSTMnet</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">vocabulary_size</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">n_classes</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">embedding_size</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">100</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">hidden_size</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">256</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">repr_size</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">100</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">lstm_class_nlayers</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">drop_p</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.5</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/classification/neural.html#LSTMnet"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.classification.neural.LSTMnet" title="Link to this definition"></a></dt> +<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">quapy.classification.neural.</span></span><span class="sig-name descname"><span class="pre">LSTMnet</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">vocabulary_size</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">n_classes</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">embedding_size</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">100</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">hidden_size</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">256</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">repr_size</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">100</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">lstm_class_nlayers</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">drop_p</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.5</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/classification/neural.html#LSTMnet"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.classification.neural.LSTMnet" title="Permalink to this definition"></a></dt> <dd><p>Bases: <a class="reference internal" href="#quapy.classification.neural.TextClassifierNet" title="quapy.classification.neural.TextClassifierNet"><code class="xref py py-class docutils literal notranslate"><span class="pre">TextClassifierNet</span></code></a></p> <p>An implementation of <a class="reference internal" href="#quapy.classification.neural.TextClassifierNet" title="quapy.classification.neural.TextClassifierNet"><code class="xref py py-class docutils literal notranslate"><span class="pre">quapy.classification.neural.TextClassifierNet</span></code></a> based on Long Short Term Memory networks.</p> @@ -509,7 +515,7 @@ Long Short Term Memory networks.</p> </dl> <dl class="py method"> <dt class="sig sig-object py" id="quapy.classification.neural.LSTMnet.document_embedding"> -<span class="sig-name descname"><span class="pre">document_embedding</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">x</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/classification/neural.html#LSTMnet.document_embedding"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.classification.neural.LSTMnet.document_embedding" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">document_embedding</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">x</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/classification/neural.html#LSTMnet.document_embedding"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.classification.neural.LSTMnet.document_embedding" title="Permalink to this definition"></a></dt> <dd><p>Embeds documents (i.e., performs the forward pass up to the next-to-last layer).</p> <dl class="field-list simple"> @@ -527,7 +533,7 @@ dimensionality of the embedding</p> <dl class="py method"> <dt class="sig sig-object py" id="quapy.classification.neural.LSTMnet.get_params"> -<span class="sig-name descname"><span class="pre">get_params</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/classification/neural.html#LSTMnet.get_params"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.classification.neural.LSTMnet.get_params" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">get_params</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/classification/neural.html#LSTMnet.get_params"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.classification.neural.LSTMnet.get_params" title="Permalink to this definition"></a></dt> <dd><p>Get hyper-parameters for this estimator</p> <dl class="field-list simple"> <dt class="field-odd">Returns<span class="colon">:</span></dt> @@ -536,9 +542,14 @@ dimensionality of the embedding</p> </dl> </dd></dl> +<dl class="py attribute"> +<dt class="sig sig-object py" id="quapy.classification.neural.LSTMnet.training"> +<span class="sig-name descname"><span class="pre">training</span></span><em class="property"><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="pre">bool</span></em><a class="headerlink" href="#quapy.classification.neural.LSTMnet.training" title="Permalink to this definition"></a></dt> +<dd></dd></dl> + <dl class="py property"> <dt class="sig sig-object py" id="quapy.classification.neural.LSTMnet.vocabulary_size"> -<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">vocabulary_size</span></span><a class="headerlink" href="#quapy.classification.neural.LSTMnet.vocabulary_size" title="Link to this definition"></a></dt> +<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">vocabulary_size</span></span><a class="headerlink" href="#quapy.classification.neural.LSTMnet.vocabulary_size" title="Permalink to this definition"></a></dt> <dd><p>Return the size of the vocabulary</p> <dl class="field-list simple"> <dt class="field-odd">Returns<span class="colon">:</span></dt> @@ -551,7 +562,7 @@ dimensionality of the embedding</p> <dl class="py class"> <dt class="sig sig-object py" id="quapy.classification.neural.NeuralClassifierTrainer"> -<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">quapy.classification.neural.</span></span><span class="sig-name descname"><span class="pre">NeuralClassifierTrainer</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">net</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="#quapy.classification.neural.TextClassifierNet" title="quapy.classification.neural.TextClassifierNet"><span class="pre">TextClassifierNet</span></a></span></em>, <em class="sig-param"><span class="n"><span class="pre">lr</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.001</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">weight_decay</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">patience</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">10</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">epochs</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">200</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">batch_size</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">64</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">batch_size_test</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">512</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">padding_length</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">300</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">device</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'cuda'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">checkpointpath</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'../checkpoint/classifier_net.dat'</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/classification/neural.html#NeuralClassifierTrainer"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.classification.neural.NeuralClassifierTrainer" title="Link to this definition"></a></dt> +<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">quapy.classification.neural.</span></span><span class="sig-name descname"><span class="pre">NeuralClassifierTrainer</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">net</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="#quapy.classification.neural.TextClassifierNet" title="quapy.classification.neural.TextClassifierNet"><span class="pre">TextClassifierNet</span></a></span></em>, <em class="sig-param"><span class="n"><span class="pre">lr</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.001</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">weight_decay</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">patience</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">10</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">epochs</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">200</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">batch_size</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">64</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">batch_size_test</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">512</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">padding_length</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">300</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">device</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'cuda'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">checkpointpath</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'../checkpoint/classifier_net.dat'</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/classification/neural.html#NeuralClassifierTrainer"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.classification.neural.NeuralClassifierTrainer" title="Permalink to this definition"></a></dt> <dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">object</span></code></p> <p>Trains a neural network for text classification.</p> <dl class="field-list simple"> @@ -574,7 +585,7 @@ according to the evaluation in the held-out validation split (default ‘../chec </dl> <dl class="py property"> <dt class="sig sig-object py" id="quapy.classification.neural.NeuralClassifierTrainer.device"> -<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">device</span></span><a class="headerlink" href="#quapy.classification.neural.NeuralClassifierTrainer.device" title="Link to this definition"></a></dt> +<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">device</span></span><a class="headerlink" href="#quapy.classification.neural.NeuralClassifierTrainer.device" title="Permalink to this definition"></a></dt> <dd><p>Gets the device in which the network is allocated</p> <dl class="field-list simple"> <dt class="field-odd">Returns<span class="colon">:</span></dt> @@ -585,7 +596,7 @@ according to the evaluation in the held-out validation split (default ‘../chec <dl class="py method"> <dt class="sig sig-object py" id="quapy.classification.neural.NeuralClassifierTrainer.fit"> -<span class="sig-name descname"><span class="pre">fit</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">instances</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">labels</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">val_split</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.3</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/classification/neural.html#NeuralClassifierTrainer.fit"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.classification.neural.NeuralClassifierTrainer.fit" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">fit</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">instances</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">labels</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">val_split</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.3</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/classification/neural.html#NeuralClassifierTrainer.fit"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.classification.neural.NeuralClassifierTrainer.fit" title="Permalink to this definition"></a></dt> <dd><p>Fits the model according to the given training data.</p> <dl class="field-list simple"> <dt class="field-odd">Parameters<span class="colon">:</span></dt> @@ -603,7 +614,7 @@ according to the evaluation in the held-out validation split (default ‘../chec <dl class="py method"> <dt class="sig sig-object py" id="quapy.classification.neural.NeuralClassifierTrainer.get_params"> -<span class="sig-name descname"><span class="pre">get_params</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/classification/neural.html#NeuralClassifierTrainer.get_params"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.classification.neural.NeuralClassifierTrainer.get_params" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">get_params</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/classification/neural.html#NeuralClassifierTrainer.get_params"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.classification.neural.NeuralClassifierTrainer.get_params" title="Permalink to this definition"></a></dt> <dd><p>Get hyper-parameters for this estimator</p> <dl class="field-list simple"> <dt class="field-odd">Returns<span class="colon">:</span></dt> @@ -614,7 +625,7 @@ according to the evaluation in the held-out validation split (default ‘../chec <dl class="py method"> <dt class="sig sig-object py" id="quapy.classification.neural.NeuralClassifierTrainer.predict"> -<span class="sig-name descname"><span class="pre">predict</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">instances</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/classification/neural.html#NeuralClassifierTrainer.predict"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.classification.neural.NeuralClassifierTrainer.predict" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">predict</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">instances</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/classification/neural.html#NeuralClassifierTrainer.predict"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.classification.neural.NeuralClassifierTrainer.predict" title="Permalink to this definition"></a></dt> <dd><p>Predicts labels for the instances</p> <dl class="field-list simple"> <dt class="field-odd">Parameters<span class="colon">:</span></dt> @@ -629,7 +640,7 @@ instances in <cite>X</cite></p> <dl class="py method"> <dt class="sig sig-object py" id="quapy.classification.neural.NeuralClassifierTrainer.predict_proba"> -<span class="sig-name descname"><span class="pre">predict_proba</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">instances</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/classification/neural.html#NeuralClassifierTrainer.predict_proba"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.classification.neural.NeuralClassifierTrainer.predict_proba" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">predict_proba</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">instances</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/classification/neural.html#NeuralClassifierTrainer.predict_proba"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.classification.neural.NeuralClassifierTrainer.predict_proba" title="Permalink to this definition"></a></dt> <dd><p>Predicts posterior probabilities for the instances</p> <dl class="field-list simple"> <dt class="field-odd">Parameters<span class="colon">:</span></dt> @@ -643,7 +654,7 @@ instances in <cite>X</cite></p> <dl class="py method"> <dt class="sig sig-object py" id="quapy.classification.neural.NeuralClassifierTrainer.reset_net_params"> -<span class="sig-name descname"><span class="pre">reset_net_params</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">vocab_size</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">n_classes</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/classification/neural.html#NeuralClassifierTrainer.reset_net_params"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.classification.neural.NeuralClassifierTrainer.reset_net_params" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">reset_net_params</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">vocab_size</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">n_classes</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/classification/neural.html#NeuralClassifierTrainer.reset_net_params"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.classification.neural.NeuralClassifierTrainer.reset_net_params" title="Permalink to this definition"></a></dt> <dd><p>Reinitialize the network parameters</p> <dl class="field-list simple"> <dt class="field-odd">Parameters<span class="colon">:</span></dt> @@ -657,7 +668,7 @@ instances in <cite>X</cite></p> <dl class="py method"> <dt class="sig sig-object py" id="quapy.classification.neural.NeuralClassifierTrainer.set_params"> -<span class="sig-name descname"><span class="pre">set_params</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">params</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/classification/neural.html#NeuralClassifierTrainer.set_params"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.classification.neural.NeuralClassifierTrainer.set_params" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">set_params</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">params</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/classification/neural.html#NeuralClassifierTrainer.set_params"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.classification.neural.NeuralClassifierTrainer.set_params" title="Permalink to this definition"></a></dt> <dd><p>Set the parameters of this trainer and the learner it is training. In this current version, parameter names for the trainer and learner should be disjoint.</p> @@ -670,7 +681,7 @@ be disjoint.</p> <dl class="py method"> <dt class="sig sig-object py" id="quapy.classification.neural.NeuralClassifierTrainer.transform"> -<span class="sig-name descname"><span class="pre">transform</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">instances</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/classification/neural.html#NeuralClassifierTrainer.transform"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.classification.neural.NeuralClassifierTrainer.transform" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">transform</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">instances</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/classification/neural.html#NeuralClassifierTrainer.transform"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.classification.neural.NeuralClassifierTrainer.transform" title="Permalink to this definition"></a></dt> <dd><p>Returns the embeddings of the instances</p> <dl class="field-list simple"> <dt class="field-odd">Parameters<span class="colon">:</span></dt> @@ -687,12 +698,12 @@ where <cite>embed_size</cite> is defined by the classification network</p> <dl class="py class"> <dt class="sig sig-object py" id="quapy.classification.neural.TextClassifierNet"> -<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">quapy.classification.neural.</span></span><span class="sig-name descname"><span class="pre">TextClassifierNet</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/classification/neural.html#TextClassifierNet"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.classification.neural.TextClassifierNet" title="Link to this definition"></a></dt> +<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">quapy.classification.neural.</span></span><span class="sig-name descname"><span class="pre">TextClassifierNet</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/classification/neural.html#TextClassifierNet"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.classification.neural.TextClassifierNet" title="Permalink to this definition"></a></dt> <dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">Module</span></code></p> <p>Abstract Text classifier (<cite>torch.nn.Module</cite>)</p> <dl class="py method"> <dt class="sig sig-object py" id="quapy.classification.neural.TextClassifierNet.dimensions"> -<span class="sig-name descname"><span class="pre">dimensions</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/classification/neural.html#TextClassifierNet.dimensions"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.classification.neural.TextClassifierNet.dimensions" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">dimensions</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/classification/neural.html#TextClassifierNet.dimensions"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.classification.neural.TextClassifierNet.dimensions" title="Permalink to this definition"></a></dt> <dd><p>Gets the number of dimensions of the embedding space</p> <dl class="field-list simple"> <dt class="field-odd">Returns<span class="colon">:</span></dt> @@ -703,7 +714,7 @@ where <cite>embed_size</cite> is defined by the classification network</p> <dl class="py method"> <dt class="sig sig-object py" id="quapy.classification.neural.TextClassifierNet.document_embedding"> -<em class="property"><span class="pre">abstract</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">document_embedding</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">x</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/classification/neural.html#TextClassifierNet.document_embedding"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.classification.neural.TextClassifierNet.document_embedding" title="Link to this definition"></a></dt> +<em class="property"><span class="pre">abstract</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">document_embedding</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">x</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/classification/neural.html#TextClassifierNet.document_embedding"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.classification.neural.TextClassifierNet.document_embedding" title="Permalink to this definition"></a></dt> <dd><p>Embeds documents (i.e., performs the forward pass up to the next-to-last layer).</p> <dl class="field-list simple"> @@ -721,7 +732,7 @@ dimensionality of the embedding</p> <dl class="py method"> <dt class="sig sig-object py" id="quapy.classification.neural.TextClassifierNet.forward"> -<span class="sig-name descname"><span class="pre">forward</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">x</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/classification/neural.html#TextClassifierNet.forward"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.classification.neural.TextClassifierNet.forward" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">forward</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">x</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/classification/neural.html#TextClassifierNet.forward"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.classification.neural.TextClassifierNet.forward" title="Permalink to this definition"></a></dt> <dd><p>Performs the forward pass.</p> <dl class="field-list simple"> <dt class="field-odd">Parameters<span class="colon">:</span></dt> @@ -737,7 +748,7 @@ for each of the instances and classes</p> <dl class="py method"> <dt class="sig sig-object py" id="quapy.classification.neural.TextClassifierNet.get_params"> -<em class="property"><span class="pre">abstract</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">get_params</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/classification/neural.html#TextClassifierNet.get_params"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.classification.neural.TextClassifierNet.get_params" title="Link to this definition"></a></dt> +<em class="property"><span class="pre">abstract</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">get_params</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/classification/neural.html#TextClassifierNet.get_params"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.classification.neural.TextClassifierNet.get_params" title="Permalink to this definition"></a></dt> <dd><p>Get hyper-parameters for this estimator</p> <dl class="field-list simple"> <dt class="field-odd">Returns<span class="colon">:</span></dt> @@ -748,7 +759,7 @@ for each of the instances and classes</p> <dl class="py method"> <dt class="sig sig-object py" id="quapy.classification.neural.TextClassifierNet.predict_proba"> -<span class="sig-name descname"><span class="pre">predict_proba</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">x</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/classification/neural.html#TextClassifierNet.predict_proba"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.classification.neural.TextClassifierNet.predict_proba" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">predict_proba</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">x</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/classification/neural.html#TextClassifierNet.predict_proba"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.classification.neural.TextClassifierNet.predict_proba" title="Permalink to this definition"></a></dt> <dd><p>Predicts posterior probabilities for the instances in <cite>x</cite></p> <dl class="field-list simple"> <dt class="field-odd">Parameters<span class="colon">:</span></dt> @@ -762,9 +773,14 @@ is length of the pad in the batch</p> </dl> </dd></dl> +<dl class="py attribute"> +<dt class="sig sig-object py" id="quapy.classification.neural.TextClassifierNet.training"> +<span class="sig-name descname"><span class="pre">training</span></span><em class="property"><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="pre">bool</span></em><a class="headerlink" href="#quapy.classification.neural.TextClassifierNet.training" title="Permalink to this definition"></a></dt> +<dd></dd></dl> + <dl class="py property"> <dt class="sig sig-object py" id="quapy.classification.neural.TextClassifierNet.vocabulary_size"> -<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">vocabulary_size</span></span><a class="headerlink" href="#quapy.classification.neural.TextClassifierNet.vocabulary_size" title="Link to this definition"></a></dt> +<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">vocabulary_size</span></span><a class="headerlink" href="#quapy.classification.neural.TextClassifierNet.vocabulary_size" title="Permalink to this definition"></a></dt> <dd><p>Return the size of the vocabulary</p> <dl class="field-list simple"> <dt class="field-odd">Returns<span class="colon">:</span></dt> @@ -775,7 +791,7 @@ is length of the pad in the batch</p> <dl class="py method"> <dt class="sig sig-object py" id="quapy.classification.neural.TextClassifierNet.xavier_uniform"> -<span class="sig-name descname"><span class="pre">xavier_uniform</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/classification/neural.html#TextClassifierNet.xavier_uniform"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.classification.neural.TextClassifierNet.xavier_uniform" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">xavier_uniform</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/classification/neural.html#TextClassifierNet.xavier_uniform"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.classification.neural.TextClassifierNet.xavier_uniform" title="Permalink to this definition"></a></dt> <dd><p>Performs Xavier initialization of the network parameters</p> </dd></dl> @@ -783,7 +799,7 @@ is length of the pad in the batch</p> <dl class="py class"> <dt class="sig sig-object py" id="quapy.classification.neural.TorchDataset"> -<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">quapy.classification.neural.</span></span><span class="sig-name descname"><span class="pre">TorchDataset</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">instances</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">labels</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/classification/neural.html#TorchDataset"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.classification.neural.TorchDataset" title="Link to this definition"></a></dt> +<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">quapy.classification.neural.</span></span><span class="sig-name descname"><span class="pre">TorchDataset</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">instances</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">labels</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/classification/neural.html#TorchDataset"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.classification.neural.TorchDataset" title="Permalink to this definition"></a></dt> <dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">Dataset</span></code></p> <p>Transforms labelled instances into a Torch’s <code class="xref py py-class docutils literal notranslate"><span class="pre">torch.utils.data.DataLoader</span></code> object</p> <dl class="field-list simple"> @@ -796,7 +812,7 @@ is length of the pad in the batch</p> </dl> <dl class="py method"> <dt class="sig sig-object py" id="quapy.classification.neural.TorchDataset.asDataloader"> -<span class="sig-name descname"><span class="pre">asDataloader</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">batch_size</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">shuffle</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">pad_length</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">device</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/classification/neural.html#TorchDataset.asDataloader"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.classification.neural.TorchDataset.asDataloader" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">asDataloader</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">batch_size</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">shuffle</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">pad_length</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">device</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/classification/neural.html#TorchDataset.asDataloader"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.classification.neural.TorchDataset.asDataloader" title="Permalink to this definition"></a></dt> <dd><p>Converts the labelled collection into a Torch DataLoader with dynamic padding for the batch</p> <dl class="field-list simple"> @@ -820,10 +836,10 @@ applied, meaning that if the longest document in the batch is shorter than </section> <section id="module-quapy.classification.svmperf"> -<span id="quapy-classification-svmperf-module"></span><h2>quapy.classification.svmperf module<a class="headerlink" href="#module-quapy.classification.svmperf" title="Link to this heading"></a></h2> +<span id="quapy-classification-svmperf-module"></span><h2>quapy.classification.svmperf module<a class="headerlink" href="#module-quapy.classification.svmperf" title="Permalink to this heading"></a></h2> <dl class="py class"> <dt class="sig sig-object py" id="quapy.classification.svmperf.SVMperf"> -<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">quapy.classification.svmperf.</span></span><span class="sig-name descname"><span class="pre">SVMperf</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">svmperf_base</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">C</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.01</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">verbose</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">loss</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'01'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">host_folder</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/classification/svmperf.html#SVMperf"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.classification.svmperf.SVMperf" title="Link to this definition"></a></dt> +<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">quapy.classification.svmperf.</span></span><span class="sig-name descname"><span class="pre">SVMperf</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">svmperf_base</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">C</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.01</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">verbose</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">loss</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'01'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">host_folder</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/classification/svmperf.html#SVMperf"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.classification.svmperf.SVMperf" title="Permalink to this definition"></a></dt> <dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">BaseEstimator</span></code>, <code class="xref py py-class docutils literal notranslate"><span class="pre">ClassifierMixin</span></code></p> <p>A wrapper for the <a class="reference external" href="https://www.cs.cornell.edu/people/tj/svm_light/svm_perf.html">SVM-perf package</a> by Thorsten Joachims. When using losses for quantification, the source code has to be patched. See @@ -848,7 +864,7 @@ for further details.</p> </dl> <dl class="py method"> <dt class="sig sig-object py" id="quapy.classification.svmperf.SVMperf.decision_function"> -<span class="sig-name descname"><span class="pre">decision_function</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">X</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">y</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/classification/svmperf.html#SVMperf.decision_function"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.classification.svmperf.SVMperf.decision_function" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">decision_function</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">X</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">y</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/classification/svmperf.html#SVMperf.decision_function"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.classification.svmperf.SVMperf.decision_function" title="Permalink to this definition"></a></dt> <dd><p>Evaluate the decision function for the samples in <cite>X</cite>.</p> <dl class="field-list simple"> <dt class="field-odd">Parameters<span class="colon">:</span></dt> @@ -865,7 +881,7 @@ for further details.</p> <dl class="py method"> <dt class="sig sig-object py" id="quapy.classification.svmperf.SVMperf.fit"> -<span class="sig-name descname"><span class="pre">fit</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">X</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">y</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/classification/svmperf.html#SVMperf.fit"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.classification.svmperf.SVMperf.fit" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">fit</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">X</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">y</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/classification/svmperf.html#SVMperf.fit"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.classification.svmperf.SVMperf.fit" title="Permalink to this definition"></a></dt> <dd><p>Trains the SVM for the multivariate performance loss</p> <dl class="field-list simple"> <dt class="field-odd">Parameters<span class="colon">:</span></dt> @@ -882,7 +898,7 @@ for further details.</p> <dl class="py method"> <dt class="sig sig-object py" id="quapy.classification.svmperf.SVMperf.predict"> -<span class="sig-name descname"><span class="pre">predict</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">X</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/classification/svmperf.html#SVMperf.predict"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.classification.svmperf.SVMperf.predict" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">predict</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">X</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/classification/svmperf.html#SVMperf.predict"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.classification.svmperf.SVMperf.predict" title="Permalink to this definition"></a></dt> <dd><p>Predicts labels for the instances <cite>X</cite></p> <dl class="field-list simple"> <dt class="field-odd">Parameters<span class="colon">:</span></dt> @@ -897,14 +913,14 @@ instances in <cite>X</cite></p> <dl class="py attribute"> <dt class="sig sig-object py" id="quapy.classification.svmperf.SVMperf.valid_losses"> -<span class="sig-name descname"><span class="pre">valid_losses</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">{'01':</span> <span class="pre">0,</span> <span class="pre">'f1':</span> <span class="pre">1,</span> <span class="pre">'kld':</span> <span class="pre">12,</span> <span class="pre">'mae':</span> <span class="pre">26,</span> <span class="pre">'mrae':</span> <span class="pre">27,</span> <span class="pre">'nkld':</span> <span class="pre">13,</span> <span class="pre">'q':</span> <span class="pre">22,</span> <span class="pre">'qacc':</span> <span class="pre">23,</span> <span class="pre">'qf1':</span> <span class="pre">24,</span> <span class="pre">'qgm':</span> <span class="pre">25}</span></em><a class="headerlink" href="#quapy.classification.svmperf.SVMperf.valid_losses" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">valid_losses</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">{'01':</span> <span class="pre">0,</span> <span class="pre">'f1':</span> <span class="pre">1,</span> <span class="pre">'kld':</span> <span class="pre">12,</span> <span class="pre">'mae':</span> <span class="pre">26,</span> <span class="pre">'mrae':</span> <span class="pre">27,</span> <span class="pre">'nkld':</span> <span class="pre">13,</span> <span class="pre">'q':</span> <span class="pre">22,</span> <span class="pre">'qacc':</span> <span class="pre">23,</span> <span class="pre">'qf1':</span> <span class="pre">24,</span> <span class="pre">'qgm':</span> <span class="pre">25}</span></em><a class="headerlink" href="#quapy.classification.svmperf.SVMperf.valid_losses" title="Permalink to this definition"></a></dt> <dd></dd></dl> </dd></dl> </section> <section id="module-quapy.classification"> -<span id="module-contents"></span><h2>Module contents<a class="headerlink" href="#module-quapy.classification" title="Link to this heading"></a></h2> +<span id="module-contents"></span><h2>Module contents<a class="headerlink" href="#module-quapy.classification" title="Permalink to this heading"></a></h2> </section> </section> diff --git a/docs/build/html/quapy.data.html b/docs/build/html/quapy.data.html index fd7a730..0f0f06f 100644 --- a/docs/build/html/quapy.data.html +++ b/docs/build/html/quapy.data.html @@ -1,23 +1,24 @@ <!DOCTYPE html> -<html class="writer-html5" lang="en" data-content_root="./"> +<html class="writer-html5" lang="en"> <head> <meta charset="utf-8" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> - <title>quapy.data package — QuaPy: A Python-based open-source framework for quantification 0.1.8 documentation</title> - <link rel="stylesheet" type="text/css" href="_static/pygments.css?v=92fd9be5" /> - <link rel="stylesheet" type="text/css" href="_static/css/theme.css?v=19f00094" /> + <title>quapy.data package — QuaPy: A Python-based open-source framework for quantification 0.1.9 documentation</title> + <link rel="stylesheet" type="text/css" href="_static/pygments.css" /> + <link rel="stylesheet" type="text/css" href="_static/css/theme.css" /> <!--[if lt IE 9]> <script src="_static/js/html5shiv.min.js"></script> <![endif]--> - <script src="_static/jquery.js?v=5d32c60e"></script> - <script src="_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script> - <script src="_static/documentation_options.js?v=22607128"></script> - <script src="_static/doctools.js?v=9a2dae69"></script> - <script src="_static/sphinx_highlight.js?v=dc90522c"></script> + <script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script> + <script src="_static/jquery.js"></script> + <script src="_static/underscore.js"></script> + <script src="_static/_sphinx_javascript_frameworks_compat.js"></script> + <script src="_static/doctools.js"></script> + <script src="_static/sphinx_highlight.js"></script> <script src="_static/js/theme.js"></script> <link rel="index" title="Index" href="genindex.html" /> <link rel="search" title="Search" href="search.html" /> @@ -95,15 +96,15 @@ <div itemprop="articleBody"> <section id="quapy-data-package"> -<h1>quapy.data package<a class="headerlink" href="#quapy-data-package" title="Link to this heading"></a></h1> +<h1>quapy.data package<a class="headerlink" href="#quapy-data-package" title="Permalink to this heading"></a></h1> <section id="submodules"> -<h2>Submodules<a class="headerlink" href="#submodules" title="Link to this heading"></a></h2> +<h2>Submodules<a class="headerlink" href="#submodules" title="Permalink to this heading"></a></h2> </section> <section id="module-quapy.data.base"> -<span id="quapy-data-base-module"></span><h2>quapy.data.base module<a class="headerlink" href="#module-quapy.data.base" title="Link to this heading"></a></h2> +<span id="quapy-data-base-module"></span><h2>quapy.data.base module<a class="headerlink" href="#module-quapy.data.base" title="Permalink to this heading"></a></h2> <dl class="py class"> <dt class="sig sig-object py" id="quapy.data.base.Dataset"> -<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">quapy.data.base.</span></span><span class="sig-name descname"><span class="pre">Dataset</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">training</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><span class="pre">LabelledCollection</span></a></span></em>, <em class="sig-param"><span class="n"><span class="pre">test</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><span class="pre">LabelledCollection</span></a></span></em>, <em class="sig-param"><span class="n"><span class="pre">vocabulary</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">dict</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">name</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">''</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/data/base.html#Dataset"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.data.base.Dataset" title="Link to this definition"></a></dt> +<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">quapy.data.base.</span></span><span class="sig-name descname"><span class="pre">Dataset</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">training</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><span class="pre">LabelledCollection</span></a></span></em>, <em class="sig-param"><span class="n"><span class="pre">test</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><span class="pre">LabelledCollection</span></a></span></em>, <em class="sig-param"><span class="n"><span class="pre">vocabulary</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Optional</span><span class="p"><span class="pre">[</span></span><span class="pre">dict</span><span class="p"><span class="pre">]</span></span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">name</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">''</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/data/base.html#Dataset"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.data.base.Dataset" title="Permalink to this definition"></a></dt> <dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">object</span></code></p> <p>Abstraction of training and test <a class="reference internal" href="#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><code class="xref py py-class docutils literal notranslate"><span class="pre">LabelledCollection</span></code></a> objects.</p> <dl class="field-list simple"> @@ -118,7 +119,7 @@ </dl> <dl class="py method"> <dt class="sig sig-object py" id="quapy.data.base.Dataset.SplitStratified"> -<em class="property"><span class="pre">classmethod</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">SplitStratified</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">collection</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><span class="pre">LabelledCollection</span></a></span></em>, <em class="sig-param"><span class="n"><span class="pre">train_size</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.6</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/data/base.html#Dataset.SplitStratified"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.data.base.Dataset.SplitStratified" title="Link to this definition"></a></dt> +<em class="property"><span class="pre">classmethod</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">SplitStratified</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">collection</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><span class="pre">LabelledCollection</span></a></span></em>, <em class="sig-param"><span class="n"><span class="pre">train_size</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.6</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/data/base.html#Dataset.SplitStratified"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.data.base.Dataset.SplitStratified" title="Permalink to this definition"></a></dt> <dd><p>Generates a <a class="reference internal" href="#quapy.data.base.Dataset" title="quapy.data.base.Dataset"><code class="xref py py-class docutils literal notranslate"><span class="pre">Dataset</span></code></a> from a stratified split of a <a class="reference internal" href="#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><code class="xref py py-class docutils literal notranslate"><span class="pre">LabelledCollection</span></code></a> instance. See <a class="reference internal" href="#quapy.data.base.LabelledCollection.split_stratified" title="quapy.data.base.LabelledCollection.split_stratified"><code class="xref py py-meth docutils literal notranslate"><span class="pre">LabelledCollection.split_stratified()</span></code></a></p> <dl class="field-list simple"> @@ -136,7 +137,7 @@ See <a class="reference internal" href="#quapy.data.base.LabelledCollection.spli <dl class="py property"> <dt class="sig sig-object py" id="quapy.data.base.Dataset.binary"> -<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">binary</span></span><a class="headerlink" href="#quapy.data.base.Dataset.binary" title="Link to this definition"></a></dt> +<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">binary</span></span><a class="headerlink" href="#quapy.data.base.Dataset.binary" title="Permalink to this definition"></a></dt> <dd><p>Returns True if the training collection is labelled according to two classes</p> <dl class="field-list simple"> <dt class="field-odd">Returns<span class="colon">:</span></dt> @@ -147,7 +148,7 @@ See <a class="reference internal" href="#quapy.data.base.LabelledCollection.spli <dl class="py property"> <dt class="sig sig-object py" id="quapy.data.base.Dataset.classes_"> -<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">classes_</span></span><a class="headerlink" href="#quapy.data.base.Dataset.classes_" title="Link to this definition"></a></dt> +<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">classes_</span></span><a class="headerlink" href="#quapy.data.base.Dataset.classes_" title="Permalink to this definition"></a></dt> <dd><p>The classes according to which the training collection is labelled</p> <dl class="field-list simple"> <dt class="field-odd">Returns<span class="colon">:</span></dt> @@ -158,7 +159,7 @@ See <a class="reference internal" href="#quapy.data.base.LabelledCollection.spli <dl class="py method"> <dt class="sig sig-object py" id="quapy.data.base.Dataset.kFCV"> -<em class="property"><span class="pre">classmethod</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">kFCV</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><span class="pre">LabelledCollection</span></a></span></em>, <em class="sig-param"><span class="n"><span class="pre">nfolds</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">5</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">nrepeats</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">random_state</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/data/base.html#Dataset.kFCV"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.data.base.Dataset.kFCV" title="Link to this definition"></a></dt> +<em class="property"><span class="pre">classmethod</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">kFCV</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><span class="pre">LabelledCollection</span></a></span></em>, <em class="sig-param"><span class="n"><span class="pre">nfolds</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">5</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">nrepeats</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">random_state</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/data/base.html#Dataset.kFCV"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.data.base.Dataset.kFCV" title="Permalink to this definition"></a></dt> <dd><p>Generator of stratified folds to be used in k-fold cross validation. This function is only a wrapper around <a class="reference internal" href="#quapy.data.base.LabelledCollection.kFCV" title="quapy.data.base.LabelledCollection.kFCV"><code class="xref py py-meth docutils literal notranslate"><span class="pre">LabelledCollection.kFCV()</span></code></a> that returns <a class="reference internal" href="#quapy.data.base.Dataset" title="quapy.data.base.Dataset"><code class="xref py py-class docutils literal notranslate"><span class="pre">Dataset</span></code></a> instances made of training and test folds.</p> <dl class="field-list simple"> @@ -177,7 +178,7 @@ See <a class="reference internal" href="#quapy.data.base.LabelledCollection.spli <dl class="py method"> <dt class="sig sig-object py" id="quapy.data.base.Dataset.load"> -<em class="property"><span class="pre">classmethod</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">load</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">train_path</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">test_path</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">loader_func</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">callable</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">classes</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">loader_kwargs</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/data/base.html#Dataset.load"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.data.base.Dataset.load" title="Link to this definition"></a></dt> +<em class="property"><span class="pre">classmethod</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">load</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">train_path</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">test_path</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">loader_func</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">callable</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">classes</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">loader_kwargs</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/data/base.html#Dataset.load"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.data.base.Dataset.load" title="Permalink to this definition"></a></dt> <dd><p>Loads a training and a test labelled set of data and convert it into a <a class="reference internal" href="#quapy.data.base.Dataset" title="quapy.data.base.Dataset"><code class="xref py py-class docutils literal notranslate"><span class="pre">Dataset</span></code></a> instance. The function in charge of reading the instances must be specified. This function can be a custom one, or any of the reading functions defined in <a class="reference internal" href="#module-quapy.data.reader" title="quapy.data.reader"><code class="xref py py-mod docutils literal notranslate"><span class="pre">quapy.data.reader</span></code></a> module.</p> @@ -201,7 +202,7 @@ See <a class="reference internal" href="#quapy.data.base.LabelledCollection.load <dl class="py property"> <dt class="sig sig-object py" id="quapy.data.base.Dataset.n_classes"> -<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">n_classes</span></span><a class="headerlink" href="#quapy.data.base.Dataset.n_classes" title="Link to this definition"></a></dt> +<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">n_classes</span></span><a class="headerlink" href="#quapy.data.base.Dataset.n_classes" title="Permalink to this definition"></a></dt> <dd><p>The number of classes according to which the training collection is labelled</p> <dl class="field-list simple"> <dt class="field-odd">Returns<span class="colon">:</span></dt> @@ -212,7 +213,7 @@ See <a class="reference internal" href="#quapy.data.base.LabelledCollection.load <dl class="py method"> <dt class="sig sig-object py" id="quapy.data.base.Dataset.reduce"> -<span class="sig-name descname"><span class="pre">reduce</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">n_train</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">100</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">n_test</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">100</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/data/base.html#Dataset.reduce"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.data.base.Dataset.reduce" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">reduce</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">n_train</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">100</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">n_test</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">100</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/data/base.html#Dataset.reduce"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.data.base.Dataset.reduce" title="Permalink to this definition"></a></dt> <dd><p>Reduce the number of instances in place for quick experiments. Preserves the prevalence of each set.</p> <dl class="field-list simple"> <dt class="field-odd">Parameters<span class="colon">:</span></dt> @@ -229,7 +230,7 @@ See <a class="reference internal" href="#quapy.data.base.LabelledCollection.load <dl class="py method"> <dt class="sig sig-object py" id="quapy.data.base.Dataset.stats"> -<span class="sig-name descname"><span class="pre">stats</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">show</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/data/base.html#Dataset.stats"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.data.base.Dataset.stats" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">stats</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">show</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/data/base.html#Dataset.stats"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.data.base.Dataset.stats" title="Permalink to this definition"></a></dt> <dd><p>Returns (and eventually prints) a dictionary with some stats of this dataset. E.g.,:</p> <div class="doctest highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">data</span> <span class="o">=</span> <span class="n">qp</span><span class="o">.</span><span class="n">datasets</span><span class="o">.</span><span class="n">fetch_reviews</span><span class="p">(</span><span class="s1">'kindle'</span><span class="p">,</span> <span class="n">tfidf</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">min_df</span><span class="o">=</span><span class="mi">5</span><span class="p">)</span> <span class="gp">>>> </span><span class="n">data</span><span class="o">.</span><span class="n">stats</span><span class="p">()</span> @@ -252,7 +253,7 @@ the collection), <cite>prevs</cite> (the prevalence values for each class)</p> <dl class="py property"> <dt class="sig sig-object py" id="quapy.data.base.Dataset.train_test"> -<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">train_test</span></span><a class="headerlink" href="#quapy.data.base.Dataset.train_test" title="Link to this definition"></a></dt> +<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">train_test</span></span><a class="headerlink" href="#quapy.data.base.Dataset.train_test" title="Permalink to this definition"></a></dt> <dd><p>Alias to <cite>self.training</cite> and <cite>self.test</cite></p> <dl class="field-list simple"> <dt class="field-odd">Returns<span class="colon">:</span></dt> @@ -266,7 +267,7 @@ the collection), <cite>prevs</cite> (the prevalence values for each class)</p> <dl class="py property"> <dt class="sig sig-object py" id="quapy.data.base.Dataset.vocabulary_size"> -<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">vocabulary_size</span></span><a class="headerlink" href="#quapy.data.base.Dataset.vocabulary_size" title="Link to this definition"></a></dt> +<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">vocabulary_size</span></span><a class="headerlink" href="#quapy.data.base.Dataset.vocabulary_size" title="Permalink to this definition"></a></dt> <dd><p>If the dataset is textual, and the vocabulary was indicated, returns the size of the vocabulary</p> <dl class="field-list simple"> <dt class="field-odd">Returns<span class="colon">:</span></dt> @@ -279,7 +280,7 @@ the collection), <cite>prevs</cite> (the prevalence values for each class)</p> <dl class="py class"> <dt class="sig sig-object py" id="quapy.data.base.LabelledCollection"> -<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">quapy.data.base.</span></span><span class="sig-name descname"><span class="pre">LabelledCollection</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">instances</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">labels</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">classes</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/data/base.html#LabelledCollection"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.data.base.LabelledCollection" title="Link to this definition"></a></dt> +<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">quapy.data.base.</span></span><span class="sig-name descname"><span class="pre">LabelledCollection</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">instances</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">labels</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">classes</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/data/base.html#LabelledCollection"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.data.base.LabelledCollection" title="Permalink to this definition"></a></dt> <dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">object</span></code></p> <p>A LabelledCollection is a set of objects each with a label attached to each of them. This class implements several sampling routines and other utilities.</p> @@ -296,7 +297,7 @@ from the labels. The classes must be indicated in cases in which some of the lab </dl> <dl class="py property"> <dt class="sig sig-object py" id="quapy.data.base.LabelledCollection.X"> -<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">X</span></span><a class="headerlink" href="#quapy.data.base.LabelledCollection.X" title="Link to this definition"></a></dt> +<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">X</span></span><a class="headerlink" href="#quapy.data.base.LabelledCollection.X" title="Permalink to this definition"></a></dt> <dd><p>An alias to self.instances</p> <dl class="field-list simple"> <dt class="field-odd">Returns<span class="colon">:</span></dt> @@ -307,7 +308,7 @@ from the labels. The classes must be indicated in cases in which some of the lab <dl class="py property"> <dt class="sig sig-object py" id="quapy.data.base.LabelledCollection.Xp"> -<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">Xp</span></span><a class="headerlink" href="#quapy.data.base.LabelledCollection.Xp" title="Link to this definition"></a></dt> +<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">Xp</span></span><a class="headerlink" href="#quapy.data.base.LabelledCollection.Xp" title="Permalink to this definition"></a></dt> <dd><p>Gets the instances and the true prevalence. This is useful when implementing evaluation protocols from a <a class="reference internal" href="#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><code class="xref py py-class docutils literal notranslate"><span class="pre">LabelledCollection</span></code></a> object.</p> <dl class="field-list simple"> @@ -319,7 +320,7 @@ a <a class="reference internal" href="#quapy.data.base.LabelledCollection" title <dl class="py property"> <dt class="sig sig-object py" id="quapy.data.base.LabelledCollection.Xy"> -<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">Xy</span></span><a class="headerlink" href="#quapy.data.base.LabelledCollection.Xy" title="Link to this definition"></a></dt> +<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">Xy</span></span><a class="headerlink" href="#quapy.data.base.LabelledCollection.Xy" title="Permalink to this definition"></a></dt> <dd><p>Gets the instances and labels. This is useful when working with <cite>sklearn</cite> estimators, e.g.:</p> <div class="doctest highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">svm</span> <span class="o">=</span> <span class="n">LinearSVC</span><span class="p">()</span><span class="o">.</span><span class="n">fit</span><span class="p">(</span><span class="o">*</span><span class="n">my_collection</span><span class="o">.</span><span class="n">Xy</span><span class="p">)</span> </pre></div> @@ -333,7 +334,7 @@ a <a class="reference internal" href="#quapy.data.base.LabelledCollection" title <dl class="py property"> <dt class="sig sig-object py" id="quapy.data.base.LabelledCollection.binary"> -<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">binary</span></span><a class="headerlink" href="#quapy.data.base.LabelledCollection.binary" title="Link to this definition"></a></dt> +<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">binary</span></span><a class="headerlink" href="#quapy.data.base.LabelledCollection.binary" title="Permalink to this definition"></a></dt> <dd><p>Returns True if the number of classes is 2</p> <dl class="field-list simple"> <dt class="field-odd">Returns<span class="colon">:</span></dt> @@ -344,7 +345,7 @@ a <a class="reference internal" href="#quapy.data.base.LabelledCollection" title <dl class="py method"> <dt class="sig sig-object py" id="quapy.data.base.LabelledCollection.counts"> -<span class="sig-name descname"><span class="pre">counts</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/data/base.html#LabelledCollection.counts"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.data.base.LabelledCollection.counts" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">counts</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/data/base.html#LabelledCollection.counts"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.data.base.LabelledCollection.counts" title="Permalink to this definition"></a></dt> <dd><p>Returns the number of instances for each of the classes in the codeframe.</p> <dl class="field-list simple"> <dt class="field-odd">Returns<span class="colon">:</span></dt> @@ -356,7 +357,7 @@ as listed by <cite>self.classes_</cite></p> <dl class="py method"> <dt class="sig sig-object py" id="quapy.data.base.LabelledCollection.join"> -<em class="property"><span class="pre">classmethod</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">join</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Iterable</span><span class="p"><span class="pre">[</span></span><a class="reference internal" href="#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><span class="pre">LabelledCollection</span></a><span class="p"><span class="pre">]</span></span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/data/base.html#LabelledCollection.join"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.data.base.LabelledCollection.join" title="Link to this definition"></a></dt> +<em class="property"><span class="pre">classmethod</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">join</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Iterable</span><span class="p"><span class="pre">[</span></span><a class="reference internal" href="#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><span class="pre">LabelledCollection</span></a><span class="p"><span class="pre">]</span></span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/data/base.html#LabelledCollection.join"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.data.base.LabelledCollection.join" title="Permalink to this definition"></a></dt> <dd><p>Returns a new <a class="reference internal" href="#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><code class="xref py py-class docutils literal notranslate"><span class="pre">LabelledCollection</span></code></a> as the union of the collections given in input.</p> <dl class="field-list simple"> <dt class="field-odd">Parameters<span class="colon">:</span></dt> @@ -370,7 +371,7 @@ as listed by <cite>self.classes_</cite></p> <dl class="py method"> <dt class="sig sig-object py" id="quapy.data.base.LabelledCollection.kFCV"> -<span class="sig-name descname"><span class="pre">kFCV</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">nfolds</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">5</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">nrepeats</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">random_state</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/data/base.html#LabelledCollection.kFCV"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.data.base.LabelledCollection.kFCV" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">kFCV</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">nfolds</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">5</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">nrepeats</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">random_state</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/data/base.html#LabelledCollection.kFCV"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.data.base.LabelledCollection.kFCV" title="Permalink to this definition"></a></dt> <dd><p>Generator of stratified folds to be used in k-fold cross validation.</p> <dl class="field-list simple"> <dt class="field-odd">Parameters<span class="colon">:</span></dt> @@ -388,7 +389,7 @@ as listed by <cite>self.classes_</cite></p> <dl class="py method"> <dt class="sig sig-object py" id="quapy.data.base.LabelledCollection.load"> -<em class="property"><span class="pre">classmethod</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">load</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">path</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">loader_func</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">callable</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">classes</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">loader_kwargs</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/data/base.html#LabelledCollection.load"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.data.base.LabelledCollection.load" title="Link to this definition"></a></dt> +<em class="property"><span class="pre">classmethod</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">load</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">path</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">loader_func</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">callable</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">classes</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">loader_kwargs</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/data/base.html#LabelledCollection.load"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.data.base.LabelledCollection.load" title="Permalink to this definition"></a></dt> <dd><p>Loads a labelled set of data and convert it into a <a class="reference internal" href="#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><code class="xref py py-class docutils literal notranslate"><span class="pre">LabelledCollection</span></code></a> instance. The function in charge of reading the instances must be specified. This function can be a custom one, or any of the reading functions defined in <a class="reference internal" href="#module-quapy.data.reader" title="quapy.data.reader"><code class="xref py py-mod docutils literal notranslate"><span class="pre">quapy.data.reader</span></code></a> module.</p> @@ -411,7 +412,7 @@ these arguments are used to call <cite>loader_func(path, **loader_kwargs)</cite> <dl class="py property"> <dt class="sig sig-object py" id="quapy.data.base.LabelledCollection.n_classes"> -<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">n_classes</span></span><a class="headerlink" href="#quapy.data.base.LabelledCollection.n_classes" title="Link to this definition"></a></dt> +<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">n_classes</span></span><a class="headerlink" href="#quapy.data.base.LabelledCollection.n_classes" title="Permalink to this definition"></a></dt> <dd><p>The number of classes</p> <dl class="field-list simple"> <dt class="field-odd">Returns<span class="colon">:</span></dt> @@ -422,7 +423,7 @@ these arguments are used to call <cite>loader_func(path, **loader_kwargs)</cite> <dl class="py property"> <dt class="sig sig-object py" id="quapy.data.base.LabelledCollection.p"> -<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">p</span></span><a class="headerlink" href="#quapy.data.base.LabelledCollection.p" title="Link to this definition"></a></dt> +<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">p</span></span><a class="headerlink" href="#quapy.data.base.LabelledCollection.p" title="Permalink to this definition"></a></dt> <dd><p>An alias to self.prevalence()</p> <dl class="field-list simple"> <dt class="field-odd">Returns<span class="colon">:</span></dt> @@ -433,7 +434,7 @@ these arguments are used to call <cite>loader_func(path, **loader_kwargs)</cite> <dl class="py method"> <dt class="sig sig-object py" id="quapy.data.base.LabelledCollection.prevalence"> -<span class="sig-name descname"><span class="pre">prevalence</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/data/base.html#LabelledCollection.prevalence"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.data.base.LabelledCollection.prevalence" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">prevalence</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/data/base.html#LabelledCollection.prevalence"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.data.base.LabelledCollection.prevalence" title="Permalink to this definition"></a></dt> <dd><p>Returns the prevalence, or relative frequency, of the classes in the codeframe.</p> <dl class="field-list simple"> <dt class="field-odd">Returns<span class="colon">:</span></dt> @@ -445,7 +446,7 @@ as listed by <cite>self.classes_</cite></p> <dl class="py method"> <dt class="sig sig-object py" id="quapy.data.base.LabelledCollection.sampling"> -<span class="sig-name descname"><span class="pre">sampling</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">size</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">prevs</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">shuffle</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">random_state</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/data/base.html#LabelledCollection.sampling"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.data.base.LabelledCollection.sampling" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">sampling</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">size</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">prevs</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">shuffle</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">random_state</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/data/base.html#LabelledCollection.sampling"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.data.base.LabelledCollection.sampling" title="Permalink to this definition"></a></dt> <dd><p>Return a random sample (an instance of <a class="reference internal" href="#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><code class="xref py py-class docutils literal notranslate"><span class="pre">LabelledCollection</span></code></a>) of desired size and desired prevalence values. For each class, the sampling is drawn without replacement if the requested prevalence is larger than the actual prevalence of the class, or with replacement otherwise.</p> @@ -469,7 +470,7 @@ prevalence == <cite>prevs</cite> if the exact prevalence values can be met as pr <dl class="py method"> <dt class="sig sig-object py" id="quapy.data.base.LabelledCollection.sampling_from_index"> -<span class="sig-name descname"><span class="pre">sampling_from_index</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">index</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/data/base.html#LabelledCollection.sampling_from_index"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.data.base.LabelledCollection.sampling_from_index" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">sampling_from_index</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">index</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/data/base.html#LabelledCollection.sampling_from_index"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.data.base.LabelledCollection.sampling_from_index" title="Permalink to this definition"></a></dt> <dd><p>Returns an instance of <a class="reference internal" href="#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><code class="xref py py-class docutils literal notranslate"><span class="pre">LabelledCollection</span></code></a> whose elements are sampled from this collection using the index.</p> <dl class="field-list simple"> @@ -484,7 +485,7 @@ index.</p> <dl class="py method"> <dt class="sig sig-object py" id="quapy.data.base.LabelledCollection.sampling_index"> -<span class="sig-name descname"><span class="pre">sampling_index</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">size</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">prevs</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">shuffle</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">random_state</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/data/base.html#LabelledCollection.sampling_index"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.data.base.LabelledCollection.sampling_index" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">sampling_index</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">size</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">prevs</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">shuffle</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">random_state</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/data/base.html#LabelledCollection.sampling_index"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.data.base.LabelledCollection.sampling_index" title="Permalink to this definition"></a></dt> <dd><p>Returns an index to be used to extract a random sample of desired size and desired prevalence values. If the prevalence values are not specified, then returns the index of a uniform sampling. For each class, the sampling is drawn with replacement if the requested prevalence is larger than @@ -508,7 +509,7 @@ it is constrained. E.g., for binary collections, only the prevalence <cite>p</ci <dl class="py method"> <dt class="sig sig-object py" id="quapy.data.base.LabelledCollection.split_random"> -<span class="sig-name descname"><span class="pre">split_random</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">train_prop</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.6</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">random_state</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/data/base.html#LabelledCollection.split_random"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.data.base.LabelledCollection.split_random" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">split_random</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">train_prop</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.6</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">random_state</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/data/base.html#LabelledCollection.split_random"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.data.base.LabelledCollection.split_random" title="Permalink to this definition"></a></dt> <dd><p>Returns two instances of <a class="reference internal" href="#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><code class="xref py py-class docutils literal notranslate"><span class="pre">LabelledCollection</span></code></a> split randomly from this collection, at desired proportion.</p> <dl class="field-list simple"> @@ -529,7 +530,7 @@ second one with <cite>1-train_prop</cite> elements</p> <dl class="py method"> <dt class="sig sig-object py" id="quapy.data.base.LabelledCollection.split_stratified"> -<span class="sig-name descname"><span class="pre">split_stratified</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">train_prop</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.6</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">random_state</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/data/base.html#LabelledCollection.split_stratified"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.data.base.LabelledCollection.split_stratified" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">split_stratified</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">train_prop</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.6</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">random_state</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/data/base.html#LabelledCollection.split_stratified"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.data.base.LabelledCollection.split_stratified" title="Permalink to this definition"></a></dt> <dd><p>Returns two instances of <a class="reference internal" href="#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><code class="xref py py-class docutils literal notranslate"><span class="pre">LabelledCollection</span></code></a> split with stratification from this collection, at desired proportion.</p> <dl class="field-list simple"> @@ -550,7 +551,7 @@ second one with <cite>1-train_prop</cite> elements</p> <dl class="py method"> <dt class="sig sig-object py" id="quapy.data.base.LabelledCollection.stats"> -<span class="sig-name descname"><span class="pre">stats</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">show</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/data/base.html#LabelledCollection.stats"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.data.base.LabelledCollection.stats" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">stats</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">show</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/data/base.html#LabelledCollection.stats"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.data.base.LabelledCollection.stats" title="Permalink to this definition"></a></dt> <dd><p>Returns (and eventually prints) a dictionary with some stats of this collection. E.g.,:</p> <div class="doctest highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">data</span> <span class="o">=</span> <span class="n">qp</span><span class="o">.</span><span class="n">datasets</span><span class="o">.</span><span class="n">fetch_reviews</span><span class="p">(</span><span class="s1">'kindle'</span><span class="p">,</span> <span class="n">tfidf</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">min_df</span><span class="o">=</span><span class="mi">5</span><span class="p">)</span> <span class="gp">>>> </span><span class="n">data</span><span class="o">.</span><span class="n">training</span><span class="o">.</span><span class="n">stats</span><span class="p">()</span> @@ -572,7 +573,7 @@ values for each class)</p> <dl class="py method"> <dt class="sig sig-object py" id="quapy.data.base.LabelledCollection.uniform_sampling"> -<span class="sig-name descname"><span class="pre">uniform_sampling</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">size</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">random_state</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/data/base.html#LabelledCollection.uniform_sampling"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.data.base.LabelledCollection.uniform_sampling" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">uniform_sampling</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">size</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">random_state</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/data/base.html#LabelledCollection.uniform_sampling"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.data.base.LabelledCollection.uniform_sampling" title="Permalink to this definition"></a></dt> <dd><p>Returns a uniform sample (an instance of <a class="reference internal" href="#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><code class="xref py py-class docutils literal notranslate"><span class="pre">LabelledCollection</span></code></a>) of desired size. The sampling is drawn with replacement if the requested size is greater than the number of instances, or without replacement otherwise.</p> @@ -591,7 +592,7 @@ otherwise.</p> <dl class="py method"> <dt class="sig sig-object py" id="quapy.data.base.LabelledCollection.uniform_sampling_index"> -<span class="sig-name descname"><span class="pre">uniform_sampling_index</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">size</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">random_state</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/data/base.html#LabelledCollection.uniform_sampling_index"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.data.base.LabelledCollection.uniform_sampling_index" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">uniform_sampling_index</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">size</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">random_state</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/data/base.html#LabelledCollection.uniform_sampling_index"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.data.base.LabelledCollection.uniform_sampling_index" title="Permalink to this definition"></a></dt> <dd><p>Returns an index to be used to extract a uniform sample of desired size. The sampling is drawn with replacement if the requested size is greater than the number of instances, or without replacement otherwise.</p> @@ -610,7 +611,7 @@ otherwise.</p> <dl class="py property"> <dt class="sig sig-object py" id="quapy.data.base.LabelledCollection.y"> -<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">y</span></span><a class="headerlink" href="#quapy.data.base.LabelledCollection.y" title="Link to this definition"></a></dt> +<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">y</span></span><a class="headerlink" href="#quapy.data.base.LabelledCollection.y" title="Permalink to this definition"></a></dt> <dd><p>An alias to self.labels</p> <dl class="field-list simple"> <dt class="field-odd">Returns<span class="colon">:</span></dt> @@ -623,10 +624,10 @@ otherwise.</p> </section> <section id="module-quapy.data.datasets"> -<span id="quapy-data-datasets-module"></span><h2>quapy.data.datasets module<a class="headerlink" href="#module-quapy.data.datasets" title="Link to this heading"></a></h2> +<span id="quapy-data-datasets-module"></span><h2>quapy.data.datasets module<a class="headerlink" href="#module-quapy.data.datasets" title="Permalink to this heading"></a></h2> <dl class="py function"> <dt class="sig sig-object py" id="quapy.data.datasets.fetch_IFCB"> -<span class="sig-prename descclassname"><span class="pre">quapy.data.datasets.</span></span><span class="sig-name descname"><span class="pre">fetch_IFCB</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">single_sample_train</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">for_model_selection</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">data_home</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/data/datasets.html#fetch_IFCB"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.data.datasets.fetch_IFCB" title="Link to this definition"></a></dt> +<span class="sig-prename descclassname"><span class="pre">quapy.data.datasets.</span></span><span class="sig-name descname"><span class="pre">fetch_IFCB</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">single_sample_train</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">for_model_selection</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">data_home</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/data/datasets.html#fetch_IFCB"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.data.datasets.fetch_IFCB" title="Permalink to this definition"></a></dt> <dd><p>Loads the IFCB dataset for quantification from <a class="reference external" href="https://zenodo.org/records/10036244">Zenodo</a> (for more information on this dataset, please follow the zenodo link). This dataset is based on the data available publicly at @@ -658,7 +659,7 @@ i.e., a sampling protocol that returns a series of samples labelled by prevalenc <dl class="py function"> <dt class="sig sig-object py" id="quapy.data.datasets.fetch_UCIBinaryDataset"> -<span class="sig-prename descclassname"><span class="pre">quapy.data.datasets.</span></span><span class="sig-name descname"><span class="pre">fetch_UCIBinaryDataset</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">dataset_name</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">data_home</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">test_split</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.3</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">verbose</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><a class="reference internal" href="#quapy.data.base.Dataset" title="quapy.data.base.Dataset"><span class="pre">Dataset</span></a></span></span><a class="reference internal" href="_modules/quapy/data/datasets.html#fetch_UCIBinaryDataset"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.data.datasets.fetch_UCIBinaryDataset" title="Link to this definition"></a></dt> +<span class="sig-prename descclassname"><span class="pre">quapy.data.datasets.</span></span><span class="sig-name descname"><span class="pre">fetch_UCIBinaryDataset</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">dataset_name</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">data_home</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">test_split</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.3</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">verbose</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><a class="reference internal" href="#quapy.data.base.Dataset" title="quapy.data.base.Dataset"><span class="pre">Dataset</span></a></span></span><a class="reference internal" href="_modules/quapy/data/datasets.html#fetch_UCIBinaryDataset"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.data.datasets.fetch_UCIBinaryDataset" title="Permalink to this definition"></a></dt> <dd><p>Loads a UCI dataset as an instance of <a class="reference internal" href="#quapy.data.base.Dataset" title="quapy.data.base.Dataset"><code class="xref py py-class docutils literal notranslate"><span class="pre">quapy.data.base.Dataset</span></code></a>, as used in <a class="reference external" href="https://www.sciencedirect.com/science/article/pii/S1566253516300628">Pérez-Gállego, P., Quevedo, J. R., & del Coz, J. J. (2017). Using ensembles for problems with characterizable changes in data distribution: A case study on quantification. @@ -688,7 +689,7 @@ The list of valid dataset names can be accessed in <cite>quapy.data.datasets.UCI <dl class="py function"> <dt class="sig sig-object py" id="quapy.data.datasets.fetch_UCIBinaryLabelledCollection"> -<span class="sig-prename descclassname"><span class="pre">quapy.data.datasets.</span></span><span class="sig-name descname"><span class="pre">fetch_UCIBinaryLabelledCollection</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">dataset_name</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">data_home</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">verbose</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><a class="reference internal" href="#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><span class="pre">LabelledCollection</span></a></span></span><a class="reference internal" href="_modules/quapy/data/datasets.html#fetch_UCIBinaryLabelledCollection"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.data.datasets.fetch_UCIBinaryLabelledCollection" title="Link to this definition"></a></dt> +<span class="sig-prename descclassname"><span class="pre">quapy.data.datasets.</span></span><span class="sig-name descname"><span class="pre">fetch_UCIBinaryLabelledCollection</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">dataset_name</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">data_home</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">verbose</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><a class="reference internal" href="#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><span class="pre">LabelledCollection</span></a></span></span><a class="reference internal" href="_modules/quapy/data/datasets.html#fetch_UCIBinaryLabelledCollection"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.data.datasets.fetch_UCIBinaryLabelledCollection" title="Permalink to this definition"></a></dt> <dd><p>Loads a UCI collection as an instance of <a class="reference internal" href="#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><code class="xref py py-class docutils literal notranslate"><span class="pre">quapy.data.base.LabelledCollection</span></code></a>, as used in <a class="reference external" href="https://www.sciencedirect.com/science/article/pii/S1566253516300628">Pérez-Gállego, P., Quevedo, J. R., & del Coz, J. J. (2017). Using ensembles for problems with characterizable changes in data distribution: A case study on quantification. @@ -725,7 +726,7 @@ This can be reproduced by using <a class="reference internal" href="#quapy.data. <dl class="py function"> <dt class="sig sig-object py" id="quapy.data.datasets.fetch_UCIMulticlassDataset"> -<span class="sig-prename descclassname"><span class="pre">quapy.data.datasets.</span></span><span class="sig-name descname"><span class="pre">fetch_UCIMulticlassDataset</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">dataset_name</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">data_home</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">test_split</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.3</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">verbose</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><a class="reference internal" href="#quapy.data.base.Dataset" title="quapy.data.base.Dataset"><span class="pre">Dataset</span></a></span></span><a class="reference internal" href="_modules/quapy/data/datasets.html#fetch_UCIMulticlassDataset"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.data.datasets.fetch_UCIMulticlassDataset" title="Link to this definition"></a></dt> +<span class="sig-prename descclassname"><span class="pre">quapy.data.datasets.</span></span><span class="sig-name descname"><span class="pre">fetch_UCIMulticlassDataset</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">dataset_name</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">data_home</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">test_split</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.3</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">verbose</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><a class="reference internal" href="#quapy.data.base.Dataset" title="quapy.data.base.Dataset"><span class="pre">Dataset</span></a></span></span><a class="reference internal" href="_modules/quapy/data/datasets.html#fetch_UCIMulticlassDataset"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.data.datasets.fetch_UCIMulticlassDataset" title="Permalink to this definition"></a></dt> <dd><p>Loads a UCI multiclass dataset as an instance of <a class="reference internal" href="#quapy.data.base.Dataset" title="quapy.data.base.Dataset"><code class="xref py py-class docutils literal notranslate"><span class="pre">quapy.data.base.Dataset</span></code></a>.</p> <p>The list of available datasets is taken from <a class="reference external" href="https://archive.ics.uci.edu/">https://archive.ics.uci.edu/</a>, following these criteria: - It has more than 1000 instances @@ -758,7 +759,7 @@ This can be reproduced by using <a class="reference internal" href="#quapy.data. <dl class="py function"> <dt class="sig sig-object py" id="quapy.data.datasets.fetch_UCIMulticlassLabelledCollection"> -<span class="sig-prename descclassname"><span class="pre">quapy.data.datasets.</span></span><span class="sig-name descname"><span class="pre">fetch_UCIMulticlassLabelledCollection</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">dataset_name</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">data_home</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">verbose</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><a class="reference internal" href="#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><span class="pre">LabelledCollection</span></a></span></span><a class="reference internal" href="_modules/quapy/data/datasets.html#fetch_UCIMulticlassLabelledCollection"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.data.datasets.fetch_UCIMulticlassLabelledCollection" title="Link to this definition"></a></dt> +<span class="sig-prename descclassname"><span class="pre">quapy.data.datasets.</span></span><span class="sig-name descname"><span class="pre">fetch_UCIMulticlassLabelledCollection</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">dataset_name</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">data_home</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">verbose</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><a class="reference internal" href="#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><span class="pre">LabelledCollection</span></a></span></span><a class="reference internal" href="_modules/quapy/data/datasets.html#fetch_UCIMulticlassLabelledCollection"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.data.datasets.fetch_UCIMulticlassLabelledCollection" title="Permalink to this definition"></a></dt> <dd><p>Loads a UCI multiclass collection as an instance of <a class="reference internal" href="#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><code class="xref py py-class docutils literal notranslate"><span class="pre">quapy.data.base.LabelledCollection</span></code></a>.</p> <p>The list of available datasets is taken from <a class="reference external" href="https://archive.ics.uci.edu/">https://archive.ics.uci.edu/</a>, following these criteria: - It has more than 1000 instances @@ -791,7 +792,7 @@ This can be reproduced by using <a class="reference internal" href="#quapy.data. <dl class="py function"> <dt class="sig sig-object py" id="quapy.data.datasets.fetch_lequa2022"> -<span class="sig-prename descclassname"><span class="pre">quapy.data.datasets.</span></span><span class="sig-name descname"><span class="pre">fetch_lequa2022</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">task</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">data_home</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/data/datasets.html#fetch_lequa2022"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.data.datasets.fetch_lequa2022" title="Link to this definition"></a></dt> +<span class="sig-prename descclassname"><span class="pre">quapy.data.datasets.</span></span><span class="sig-name descname"><span class="pre">fetch_lequa2022</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">task</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">data_home</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/data/datasets.html#fetch_lequa2022"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.data.datasets.fetch_lequa2022" title="Permalink to this definition"></a></dt> <dd><p>Loads the official datasets provided for the <a class="reference external" href="https://lequa2022.github.io/index">LeQua</a> competition. In brief, there are 4 tasks (T1A, T1B, T2A, T2B) having to do with text quantification problems. Tasks T1A and T1B provide documents in vector form, while T2A and T2B provide raw documents instead. @@ -822,7 +823,7 @@ that return a series of samples stored in a directory which are labelled by prev <dl class="py function"> <dt class="sig sig-object py" id="quapy.data.datasets.fetch_reviews"> -<span class="sig-prename descclassname"><span class="pre">quapy.data.datasets.</span></span><span class="sig-name descname"><span class="pre">fetch_reviews</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">dataset_name</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">tfidf</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">min_df</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">data_home</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">pickle</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><a class="reference internal" href="#quapy.data.base.Dataset" title="quapy.data.base.Dataset"><span class="pre">Dataset</span></a></span></span><a class="reference internal" href="_modules/quapy/data/datasets.html#fetch_reviews"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.data.datasets.fetch_reviews" title="Link to this definition"></a></dt> +<span class="sig-prename descclassname"><span class="pre">quapy.data.datasets.</span></span><span class="sig-name descname"><span class="pre">fetch_reviews</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">dataset_name</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">tfidf</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">min_df</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">data_home</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">pickle</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><a class="reference internal" href="#quapy.data.base.Dataset" title="quapy.data.base.Dataset"><span class="pre">Dataset</span></a></span></span><a class="reference internal" href="_modules/quapy/data/datasets.html#fetch_reviews"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.data.datasets.fetch_reviews" title="Permalink to this definition"></a></dt> <dd><p>Loads a Reviews dataset as a Dataset instance, as used in <a class="reference external" href="https://dl.acm.org/doi/abs/10.1145/3269206.3269287">Esuli, A., Moreo, A., and Sebastiani, F. “A recurrent neural network for sentiment quantification.” Proceedings of the 27th ACM International Conference on Information and Knowledge Management. 2018.</a>. @@ -848,7 +849,7 @@ faster subsequent invokations</p></li> <dl class="py function"> <dt class="sig sig-object py" id="quapy.data.datasets.fetch_twitter"> -<span class="sig-prename descclassname"><span class="pre">quapy.data.datasets.</span></span><span class="sig-name descname"><span class="pre">fetch_twitter</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">dataset_name</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">for_model_selection</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">min_df</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">data_home</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">pickle</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><a class="reference internal" href="#quapy.data.base.Dataset" title="quapy.data.base.Dataset"><span class="pre">Dataset</span></a></span></span><a class="reference internal" href="_modules/quapy/data/datasets.html#fetch_twitter"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.data.datasets.fetch_twitter" title="Link to this definition"></a></dt> +<span class="sig-prename descclassname"><span class="pre">quapy.data.datasets.</span></span><span class="sig-name descname"><span class="pre">fetch_twitter</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">dataset_name</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">for_model_selection</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">min_df</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">data_home</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">pickle</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><a class="reference internal" href="#quapy.data.base.Dataset" title="quapy.data.base.Dataset"><span class="pre">Dataset</span></a></span></span><a class="reference internal" href="_modules/quapy/data/datasets.html#fetch_twitter"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.data.datasets.fetch_twitter" title="Permalink to this definition"></a></dt> <dd><p>Loads a Twitter dataset as a <a class="reference internal" href="#quapy.data.base.Dataset" title="quapy.data.base.Dataset"><code class="xref py py-class docutils literal notranslate"><span class="pre">quapy.data.base.Dataset</span></code></a> instance, as used in: <a class="reference external" href="https://link.springer.com/content/pdf/10.1007/s13278-016-0327-z.pdf">Gao, W., Sebastiani, F.: From classification to quantification in tweet sentiment analysis. Social Network Analysis and Mining6(19), 1–22 (2016)</a> @@ -879,15 +880,15 @@ faster subsequent invokations</p></li> <dl class="py function"> <dt class="sig sig-object py" id="quapy.data.datasets.warn"> -<span class="sig-prename descclassname"><span class="pre">quapy.data.datasets.</span></span><span class="sig-name descname"><span class="pre">warn</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/data/datasets.html#warn"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.data.datasets.warn" title="Link to this definition"></a></dt> +<span class="sig-prename descclassname"><span class="pre">quapy.data.datasets.</span></span><span class="sig-name descname"><span class="pre">warn</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/data/datasets.html#warn"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.data.datasets.warn" title="Permalink to this definition"></a></dt> <dd></dd></dl> </section> <section id="module-quapy.data.preprocessing"> -<span id="quapy-data-preprocessing-module"></span><h2>quapy.data.preprocessing module<a class="headerlink" href="#module-quapy.data.preprocessing" title="Link to this heading"></a></h2> +<span id="quapy-data-preprocessing-module"></span><h2>quapy.data.preprocessing module<a class="headerlink" href="#module-quapy.data.preprocessing" title="Permalink to this heading"></a></h2> <dl class="py class"> <dt class="sig sig-object py" id="quapy.data.preprocessing.IndexTransformer"> -<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">quapy.data.preprocessing.</span></span><span class="sig-name descname"><span class="pre">IndexTransformer</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/data/preprocessing.html#IndexTransformer"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.data.preprocessing.IndexTransformer" title="Link to this definition"></a></dt> +<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">quapy.data.preprocessing.</span></span><span class="sig-name descname"><span class="pre">IndexTransformer</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/data/preprocessing.html#IndexTransformer"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.data.preprocessing.IndexTransformer" title="Permalink to this definition"></a></dt> <dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">object</span></code></p> <p>This class implements a sklearn’s-style transformer that indexes text as numerical ids for the tokens it contains, and that would be generated by sklearn’s @@ -901,7 +902,7 @@ contains, and that would be generated by sklearn’s </dl> <dl class="py method"> <dt class="sig sig-object py" id="quapy.data.preprocessing.IndexTransformer.add_word"> -<span class="sig-name descname"><span class="pre">add_word</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">word</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">id</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">nogaps</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/data/preprocessing.html#IndexTransformer.add_word"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.data.preprocessing.IndexTransformer.add_word" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">add_word</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">word</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">id</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">nogaps</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/data/preprocessing.html#IndexTransformer.add_word"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.data.preprocessing.IndexTransformer.add_word" title="Permalink to this definition"></a></dt> <dd><p>Adds a new token (regardless of whether it has been found in the text or not), with dedicated id. Useful to define special tokens for codifying unknown words, or padding tokens.</p> <dl class="field-list simple"> @@ -922,7 +923,7 @@ precedent ids stored so far</p></li> <dl class="py method"> <dt class="sig sig-object py" id="quapy.data.preprocessing.IndexTransformer.fit"> -<span class="sig-name descname"><span class="pre">fit</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">X</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/data/preprocessing.html#IndexTransformer.fit"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.data.preprocessing.IndexTransformer.fit" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">fit</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">X</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/data/preprocessing.html#IndexTransformer.fit"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.data.preprocessing.IndexTransformer.fit" title="Permalink to this definition"></a></dt> <dd><p>Fits the transformer, i.e., decides on the vocabulary, given a list of strings.</p> <dl class="field-list simple"> <dt class="field-odd">Parameters<span class="colon">:</span></dt> @@ -936,7 +937,7 @@ precedent ids stored so far</p></li> <dl class="py method"> <dt class="sig sig-object py" id="quapy.data.preprocessing.IndexTransformer.fit_transform"> -<span class="sig-name descname"><span class="pre">fit_transform</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">X</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">n_jobs</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/data/preprocessing.html#IndexTransformer.fit_transform"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.data.preprocessing.IndexTransformer.fit_transform" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">fit_transform</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">X</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">n_jobs</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/data/preprocessing.html#IndexTransformer.fit_transform"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.data.preprocessing.IndexTransformer.fit_transform" title="Permalink to this definition"></a></dt> <dd><p>Fits the transform on <cite>X</cite> and transforms it.</p> <dl class="field-list simple"> <dt class="field-odd">Parameters<span class="colon">:</span></dt> @@ -953,7 +954,7 @@ precedent ids stored so far</p></li> <dl class="py method"> <dt class="sig sig-object py" id="quapy.data.preprocessing.IndexTransformer.transform"> -<span class="sig-name descname"><span class="pre">transform</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">X</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">n_jobs</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/data/preprocessing.html#IndexTransformer.transform"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.data.preprocessing.IndexTransformer.transform" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">transform</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">X</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">n_jobs</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/data/preprocessing.html#IndexTransformer.transform"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.data.preprocessing.IndexTransformer.transform" title="Permalink to this definition"></a></dt> <dd><p>Transforms the strings in <cite>X</cite> as lists of numerical ids</p> <dl class="field-list simple"> <dt class="field-odd">Parameters<span class="colon">:</span></dt> @@ -970,7 +971,7 @@ precedent ids stored so far</p></li> <dl class="py method"> <dt class="sig sig-object py" id="quapy.data.preprocessing.IndexTransformer.vocabulary_size"> -<span class="sig-name descname"><span class="pre">vocabulary_size</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/data/preprocessing.html#IndexTransformer.vocabulary_size"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.data.preprocessing.IndexTransformer.vocabulary_size" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">vocabulary_size</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/data/preprocessing.html#IndexTransformer.vocabulary_size"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.data.preprocessing.IndexTransformer.vocabulary_size" title="Permalink to this definition"></a></dt> <dd><p>Gets the length of the vocabulary according to which the document tokens have been indexed</p> <dl class="field-list simple"> <dt class="field-odd">Returns<span class="colon">:</span></dt> @@ -983,7 +984,7 @@ precedent ids stored so far</p></li> <dl class="py function"> <dt class="sig sig-object py" id="quapy.data.preprocessing.index"> -<span class="sig-prename descclassname"><span class="pre">quapy.data.preprocessing.</span></span><span class="sig-name descname"><span class="pre">index</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">dataset</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="#quapy.data.base.Dataset" title="quapy.data.base.Dataset"><span class="pre">Dataset</span></a></span></em>, <em class="sig-param"><span class="n"><span class="pre">min_df</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">5</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">inplace</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/data/preprocessing.html#index"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.data.preprocessing.index" title="Link to this definition"></a></dt> +<span class="sig-prename descclassname"><span class="pre">quapy.data.preprocessing.</span></span><span class="sig-name descname"><span class="pre">index</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">dataset</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="#quapy.data.base.Dataset" title="quapy.data.base.Dataset"><span class="pre">Dataset</span></a></span></em>, <em class="sig-param"><span class="n"><span class="pre">min_df</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">5</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">inplace</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/data/preprocessing.html#index"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.data.preprocessing.index" title="Permalink to this definition"></a></dt> <dd><p>Indexes the tokens of a textual <a class="reference internal" href="#quapy.data.base.Dataset" title="quapy.data.base.Dataset"><code class="xref py py-class docutils literal notranslate"><span class="pre">quapy.data.base.Dataset</span></code></a> of string documents. To index a document means to replace each different token by a unique numerical index. Rare words (i.e., words occurring less than <cite>min_df</cite> times) are replaced by a special token <cite>UNK</cite></p> @@ -1007,7 +1008,7 @@ are lists of str</p></li> <dl class="py function"> <dt class="sig sig-object py" id="quapy.data.preprocessing.reduce_columns"> -<span class="sig-prename descclassname"><span class="pre">quapy.data.preprocessing.</span></span><span class="sig-name descname"><span class="pre">reduce_columns</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">dataset</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="#quapy.data.base.Dataset" title="quapy.data.base.Dataset"><span class="pre">Dataset</span></a></span></em>, <em class="sig-param"><span class="n"><span class="pre">min_df</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">5</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">inplace</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/data/preprocessing.html#reduce_columns"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.data.preprocessing.reduce_columns" title="Link to this definition"></a></dt> +<span class="sig-prename descclassname"><span class="pre">quapy.data.preprocessing.</span></span><span class="sig-name descname"><span class="pre">reduce_columns</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">dataset</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="#quapy.data.base.Dataset" title="quapy.data.base.Dataset"><span class="pre">Dataset</span></a></span></em>, <em class="sig-param"><span class="n"><span class="pre">min_df</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">5</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">inplace</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/data/preprocessing.html#reduce_columns"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.data.preprocessing.reduce_columns" title="Permalink to this definition"></a></dt> <dd><p>Reduces the dimensionality of the instances, represented as a <cite>csr_matrix</cite> (or any subtype of <cite>scipy.sparse.spmatrix</cite>), of training and test documents by removing the columns of words which are not present in at least <cite>min_df</cite> instances in the training set</p> @@ -1030,7 +1031,7 @@ in the training set have been removed</p> <dl class="py function"> <dt class="sig sig-object py" id="quapy.data.preprocessing.standardize"> -<span class="sig-prename descclassname"><span class="pre">quapy.data.preprocessing.</span></span><span class="sig-name descname"><span class="pre">standardize</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">dataset</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="#quapy.data.base.Dataset" title="quapy.data.base.Dataset"><span class="pre">Dataset</span></a></span></em>, <em class="sig-param"><span class="n"><span class="pre">inplace</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/data/preprocessing.html#standardize"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.data.preprocessing.standardize" title="Link to this definition"></a></dt> +<span class="sig-prename descclassname"><span class="pre">quapy.data.preprocessing.</span></span><span class="sig-name descname"><span class="pre">standardize</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">dataset</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="#quapy.data.base.Dataset" title="quapy.data.base.Dataset"><span class="pre">Dataset</span></a></span></em>, <em class="sig-param"><span class="n"><span class="pre">inplace</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/data/preprocessing.html#standardize"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.data.preprocessing.standardize" title="Permalink to this definition"></a></dt> <dd><p>Standardizes the real-valued columns of a <a class="reference internal" href="#quapy.data.base.Dataset" title="quapy.data.base.Dataset"><code class="xref py py-class docutils literal notranslate"><span class="pre">quapy.data.base.Dataset</span></code></a>. Standardization, aka z-scoring, of a variable <cite>X</cite> comes down to subtracting the average and normalizing by the standard deviation.</p> @@ -1050,7 +1051,7 @@ standard deviation.</p> <dl class="py function"> <dt class="sig sig-object py" id="quapy.data.preprocessing.text2tfidf"> -<span class="sig-prename descclassname"><span class="pre">quapy.data.preprocessing.</span></span><span class="sig-name descname"><span class="pre">text2tfidf</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">dataset</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="#quapy.data.base.Dataset" title="quapy.data.base.Dataset"><span class="pre">Dataset</span></a></span></em>, <em class="sig-param"><span class="n"><span class="pre">min_df</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">3</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">sublinear_tf</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">inplace</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/data/preprocessing.html#text2tfidf"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.data.preprocessing.text2tfidf" title="Link to this definition"></a></dt> +<span class="sig-prename descclassname"><span class="pre">quapy.data.preprocessing.</span></span><span class="sig-name descname"><span class="pre">text2tfidf</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">dataset</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="#quapy.data.base.Dataset" title="quapy.data.base.Dataset"><span class="pre">Dataset</span></a></span></em>, <em class="sig-param"><span class="n"><span class="pre">min_df</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">3</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">sublinear_tf</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">inplace</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/data/preprocessing.html#text2tfidf"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.data.preprocessing.text2tfidf" title="Permalink to this definition"></a></dt> <dd><p>Transforms a <a class="reference internal" href="#quapy.data.base.Dataset" title="quapy.data.base.Dataset"><code class="xref py py-class docutils literal notranslate"><span class="pre">quapy.data.base.Dataset</span></code></a> of textual instances into a <a class="reference internal" href="#quapy.data.base.Dataset" title="quapy.data.base.Dataset"><code class="xref py py-class docutils literal notranslate"><span class="pre">quapy.data.base.Dataset</span></code></a> of tfidf weighted sparse vectors</p> <dl class="field-list simple"> @@ -1074,10 +1075,10 @@ current Dataset (if inplace=True) where the instances are stored in a <cite>csr_ </section> <section id="module-quapy.data.reader"> -<span id="quapy-data-reader-module"></span><h2>quapy.data.reader module<a class="headerlink" href="#module-quapy.data.reader" title="Link to this heading"></a></h2> +<span id="quapy-data-reader-module"></span><h2>quapy.data.reader module<a class="headerlink" href="#module-quapy.data.reader" title="Permalink to this heading"></a></h2> <dl class="py function"> <dt class="sig sig-object py" id="quapy.data.reader.binarize"> -<span class="sig-prename descclassname"><span class="pre">quapy.data.reader.</span></span><span class="sig-name descname"><span class="pre">binarize</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">y</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">pos_class</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/data/reader.html#binarize"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.data.reader.binarize" title="Link to this definition"></a></dt> +<span class="sig-prename descclassname"><span class="pre">quapy.data.reader.</span></span><span class="sig-name descname"><span class="pre">binarize</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">y</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">pos_class</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/data/reader.html#binarize"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.data.reader.binarize" title="Permalink to this definition"></a></dt> <dd><p>Binarizes a categorical array-like collection of labels towards the positive class <cite>pos_class</cite>. E.g.,:</p> <div class="doctest highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">binarize</span><span class="p">([</span><span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="mi">3</span><span class="p">,</span> <span class="mi">1</span><span class="p">,</span> <span class="mi">1</span><span class="p">,</span> <span class="mi">0</span><span class="p">],</span> <span class="n">pos_class</span><span class="o">=</span><span class="mi">2</span><span class="p">)</span> <span class="gp">>>> </span><span class="n">array</span><span class="p">([</span><span class="mi">0</span><span class="p">,</span> <span class="mi">1</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">])</span> @@ -1099,7 +1100,7 @@ current Dataset (if inplace=True) where the instances are stored in a <cite>csr_ <dl class="py function"> <dt class="sig sig-object py" id="quapy.data.reader.from_csv"> -<span class="sig-prename descclassname"><span class="pre">quapy.data.reader.</span></span><span class="sig-name descname"><span class="pre">from_csv</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">path</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">encoding</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'utf-8'</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/data/reader.html#from_csv"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.data.reader.from_csv" title="Link to this definition"></a></dt> +<span class="sig-prename descclassname"><span class="pre">quapy.data.reader.</span></span><span class="sig-name descname"><span class="pre">from_csv</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">path</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">encoding</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'utf-8'</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/data/reader.html#from_csv"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.data.reader.from_csv" title="Permalink to this definition"></a></dt> <dd><p>Reads a csv file in which columns are separated by ‘,’. File format <label>,<feat1>,<feat2>,…,<featn></p> <dl class="field-list simple"> @@ -1117,7 +1118,7 @@ File format <label>,<feat1>,<feat2>,…,<featn></p> <dl class="py function"> <dt class="sig sig-object py" id="quapy.data.reader.from_sparse"> -<span class="sig-prename descclassname"><span class="pre">quapy.data.reader.</span></span><span class="sig-name descname"><span class="pre">from_sparse</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">path</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/data/reader.html#from_sparse"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.data.reader.from_sparse" title="Link to this definition"></a></dt> +<span class="sig-prename descclassname"><span class="pre">quapy.data.reader.</span></span><span class="sig-name descname"><span class="pre">from_sparse</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">path</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/data/reader.html#from_sparse"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.data.reader.from_sparse" title="Permalink to this definition"></a></dt> <dd><p>Reads a labelled collection of real-valued instances expressed in sparse format File format <-1 or 0 or 1>[s col(int):val(float)]</p> <dl class="field-list simple"> @@ -1132,7 +1133,7 @@ File format <-1 or 0 or 1>[s col(int):val(float)]</p> <dl class="py function"> <dt class="sig sig-object py" id="quapy.data.reader.from_text"> -<span class="sig-prename descclassname"><span class="pre">quapy.data.reader.</span></span><span class="sig-name descname"><span class="pre">from_text</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">path</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">encoding</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'utf-8'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">verbose</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">class2int</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/data/reader.html#from_text"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.data.reader.from_text" title="Link to this definition"></a></dt> +<span class="sig-prename descclassname"><span class="pre">quapy.data.reader.</span></span><span class="sig-name descname"><span class="pre">from_text</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">path</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">encoding</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'utf-8'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">verbose</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">class2int</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/data/reader.html#from_text"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.data.reader.from_text" title="Permalink to this definition"></a></dt> <dd><p>Reads a labelled colletion of documents. File fomart <0 or 1> <document></p> <dl class="field-list simple"> @@ -1151,7 +1152,7 @@ File fomart <0 or 1> <document></p> <dl class="py function"> <dt class="sig sig-object py" id="quapy.data.reader.reindex_labels"> -<span class="sig-prename descclassname"><span class="pre">quapy.data.reader.</span></span><span class="sig-name descname"><span class="pre">reindex_labels</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">y</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/data/reader.html#reindex_labels"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.data.reader.reindex_labels" title="Link to this definition"></a></dt> +<span class="sig-prename descclassname"><span class="pre">quapy.data.reader.</span></span><span class="sig-name descname"><span class="pre">reindex_labels</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">y</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/data/reader.html#reindex_labels"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.data.reader.reindex_labels" title="Permalink to this definition"></a></dt> <dd><p>Re-indexes a list of labels as a list of indexes, and returns the classnames corresponding to the indexes. E.g.:</p> <div class="doctest highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">reindex_labels</span><span class="p">([</span><span class="s1">'B'</span><span class="p">,</span> <span class="s1">'B'</span><span class="p">,</span> <span class="s1">'A'</span><span class="p">,</span> <span class="s1">'C'</span><span class="p">])</span> @@ -1170,7 +1171,7 @@ E.g.:</p> </section> <section id="module-quapy.data"> -<span id="module-contents"></span><h2>Module contents<a class="headerlink" href="#module-quapy.data" title="Link to this heading"></a></h2> +<span id="module-contents"></span><h2>Module contents<a class="headerlink" href="#module-quapy.data" title="Permalink to this heading"></a></h2> </section> </section> diff --git a/docs/build/html/quapy.html b/docs/build/html/quapy.html index cfe4d60..249ce67 100644 --- a/docs/build/html/quapy.html +++ b/docs/build/html/quapy.html @@ -1,23 +1,24 @@ <!DOCTYPE html> -<html class="writer-html5" lang="en" data-content_root="./"> +<html class="writer-html5" lang="en"> <head> <meta charset="utf-8" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> - <title>quapy package — QuaPy: A Python-based open-source framework for quantification 0.1.8 documentation</title> - <link rel="stylesheet" type="text/css" href="_static/pygments.css?v=92fd9be5" /> - <link rel="stylesheet" type="text/css" href="_static/css/theme.css?v=19f00094" /> + <title>quapy package — QuaPy: A Python-based open-source framework for quantification 0.1.9 documentation</title> + <link rel="stylesheet" type="text/css" href="_static/pygments.css" /> + <link rel="stylesheet" type="text/css" href="_static/css/theme.css" /> <!--[if lt IE 9]> <script src="_static/js/html5shiv.min.js"></script> <![endif]--> - <script src="_static/jquery.js?v=5d32c60e"></script> - <script src="_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script> - <script src="_static/documentation_options.js?v=22607128"></script> - <script src="_static/doctools.js?v=9a2dae69"></script> - <script src="_static/sphinx_highlight.js?v=dc90522c"></script> + <script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script> + <script src="_static/jquery.js"></script> + <script src="_static/underscore.js"></script> + <script src="_static/_sphinx_javascript_frameworks_compat.js"></script> + <script src="_static/doctools.js"></script> + <script src="_static/sphinx_highlight.js"></script> <script async="async" src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script> <script src="_static/js/theme.js"></script> <link rel="index" title="Index" href="genindex.html" /> @@ -100,15 +101,19 @@ <li class="toctree-l4"><a class="reference internal" href="#quapy.functional.argmin_prevalence"><code class="docutils literal notranslate"><span class="pre">argmin_prevalence()</span></code></a></li> <li class="toctree-l4"><a class="reference internal" href="#quapy.functional.as_binary_prevalence"><code class="docutils literal notranslate"><span class="pre">as_binary_prevalence()</span></code></a></li> <li class="toctree-l4"><a class="reference internal" href="#quapy.functional.check_prevalence_vector"><code class="docutils literal notranslate"><span class="pre">check_prevalence_vector()</span></code></a></li> +<li class="toctree-l4"><a class="reference internal" href="#quapy.functional.clip_prevalence"><code class="docutils literal notranslate"><span class="pre">clip_prevalence()</span></code></a></li> +<li class="toctree-l4"><a class="reference internal" href="#quapy.functional.counts_from_labels"><code class="docutils literal notranslate"><span class="pre">counts_from_labels()</span></code></a></li> <li class="toctree-l4"><a class="reference internal" href="#quapy.functional.get_divergence"><code class="docutils literal notranslate"><span class="pre">get_divergence()</span></code></a></li> <li class="toctree-l4"><a class="reference internal" href="#quapy.functional.get_nprevpoints_approximation"><code class="docutils literal notranslate"><span class="pre">get_nprevpoints_approximation()</span></code></a></li> <li class="toctree-l4"><a class="reference internal" href="#quapy.functional.linear_search"><code class="docutils literal notranslate"><span class="pre">linear_search()</span></code></a></li> +<li class="toctree-l4"><a class="reference internal" href="#quapy.functional.map_onto_probability_simplex"><code class="docutils literal notranslate"><span class="pre">map_onto_probability_simplex()</span></code></a></li> <li class="toctree-l4"><a class="reference internal" href="#quapy.functional.normalize_prevalence"><code class="docutils literal notranslate"><span class="pre">normalize_prevalence()</span></code></a></li> <li class="toctree-l4"><a class="reference internal" href="#quapy.functional.num_prevalence_combinations"><code class="docutils literal notranslate"><span class="pre">num_prevalence_combinations()</span></code></a></li> <li class="toctree-l4"><a class="reference internal" href="#quapy.functional.optim_minimize"><code class="docutils literal notranslate"><span class="pre">optim_minimize()</span></code></a></li> <li class="toctree-l4"><a class="reference internal" href="#quapy.functional.prevalence_from_labels"><code class="docutils literal notranslate"><span class="pre">prevalence_from_labels()</span></code></a></li> <li class="toctree-l4"><a class="reference internal" href="#quapy.functional.prevalence_from_probabilities"><code class="docutils literal notranslate"><span class="pre">prevalence_from_probabilities()</span></code></a></li> <li class="toctree-l4"><a class="reference internal" href="#quapy.functional.prevalence_linspace"><code class="docutils literal notranslate"><span class="pre">prevalence_linspace()</span></code></a></li> +<li class="toctree-l4"><a class="reference internal" href="#quapy.functional.solve_adjustment"><code class="docutils literal notranslate"><span class="pre">solve_adjustment()</span></code></a></li> <li class="toctree-l4"><a class="reference internal" href="#quapy.functional.strprev"><code class="docutils literal notranslate"><span class="pre">strprev()</span></code></a></li> <li class="toctree-l4"><a class="reference internal" href="#quapy.functional.uniform_prevalence_sampling"><code class="docutils literal notranslate"><span class="pre">uniform_prevalence_sampling()</span></code></a></li> <li class="toctree-l4"><a class="reference internal" href="#quapy.functional.uniform_simplex_sampling"><code class="docutils literal notranslate"><span class="pre">uniform_simplex_sampling()</span></code></a></li> @@ -154,6 +159,7 @@ <li class="toctree-l4"><a class="reference internal" href="#quapy.util.get_quapy_home"><code class="docutils literal notranslate"><span class="pre">get_quapy_home()</span></code></a></li> <li class="toctree-l4"><a class="reference internal" href="#quapy.util.map_parallel"><code class="docutils literal notranslate"><span class="pre">map_parallel()</span></code></a></li> <li class="toctree-l4"><a class="reference internal" href="#quapy.util.parallel"><code class="docutils literal notranslate"><span class="pre">parallel()</span></code></a></li> +<li class="toctree-l4"><a class="reference internal" href="#quapy.util.parallel_unpack"><code class="docutils literal notranslate"><span class="pre">parallel_unpack()</span></code></a></li> <li class="toctree-l4"><a class="reference internal" href="#quapy.util.pickled_resource"><code class="docutils literal notranslate"><span class="pre">pickled_resource()</span></code></a></li> <li class="toctree-l4"><a class="reference internal" href="#quapy.util.save_text_file"><code class="docutils literal notranslate"><span class="pre">save_text_file()</span></code></a></li> <li class="toctree-l4"><a class="reference internal" href="#quapy.util.temp_seed"><code class="docutils literal notranslate"><span class="pre">temp_seed()</span></code></a></li> @@ -193,9 +199,9 @@ <div itemprop="articleBody"> <section id="quapy-package"> -<h1>quapy package<a class="headerlink" href="#quapy-package" title="Link to this heading"></a></h1> +<h1>quapy package<a class="headerlink" href="#quapy-package" title="Permalink to this heading"></a></h1> <section id="subpackages"> -<h2>Subpackages<a class="headerlink" href="#subpackages" title="Link to this heading"></a></h2> +<h2>Subpackages<a class="headerlink" href="#subpackages" title="Permalink to this heading"></a></h2> <div class="toctree-wrapper compound"> <ul> <li class="toctree-l1"><a class="reference internal" href="quapy.classification.html">quapy.classification package</a><ul> @@ -233,12 +239,14 @@ <li class="toctree-l3"><a class="reference internal" href="quapy.classification.html#quapy.classification.neural.CNNnet"><code class="docutils literal notranslate"><span class="pre">CNNnet</span></code></a><ul> <li class="toctree-l4"><a class="reference internal" href="quapy.classification.html#quapy.classification.neural.CNNnet.document_embedding"><code class="docutils literal notranslate"><span class="pre">CNNnet.document_embedding()</span></code></a></li> <li class="toctree-l4"><a class="reference internal" href="quapy.classification.html#quapy.classification.neural.CNNnet.get_params"><code class="docutils literal notranslate"><span class="pre">CNNnet.get_params()</span></code></a></li> +<li class="toctree-l4"><a class="reference internal" href="quapy.classification.html#quapy.classification.neural.CNNnet.training"><code class="docutils literal notranslate"><span class="pre">CNNnet.training</span></code></a></li> <li class="toctree-l4"><a class="reference internal" href="quapy.classification.html#quapy.classification.neural.CNNnet.vocabulary_size"><code class="docutils literal notranslate"><span class="pre">CNNnet.vocabulary_size</span></code></a></li> </ul> </li> <li class="toctree-l3"><a class="reference internal" href="quapy.classification.html#quapy.classification.neural.LSTMnet"><code class="docutils literal notranslate"><span class="pre">LSTMnet</span></code></a><ul> <li class="toctree-l4"><a class="reference internal" href="quapy.classification.html#quapy.classification.neural.LSTMnet.document_embedding"><code class="docutils literal notranslate"><span class="pre">LSTMnet.document_embedding()</span></code></a></li> <li class="toctree-l4"><a class="reference internal" href="quapy.classification.html#quapy.classification.neural.LSTMnet.get_params"><code class="docutils literal notranslate"><span class="pre">LSTMnet.get_params()</span></code></a></li> +<li class="toctree-l4"><a class="reference internal" href="quapy.classification.html#quapy.classification.neural.LSTMnet.training"><code class="docutils literal notranslate"><span class="pre">LSTMnet.training</span></code></a></li> <li class="toctree-l4"><a class="reference internal" href="quapy.classification.html#quapy.classification.neural.LSTMnet.vocabulary_size"><code class="docutils literal notranslate"><span class="pre">LSTMnet.vocabulary_size</span></code></a></li> </ul> </li> @@ -259,6 +267,7 @@ <li class="toctree-l4"><a class="reference internal" href="quapy.classification.html#quapy.classification.neural.TextClassifierNet.forward"><code class="docutils literal notranslate"><span class="pre">TextClassifierNet.forward()</span></code></a></li> <li class="toctree-l4"><a class="reference internal" href="quapy.classification.html#quapy.classification.neural.TextClassifierNet.get_params"><code class="docutils literal notranslate"><span class="pre">TextClassifierNet.get_params()</span></code></a></li> <li class="toctree-l4"><a class="reference internal" href="quapy.classification.html#quapy.classification.neural.TextClassifierNet.predict_proba"><code class="docutils literal notranslate"><span class="pre">TextClassifierNet.predict_proba()</span></code></a></li> +<li class="toctree-l4"><a class="reference internal" href="quapy.classification.html#quapy.classification.neural.TextClassifierNet.training"><code class="docutils literal notranslate"><span class="pre">TextClassifierNet.training</span></code></a></li> <li class="toctree-l4"><a class="reference internal" href="quapy.classification.html#quapy.classification.neural.TextClassifierNet.vocabulary_size"><code class="docutils literal notranslate"><span class="pre">TextClassifierNet.vocabulary_size</span></code></a></li> <li class="toctree-l4"><a class="reference internal" href="quapy.classification.html#quapy.classification.neural.TextClassifierNet.xavier_uniform"><code class="docutils literal notranslate"><span class="pre">TextClassifierNet.xavier_uniform()</span></code></a></li> </ul> @@ -365,10 +374,13 @@ <li class="toctree-l2"><a class="reference internal" href="quapy.method.html#submodules">Submodules</a></li> <li class="toctree-l2"><a class="reference internal" href="quapy.method.html#module-quapy.method.aggregative">quapy.method.aggregative module</a><ul> <li class="toctree-l3"><a class="reference internal" href="quapy.method.html#quapy.method.aggregative.ACC"><code class="docutils literal notranslate"><span class="pre">ACC</span></code></a><ul> +<li class="toctree-l4"><a class="reference internal" href="quapy.method.html#quapy.method.aggregative.ACC.CLIPPING"><code class="docutils literal notranslate"><span class="pre">ACC.CLIPPING</span></code></a></li> +<li class="toctree-l4"><a class="reference internal" href="quapy.method.html#quapy.method.aggregative.ACC.METHODS"><code class="docutils literal notranslate"><span class="pre">ACC.METHODS</span></code></a></li> +<li class="toctree-l4"><a class="reference internal" href="quapy.method.html#quapy.method.aggregative.ACC.SOLVERS"><code class="docutils literal notranslate"><span class="pre">ACC.SOLVERS</span></code></a></li> <li class="toctree-l4"><a class="reference internal" href="quapy.method.html#quapy.method.aggregative.ACC.aggregate"><code class="docutils literal notranslate"><span class="pre">ACC.aggregate()</span></code></a></li> <li class="toctree-l4"><a class="reference internal" href="quapy.method.html#quapy.method.aggregative.ACC.aggregation_fit"><code class="docutils literal notranslate"><span class="pre">ACC.aggregation_fit()</span></code></a></li> <li class="toctree-l4"><a class="reference internal" href="quapy.method.html#quapy.method.aggregative.ACC.getPteCondEstim"><code class="docutils literal notranslate"><span class="pre">ACC.getPteCondEstim()</span></code></a></li> -<li class="toctree-l4"><a class="reference internal" href="quapy.method.html#quapy.method.aggregative.ACC.solve_adjustment"><code class="docutils literal notranslate"><span class="pre">ACC.solve_adjustment()</span></code></a></li> +<li class="toctree-l4"><a class="reference internal" href="quapy.method.html#quapy.method.aggregative.ACC.newInvariantRatioEstimation"><code class="docutils literal notranslate"><span class="pre">ACC.newInvariantRatioEstimation()</span></code></a></li> </ul> </li> <li class="toctree-l3"><a class="reference internal" href="quapy.method.html#quapy.method.aggregative.AdjustedClassifyAndCount"><code class="docutils literal notranslate"><span class="pre">AdjustedClassifyAndCount</span></code></a></li> @@ -394,6 +406,14 @@ </ul> </li> <li class="toctree-l3"><a class="reference internal" href="quapy.method.html#quapy.method.aggregative.AggregativeSoftQuantifier"><code class="docutils literal notranslate"><span class="pre">AggregativeSoftQuantifier</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="quapy.method.html#quapy.method.aggregative.BayesianCC"><code class="docutils literal notranslate"><span class="pre">BayesianCC</span></code></a><ul> +<li class="toctree-l4"><a class="reference internal" href="quapy.method.html#quapy.method.aggregative.BayesianCC.aggregate"><code class="docutils literal notranslate"><span class="pre">BayesianCC.aggregate()</span></code></a></li> +<li class="toctree-l4"><a class="reference internal" href="quapy.method.html#quapy.method.aggregative.BayesianCC.aggregation_fit"><code class="docutils literal notranslate"><span class="pre">BayesianCC.aggregation_fit()</span></code></a></li> +<li class="toctree-l4"><a class="reference internal" href="quapy.method.html#quapy.method.aggregative.BayesianCC.get_conditional_probability_samples"><code class="docutils literal notranslate"><span class="pre">BayesianCC.get_conditional_probability_samples()</span></code></a></li> +<li class="toctree-l4"><a class="reference internal" href="quapy.method.html#quapy.method.aggregative.BayesianCC.get_prevalence_samples"><code class="docutils literal notranslate"><span class="pre">BayesianCC.get_prevalence_samples()</span></code></a></li> +<li class="toctree-l4"><a class="reference internal" href="quapy.method.html#quapy.method.aggregative.BayesianCC.sample_from_posterior"><code class="docutils literal notranslate"><span class="pre">BayesianCC.sample_from_posterior()</span></code></a></li> +</ul> +</li> <li class="toctree-l3"><a class="reference internal" href="quapy.method.html#quapy.method.aggregative.BinaryAggregativeQuantifier"><code class="docutils literal notranslate"><span class="pre">BinaryAggregativeQuantifier</span></code></a><ul> <li class="toctree-l4"><a class="reference internal" href="quapy.method.html#quapy.method.aggregative.BinaryAggregativeQuantifier.fit"><code class="docutils literal notranslate"><span class="pre">BinaryAggregativeQuantifier.fit()</span></code></a></li> <li class="toctree-l4"><a class="reference internal" href="quapy.method.html#quapy.method.aggregative.BinaryAggregativeQuantifier.neg_label"><code class="docutils literal notranslate"><span class="pre">BinaryAggregativeQuantifier.neg_label</span></code></a></li> @@ -490,6 +510,7 @@ <li class="toctree-l3"><a class="reference internal" href="quapy.method.html#quapy.method._neural.QuaNetModule"><code class="docutils literal notranslate"><span class="pre">QuaNetModule</span></code></a><ul> <li class="toctree-l4"><a class="reference internal" href="quapy.method.html#quapy.method._neural.QuaNetModule.device"><code class="docutils literal notranslate"><span class="pre">QuaNetModule.device</span></code></a></li> <li class="toctree-l4"><a class="reference internal" href="quapy.method.html#quapy.method._neural.QuaNetModule.forward"><code class="docutils literal notranslate"><span class="pre">QuaNetModule.forward()</span></code></a></li> +<li class="toctree-l4"><a class="reference internal" href="quapy.method.html#quapy.method._neural.QuaNetModule.training"><code class="docutils literal notranslate"><span class="pre">QuaNetModule.training</span></code></a></li> </ul> </li> <li class="toctree-l3"><a class="reference internal" href="quapy.method.html#quapy.method._neural.QuaNetTrainer"><code class="docutils literal notranslate"><span class="pre">QuaNetTrainer</span></code></a><ul> @@ -599,6 +620,12 @@ <li class="toctree-l4"><a class="reference internal" href="quapy.method.html#quapy.method.non_aggregative.MaximumLikelihoodPrevalenceEstimation.quantify"><code class="docutils literal notranslate"><span class="pre">MaximumLikelihoodPrevalenceEstimation.quantify()</span></code></a></li> </ul> </li> +<li class="toctree-l3"><a class="reference internal" href="quapy.method.html#quapy.method.non_aggregative.ReadMe"><code class="docutils literal notranslate"><span class="pre">ReadMe</span></code></a><ul> +<li class="toctree-l4"><a class="reference internal" href="quapy.method.html#quapy.method.non_aggregative.ReadMe.fit"><code class="docutils literal notranslate"><span class="pre">ReadMe.fit()</span></code></a></li> +<li class="toctree-l4"><a class="reference internal" href="quapy.method.html#quapy.method.non_aggregative.ReadMe.quantify"><code class="docutils literal notranslate"><span class="pre">ReadMe.quantify()</span></code></a></li> +<li class="toctree-l4"><a class="reference internal" href="quapy.method.html#quapy.method.non_aggregative.ReadMe.std_constrained_linear_ls"><code class="docutils literal notranslate"><span class="pre">ReadMe.std_constrained_linear_ls()</span></code></a></li> +</ul> +</li> </ul> </li> <li class="toctree-l2"><a class="reference internal" href="quapy.method.html#module-quapy.method">Module contents</a></li> @@ -608,14 +635,14 @@ </div> </section> <section id="submodules"> -<h2>Submodules<a class="headerlink" href="#submodules" title="Link to this heading"></a></h2> +<h2>Submodules<a class="headerlink" href="#submodules" title="Permalink to this heading"></a></h2> </section> <section id="module-quapy.error"> -<span id="quapy-error-module"></span><h2>quapy.error module<a class="headerlink" href="#module-quapy.error" title="Link to this heading"></a></h2> +<span id="quapy-error-module"></span><h2>quapy.error module<a class="headerlink" href="#module-quapy.error" title="Permalink to this heading"></a></h2> <p>Implementation of error measures used for quantification</p> <dl class="py function"> <dt class="sig sig-object py" id="quapy.error.absolute_error"> -<span class="sig-prename descclassname"><span class="pre">quapy.error.</span></span><span class="sig-name descname"><span class="pre">absolute_error</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">prevs</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">prevs_hat</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#quapy.error.absolute_error" title="Link to this definition"></a></dt> +<span class="sig-prename descclassname"><span class="pre">quapy.error.</span></span><span class="sig-name descname"><span class="pre">absolute_error</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">prevs</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">prevs_hat</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#quapy.error.absolute_error" title="Permalink to this definition"></a></dt> <dd><dl class="simple"> <dt>Computes the absolute error between the two prevalence vectors.</dt><dd><p>Absolute error between two prevalence vectors <span class="math notranslate nohighlight">\(p\)</span> and <span class="math notranslate nohighlight">\(\hat{p}\)</span> is computed as <span class="math notranslate nohighlight">\(AE(p,\hat{p})=\frac{1}{|\mathcal{Y}|}\sum_{y\in \mathcal{Y}}|\hat{p}(y)-p(y)|\)</span>, @@ -637,7 +664,7 @@ where <span class="math notranslate nohighlight">\(\mathcal{Y}\)</span> are the <dl class="py function"> <dt class="sig sig-object py" id="quapy.error.acc_error"> -<span class="sig-prename descclassname"><span class="pre">quapy.error.</span></span><span class="sig-name descname"><span class="pre">acc_error</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">y_true</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">y_pred</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#quapy.error.acc_error" title="Link to this definition"></a></dt> +<span class="sig-prename descclassname"><span class="pre">quapy.error.</span></span><span class="sig-name descname"><span class="pre">acc_error</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">y_true</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">y_pred</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#quapy.error.acc_error" title="Permalink to this definition"></a></dt> <dd><p>Computes the error in terms of 1-accuracy. The accuracy is computed as <span class="math notranslate nohighlight">\(\frac{tp+tn}{tp+fp+fn+tn}\)</span>, with <cite>tp</cite>, <cite>fp</cite>, <cite>fn</cite>, and <cite>tn</cite> standing for true positives, false positives, false negatives, and true negatives, @@ -657,7 +684,7 @@ respectively</p> <dl class="py function"> <dt class="sig sig-object py" id="quapy.error.acce"> -<span class="sig-prename descclassname"><span class="pre">quapy.error.</span></span><span class="sig-name descname"><span class="pre">acce</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">y_true</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">y_pred</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/error.html#acce"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.error.acce" title="Link to this definition"></a></dt> +<span class="sig-prename descclassname"><span class="pre">quapy.error.</span></span><span class="sig-name descname"><span class="pre">acce</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">y_true</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">y_pred</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/error.html#acce"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.error.acce" title="Permalink to this definition"></a></dt> <dd><p>Computes the error in terms of 1-accuracy. The accuracy is computed as <span class="math notranslate nohighlight">\(\frac{tp+tn}{tp+fp+fn+tn}\)</span>, with <cite>tp</cite>, <cite>fp</cite>, <cite>fn</cite>, and <cite>tn</cite> standing for true positives, false positives, false negatives, and true negatives, @@ -677,7 +704,7 @@ respectively</p> <dl class="py function"> <dt class="sig sig-object py" id="quapy.error.ae"> -<span class="sig-prename descclassname"><span class="pre">quapy.error.</span></span><span class="sig-name descname"><span class="pre">ae</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">prevs</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">prevs_hat</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/error.html#ae"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.error.ae" title="Link to this definition"></a></dt> +<span class="sig-prename descclassname"><span class="pre">quapy.error.</span></span><span class="sig-name descname"><span class="pre">ae</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">prevs</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">prevs_hat</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/error.html#ae"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.error.ae" title="Permalink to this definition"></a></dt> <dd><dl class="simple"> <dt>Computes the absolute error between the two prevalence vectors.</dt><dd><p>Absolute error between two prevalence vectors <span class="math notranslate nohighlight">\(p\)</span> and <span class="math notranslate nohighlight">\(\hat{p}\)</span> is computed as <span class="math notranslate nohighlight">\(AE(p,\hat{p})=\frac{1}{|\mathcal{Y}|}\sum_{y\in \mathcal{Y}}|\hat{p}(y)-p(y)|\)</span>, @@ -699,7 +726,7 @@ where <span class="math notranslate nohighlight">\(\mathcal{Y}\)</span> are the <dl class="py function"> <dt class="sig sig-object py" id="quapy.error.f1_error"> -<span class="sig-prename descclassname"><span class="pre">quapy.error.</span></span><span class="sig-name descname"><span class="pre">f1_error</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">y_true</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">y_pred</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#quapy.error.f1_error" title="Link to this definition"></a></dt> +<span class="sig-prename descclassname"><span class="pre">quapy.error.</span></span><span class="sig-name descname"><span class="pre">f1_error</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">y_true</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">y_pred</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#quapy.error.f1_error" title="Permalink to this definition"></a></dt> <dd><p>F1 error: simply computes the error in terms of macro <span class="math notranslate nohighlight">\(F_1\)</span>, i.e., <span class="math notranslate nohighlight">\(1-F_1^M\)</span>, where <span class="math notranslate nohighlight">\(F_1\)</span> is the harmonic mean of precision and recall, defined as <span class="math notranslate nohighlight">\(\frac{2tp}{2tp+fp+fn}\)</span>, with <cite>tp</cite>, <cite>fp</cite>, and <cite>fn</cite> standing @@ -721,7 +748,7 @@ and then averaged.</p> <dl class="py function"> <dt class="sig sig-object py" id="quapy.error.f1e"> -<span class="sig-prename descclassname"><span class="pre">quapy.error.</span></span><span class="sig-name descname"><span class="pre">f1e</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">y_true</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">y_pred</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/error.html#f1e"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.error.f1e" title="Link to this definition"></a></dt> +<span class="sig-prename descclassname"><span class="pre">quapy.error.</span></span><span class="sig-name descname"><span class="pre">f1e</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">y_true</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">y_pred</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/error.html#f1e"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.error.f1e" title="Permalink to this definition"></a></dt> <dd><p>F1 error: simply computes the error in terms of macro <span class="math notranslate nohighlight">\(F_1\)</span>, i.e., <span class="math notranslate nohighlight">\(1-F_1^M\)</span>, where <span class="math notranslate nohighlight">\(F_1\)</span> is the harmonic mean of precision and recall, defined as <span class="math notranslate nohighlight">\(\frac{2tp}{2tp+fp+fn}\)</span>, with <cite>tp</cite>, <cite>fp</cite>, and <cite>fn</cite> standing @@ -743,7 +770,7 @@ and then averaged.</p> <dl class="py function"> <dt class="sig sig-object py" id="quapy.error.from_name"> -<span class="sig-prename descclassname"><span class="pre">quapy.error.</span></span><span class="sig-name descname"><span class="pre">from_name</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">err_name</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/error.html#from_name"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.error.from_name" title="Link to this definition"></a></dt> +<span class="sig-prename descclassname"><span class="pre">quapy.error.</span></span><span class="sig-name descname"><span class="pre">from_name</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">err_name</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/error.html#from_name"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.error.from_name" title="Permalink to this definition"></a></dt> <dd><p>Gets an error function from its name. E.g., <cite>from_name(“mae”)</cite> will return function <a class="reference internal" href="#quapy.error.mae" title="quapy.error.mae"><code class="xref py py-meth docutils literal notranslate"><span class="pre">quapy.error.mae()</span></code></a></p> <dl class="field-list simple"> @@ -758,7 +785,7 @@ will return function <a class="reference internal" href="#quapy.error.mae" title <dl class="py function"> <dt class="sig sig-object py" id="quapy.error.kld"> -<span class="sig-prename descclassname"><span class="pre">quapy.error.</span></span><span class="sig-name descname"><span class="pre">kld</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">prevs</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">prevs_hat</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">eps</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/error.html#kld"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.error.kld" title="Link to this definition"></a></dt> +<span class="sig-prename descclassname"><span class="pre">quapy.error.</span></span><span class="sig-name descname"><span class="pre">kld</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">prevs</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">prevs_hat</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">eps</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/error.html#kld"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.error.kld" title="Permalink to this definition"></a></dt> <dd><dl class="simple"> <dt>Computes the Kullback-Leibler divergence between the two prevalence distributions.</dt><dd><p>Kullback-Leibler divergence between two prevalence distributions <span class="math notranslate nohighlight">\(p\)</span> and <span class="math notranslate nohighlight">\(\hat{p}\)</span> is computed as @@ -787,7 +814,7 @@ If <cite>eps=None</cite>, the sample size will be taken from the environment var <dl class="py function"> <dt class="sig sig-object py" id="quapy.error.mae"> -<span class="sig-prename descclassname"><span class="pre">quapy.error.</span></span><span class="sig-name descname"><span class="pre">mae</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">prevs</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">prevs_hat</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/error.html#mae"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.error.mae" title="Link to this definition"></a></dt> +<span class="sig-prename descclassname"><span class="pre">quapy.error.</span></span><span class="sig-name descname"><span class="pre">mae</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">prevs</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">prevs_hat</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/error.html#mae"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.error.mae" title="Permalink to this definition"></a></dt> <dd><p>Computes the mean absolute error (see <a class="reference internal" href="#quapy.error.ae" title="quapy.error.ae"><code class="xref py py-meth docutils literal notranslate"><span class="pre">quapy.error.ae()</span></code></a>) across the sample pairs.</p> <dl class="field-list simple"> <dt class="field-odd">Parameters<span class="colon">:</span></dt> @@ -805,7 +832,7 @@ prevalence values</p></li> <dl class="py function"> <dt class="sig sig-object py" id="quapy.error.mean_absolute_error"> -<span class="sig-prename descclassname"><span class="pre">quapy.error.</span></span><span class="sig-name descname"><span class="pre">mean_absolute_error</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">prevs</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">prevs_hat</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#quapy.error.mean_absolute_error" title="Link to this definition"></a></dt> +<span class="sig-prename descclassname"><span class="pre">quapy.error.</span></span><span class="sig-name descname"><span class="pre">mean_absolute_error</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">prevs</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">prevs_hat</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#quapy.error.mean_absolute_error" title="Permalink to this definition"></a></dt> <dd><p>Computes the mean absolute error (see <a class="reference internal" href="#quapy.error.ae" title="quapy.error.ae"><code class="xref py py-meth docutils literal notranslate"><span class="pre">quapy.error.ae()</span></code></a>) across the sample pairs.</p> <dl class="field-list simple"> <dt class="field-odd">Parameters<span class="colon">:</span></dt> @@ -823,7 +850,7 @@ prevalence values</p></li> <dl class="py function"> <dt class="sig sig-object py" id="quapy.error.mean_normalized_absolute_error"> -<span class="sig-prename descclassname"><span class="pre">quapy.error.</span></span><span class="sig-name descname"><span class="pre">mean_normalized_absolute_error</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">prevs</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">prevs_hat</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#quapy.error.mean_normalized_absolute_error" title="Link to this definition"></a></dt> +<span class="sig-prename descclassname"><span class="pre">quapy.error.</span></span><span class="sig-name descname"><span class="pre">mean_normalized_absolute_error</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">prevs</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">prevs_hat</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#quapy.error.mean_normalized_absolute_error" title="Permalink to this definition"></a></dt> <dd><p>Computes the mean normalized absolute error (see <a class="reference internal" href="#quapy.error.nae" title="quapy.error.nae"><code class="xref py py-meth docutils literal notranslate"><span class="pre">quapy.error.nae()</span></code></a>) across the sample pairs.</p> <dl class="field-list simple"> <dt class="field-odd">Parameters<span class="colon">:</span></dt> @@ -841,7 +868,7 @@ prevalence values</p></li> <dl class="py function"> <dt class="sig sig-object py" id="quapy.error.mean_normalized_relative_absolute_error"> -<span class="sig-prename descclassname"><span class="pre">quapy.error.</span></span><span class="sig-name descname"><span class="pre">mean_normalized_relative_absolute_error</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">prevs</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">prevs_hat</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">eps</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#quapy.error.mean_normalized_relative_absolute_error" title="Link to this definition"></a></dt> +<span class="sig-prename descclassname"><span class="pre">quapy.error.</span></span><span class="sig-name descname"><span class="pre">mean_normalized_relative_absolute_error</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">prevs</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">prevs_hat</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">eps</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#quapy.error.mean_normalized_relative_absolute_error" title="Permalink to this definition"></a></dt> <dd><p>Computes the mean normalized relative absolute error (see <a class="reference internal" href="#quapy.error.nrae" title="quapy.error.nrae"><code class="xref py py-meth docutils literal notranslate"><span class="pre">quapy.error.nrae()</span></code></a>) across the sample pairs. The distributions are smoothed using the <cite>eps</cite> factor (see <a class="reference internal" href="#quapy.error.smooth" title="quapy.error.smooth"><code class="xref py py-meth docutils literal notranslate"><span class="pre">quapy.error.smooth()</span></code></a>).</p> @@ -866,7 +893,7 @@ the environment variable <cite>SAMPLE_SIZE</cite> (which has thus to be set befo <dl class="py function"> <dt class="sig sig-object py" id="quapy.error.mean_relative_absolute_error"> -<span class="sig-prename descclassname"><span class="pre">quapy.error.</span></span><span class="sig-name descname"><span class="pre">mean_relative_absolute_error</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">prevs</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">prevs_hat</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">eps</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#quapy.error.mean_relative_absolute_error" title="Link to this definition"></a></dt> +<span class="sig-prename descclassname"><span class="pre">quapy.error.</span></span><span class="sig-name descname"><span class="pre">mean_relative_absolute_error</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">prevs</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">prevs_hat</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">eps</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#quapy.error.mean_relative_absolute_error" title="Permalink to this definition"></a></dt> <dd><p>Computes the mean relative absolute error (see <a class="reference internal" href="#quapy.error.rae" title="quapy.error.rae"><code class="xref py py-meth docutils literal notranslate"><span class="pre">quapy.error.rae()</span></code></a>) across the sample pairs. The distributions are smoothed using the <cite>eps</cite> factor (see <a class="reference internal" href="#quapy.error.smooth" title="quapy.error.smooth"><code class="xref py py-meth docutils literal notranslate"><span class="pre">quapy.error.smooth()</span></code></a>).</p> @@ -891,7 +918,7 @@ the environment variable <cite>SAMPLE_SIZE</cite> (which has thus to be set befo <dl class="py function"> <dt class="sig sig-object py" id="quapy.error.mkld"> -<span class="sig-prename descclassname"><span class="pre">quapy.error.</span></span><span class="sig-name descname"><span class="pre">mkld</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">prevs</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">prevs_hat</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">eps</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/error.html#mkld"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.error.mkld" title="Link to this definition"></a></dt> +<span class="sig-prename descclassname"><span class="pre">quapy.error.</span></span><span class="sig-name descname"><span class="pre">mkld</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">prevs</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">prevs_hat</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">eps</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/error.html#mkld"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.error.mkld" title="Permalink to this definition"></a></dt> <dd><p>Computes the mean Kullback-Leibler divergence (see <a class="reference internal" href="#quapy.error.kld" title="quapy.error.kld"><code class="xref py py-meth docutils literal notranslate"><span class="pre">quapy.error.kld()</span></code></a>) across the sample pairs. The distributions are smoothed using the <cite>eps</cite> factor (see <a class="reference internal" href="#quapy.error.smooth" title="quapy.error.smooth"><code class="xref py py-meth docutils literal notranslate"><span class="pre">quapy.error.smooth()</span></code></a>).</p> @@ -916,7 +943,7 @@ If <cite>eps=None</cite>, the sample size will be taken from the environment var <dl class="py function"> <dt class="sig sig-object py" id="quapy.error.mnae"> -<span class="sig-prename descclassname"><span class="pre">quapy.error.</span></span><span class="sig-name descname"><span class="pre">mnae</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">prevs</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">prevs_hat</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/error.html#mnae"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.error.mnae" title="Link to this definition"></a></dt> +<span class="sig-prename descclassname"><span class="pre">quapy.error.</span></span><span class="sig-name descname"><span class="pre">mnae</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">prevs</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">prevs_hat</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/error.html#mnae"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.error.mnae" title="Permalink to this definition"></a></dt> <dd><p>Computes the mean normalized absolute error (see <a class="reference internal" href="#quapy.error.nae" title="quapy.error.nae"><code class="xref py py-meth docutils literal notranslate"><span class="pre">quapy.error.nae()</span></code></a>) across the sample pairs.</p> <dl class="field-list simple"> <dt class="field-odd">Parameters<span class="colon">:</span></dt> @@ -934,7 +961,7 @@ prevalence values</p></li> <dl class="py function"> <dt class="sig sig-object py" id="quapy.error.mnkld"> -<span class="sig-prename descclassname"><span class="pre">quapy.error.</span></span><span class="sig-name descname"><span class="pre">mnkld</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">prevs</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">prevs_hat</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">eps</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/error.html#mnkld"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.error.mnkld" title="Link to this definition"></a></dt> +<span class="sig-prename descclassname"><span class="pre">quapy.error.</span></span><span class="sig-name descname"><span class="pre">mnkld</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">prevs</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">prevs_hat</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">eps</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/error.html#mnkld"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.error.mnkld" title="Permalink to this definition"></a></dt> <dd><p>Computes the mean Normalized Kullback-Leibler divergence (see <a class="reference internal" href="#quapy.error.nkld" title="quapy.error.nkld"><code class="xref py py-meth docutils literal notranslate"><span class="pre">quapy.error.nkld()</span></code></a>) across the sample pairs. The distributions are smoothed using the <cite>eps</cite> factor (see <a class="reference internal" href="#quapy.error.smooth" title="quapy.error.smooth"><code class="xref py py-meth docutils literal notranslate"><span class="pre">quapy.error.smooth()</span></code></a>).</p> @@ -958,7 +985,7 @@ If <cite>eps=None</cite>, the sample size will be taken from the environment var <dl class="py function"> <dt class="sig sig-object py" id="quapy.error.mnrae"> -<span class="sig-prename descclassname"><span class="pre">quapy.error.</span></span><span class="sig-name descname"><span class="pre">mnrae</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">prevs</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">prevs_hat</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">eps</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/error.html#mnrae"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.error.mnrae" title="Link to this definition"></a></dt> +<span class="sig-prename descclassname"><span class="pre">quapy.error.</span></span><span class="sig-name descname"><span class="pre">mnrae</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">prevs</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">prevs_hat</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">eps</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/error.html#mnrae"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.error.mnrae" title="Permalink to this definition"></a></dt> <dd><p>Computes the mean normalized relative absolute error (see <a class="reference internal" href="#quapy.error.nrae" title="quapy.error.nrae"><code class="xref py py-meth docutils literal notranslate"><span class="pre">quapy.error.nrae()</span></code></a>) across the sample pairs. The distributions are smoothed using the <cite>eps</cite> factor (see <a class="reference internal" href="#quapy.error.smooth" title="quapy.error.smooth"><code class="xref py py-meth docutils literal notranslate"><span class="pre">quapy.error.smooth()</span></code></a>).</p> @@ -983,7 +1010,7 @@ the environment variable <cite>SAMPLE_SIZE</cite> (which has thus to be set befo <dl class="py function"> <dt class="sig sig-object py" id="quapy.error.mrae"> -<span class="sig-prename descclassname"><span class="pre">quapy.error.</span></span><span class="sig-name descname"><span class="pre">mrae</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">prevs</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">prevs_hat</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">eps</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/error.html#mrae"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.error.mrae" title="Link to this definition"></a></dt> +<span class="sig-prename descclassname"><span class="pre">quapy.error.</span></span><span class="sig-name descname"><span class="pre">mrae</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">prevs</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">prevs_hat</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">eps</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/error.html#mrae"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.error.mrae" title="Permalink to this definition"></a></dt> <dd><p>Computes the mean relative absolute error (see <a class="reference internal" href="#quapy.error.rae" title="quapy.error.rae"><code class="xref py py-meth docutils literal notranslate"><span class="pre">quapy.error.rae()</span></code></a>) across the sample pairs. The distributions are smoothed using the <cite>eps</cite> factor (see <a class="reference internal" href="#quapy.error.smooth" title="quapy.error.smooth"><code class="xref py py-meth docutils literal notranslate"><span class="pre">quapy.error.smooth()</span></code></a>).</p> @@ -1008,7 +1035,7 @@ the environment variable <cite>SAMPLE_SIZE</cite> (which has thus to be set befo <dl class="py function"> <dt class="sig sig-object py" id="quapy.error.mse"> -<span class="sig-prename descclassname"><span class="pre">quapy.error.</span></span><span class="sig-name descname"><span class="pre">mse</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">prevs</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">prevs_hat</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/error.html#mse"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.error.mse" title="Link to this definition"></a></dt> +<span class="sig-prename descclassname"><span class="pre">quapy.error.</span></span><span class="sig-name descname"><span class="pre">mse</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">prevs</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">prevs_hat</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/error.html#mse"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.error.mse" title="Permalink to this definition"></a></dt> <dd><p>Computes the mean squared error (see <a class="reference internal" href="#quapy.error.se" title="quapy.error.se"><code class="xref py py-meth docutils literal notranslate"><span class="pre">quapy.error.se()</span></code></a>) across the sample pairs.</p> <dl class="field-list simple"> <dt class="field-odd">Parameters<span class="colon">:</span></dt> @@ -1027,7 +1054,7 @@ predicted prevalence values</p></li> <dl class="py function"> <dt class="sig sig-object py" id="quapy.error.nae"> -<span class="sig-prename descclassname"><span class="pre">quapy.error.</span></span><span class="sig-name descname"><span class="pre">nae</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">prevs</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">prevs_hat</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/error.html#nae"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.error.nae" title="Link to this definition"></a></dt> +<span class="sig-prename descclassname"><span class="pre">quapy.error.</span></span><span class="sig-name descname"><span class="pre">nae</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">prevs</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">prevs_hat</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/error.html#nae"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.error.nae" title="Permalink to this definition"></a></dt> <dd><dl class="simple"> <dt>Computes the normalized absolute error between the two prevalence vectors.</dt><dd><p>Normalized absolute error between two prevalence vectors <span class="math notranslate nohighlight">\(p\)</span> and <span class="math notranslate nohighlight">\(\hat{p}\)</span> is computed as <span class="math notranslate nohighlight">\(NAE(p,\hat{p})=\frac{AE(p,\hat{p})}{z_{AE}}\)</span>, @@ -1050,7 +1077,7 @@ are the classes of interest.</p> <dl class="py function"> <dt class="sig sig-object py" id="quapy.error.nkld"> -<span class="sig-prename descclassname"><span class="pre">quapy.error.</span></span><span class="sig-name descname"><span class="pre">nkld</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">prevs</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">prevs_hat</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">eps</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/error.html#nkld"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.error.nkld" title="Link to this definition"></a></dt> +<span class="sig-prename descclassname"><span class="pre">quapy.error.</span></span><span class="sig-name descname"><span class="pre">nkld</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">prevs</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">prevs_hat</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">eps</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/error.html#nkld"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.error.nkld" title="Permalink to this definition"></a></dt> <dd><dl class="simple"> <dt>Computes the Normalized Kullback-Leibler divergence between the two prevalence distributions.</dt><dd><p>Normalized Kullback-Leibler divergence between two prevalence distributions <span class="math notranslate nohighlight">\(p\)</span> and <span class="math notranslate nohighlight">\(\hat{p}\)</span> is computed as @@ -1079,7 +1106,7 @@ size. If <cite>eps=None</cite>, the sample size will be taken from the environme <dl class="py function"> <dt class="sig sig-object py" id="quapy.error.normalized_absolute_error"> -<span class="sig-prename descclassname"><span class="pre">quapy.error.</span></span><span class="sig-name descname"><span class="pre">normalized_absolute_error</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">prevs</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">prevs_hat</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#quapy.error.normalized_absolute_error" title="Link to this definition"></a></dt> +<span class="sig-prename descclassname"><span class="pre">quapy.error.</span></span><span class="sig-name descname"><span class="pre">normalized_absolute_error</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">prevs</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">prevs_hat</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#quapy.error.normalized_absolute_error" title="Permalink to this definition"></a></dt> <dd><dl class="simple"> <dt>Computes the normalized absolute error between the two prevalence vectors.</dt><dd><p>Normalized absolute error between two prevalence vectors <span class="math notranslate nohighlight">\(p\)</span> and <span class="math notranslate nohighlight">\(\hat{p}\)</span> is computed as <span class="math notranslate nohighlight">\(NAE(p,\hat{p})=\frac{AE(p,\hat{p})}{z_{AE}}\)</span>, @@ -1102,7 +1129,7 @@ are the classes of interest.</p> <dl class="py function"> <dt class="sig sig-object py" id="quapy.error.normalized_relative_absolute_error"> -<span class="sig-prename descclassname"><span class="pre">quapy.error.</span></span><span class="sig-name descname"><span class="pre">normalized_relative_absolute_error</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">prevs</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">prevs_hat</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">eps</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#quapy.error.normalized_relative_absolute_error" title="Link to this definition"></a></dt> +<span class="sig-prename descclassname"><span class="pre">quapy.error.</span></span><span class="sig-name descname"><span class="pre">normalized_relative_absolute_error</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">prevs</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">prevs_hat</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">eps</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#quapy.error.normalized_relative_absolute_error" title="Permalink to this definition"></a></dt> <dd><dl class="simple"> <dt>Computes the normalized absolute relative error between the two prevalence vectors.</dt><dd><p>Relative absolute error between two prevalence vectors <span class="math notranslate nohighlight">\(p\)</span> and <span class="math notranslate nohighlight">\(\hat{p}\)</span> is computed as @@ -1132,7 +1159,7 @@ sample size. If <cite>eps=None</cite>, the sample size will be taken from the en <dl class="py function"> <dt class="sig sig-object py" id="quapy.error.nrae"> -<span class="sig-prename descclassname"><span class="pre">quapy.error.</span></span><span class="sig-name descname"><span class="pre">nrae</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">prevs</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">prevs_hat</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">eps</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/error.html#nrae"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.error.nrae" title="Link to this definition"></a></dt> +<span class="sig-prename descclassname"><span class="pre">quapy.error.</span></span><span class="sig-name descname"><span class="pre">nrae</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">prevs</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">prevs_hat</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">eps</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/error.html#nrae"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.error.nrae" title="Permalink to this definition"></a></dt> <dd><dl class="simple"> <dt>Computes the normalized absolute relative error between the two prevalence vectors.</dt><dd><p>Relative absolute error between two prevalence vectors <span class="math notranslate nohighlight">\(p\)</span> and <span class="math notranslate nohighlight">\(\hat{p}\)</span> is computed as @@ -1162,7 +1189,7 @@ sample size. If <cite>eps=None</cite>, the sample size will be taken from the en <dl class="py function"> <dt class="sig sig-object py" id="quapy.error.rae"> -<span class="sig-prename descclassname"><span class="pre">quapy.error.</span></span><span class="sig-name descname"><span class="pre">rae</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">prevs</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">prevs_hat</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">eps</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/error.html#rae"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.error.rae" title="Link to this definition"></a></dt> +<span class="sig-prename descclassname"><span class="pre">quapy.error.</span></span><span class="sig-name descname"><span class="pre">rae</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">prevs</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">prevs_hat</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">eps</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/error.html#rae"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.error.rae" title="Permalink to this definition"></a></dt> <dd><dl class="simple"> <dt>Computes the absolute relative error between the two prevalence vectors.</dt><dd><p>Relative absolute error between two prevalence vectors <span class="math notranslate nohighlight">\(p\)</span> and <span class="math notranslate nohighlight">\(\hat{p}\)</span> is computed as @@ -1191,7 +1218,7 @@ sample size. If <cite>eps=None</cite>, the sample size will be taken from the en <dl class="py function"> <dt class="sig sig-object py" id="quapy.error.relative_absolute_error"> -<span class="sig-prename descclassname"><span class="pre">quapy.error.</span></span><span class="sig-name descname"><span class="pre">relative_absolute_error</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">prevs</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">prevs_hat</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">eps</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#quapy.error.relative_absolute_error" title="Link to this definition"></a></dt> +<span class="sig-prename descclassname"><span class="pre">quapy.error.</span></span><span class="sig-name descname"><span class="pre">relative_absolute_error</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">prevs</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">prevs_hat</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">eps</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#quapy.error.relative_absolute_error" title="Permalink to this definition"></a></dt> <dd><dl class="simple"> <dt>Computes the absolute relative error between the two prevalence vectors.</dt><dd><p>Relative absolute error between two prevalence vectors <span class="math notranslate nohighlight">\(p\)</span> and <span class="math notranslate nohighlight">\(\hat{p}\)</span> is computed as @@ -1220,7 +1247,7 @@ sample size. If <cite>eps=None</cite>, the sample size will be taken from the en <dl class="py function"> <dt class="sig sig-object py" id="quapy.error.se"> -<span class="sig-prename descclassname"><span class="pre">quapy.error.</span></span><span class="sig-name descname"><span class="pre">se</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">prevs</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">prevs_hat</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/error.html#se"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.error.se" title="Link to this definition"></a></dt> +<span class="sig-prename descclassname"><span class="pre">quapy.error.</span></span><span class="sig-name descname"><span class="pre">se</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">prevs</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">prevs_hat</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/error.html#se"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.error.se" title="Permalink to this definition"></a></dt> <dd><dl class="simple"> <dt>Computes the squared error between the two prevalence vectors.</dt><dd><p>Squared error between two prevalence vectors <span class="math notranslate nohighlight">\(p\)</span> and <span class="math notranslate nohighlight">\(\hat{p}\)</span> is computed as <span class="math notranslate nohighlight">\(SE(p,\hat{p})=\frac{1}{|\mathcal{Y}|}\sum_{y\in \mathcal{Y}}(\hat{p}(y)-p(y))^2\)</span>, @@ -1243,7 +1270,7 @@ where <dl class="py function"> <dt class="sig sig-object py" id="quapy.error.smooth"> -<span class="sig-prename descclassname"><span class="pre">quapy.error.</span></span><span class="sig-name descname"><span class="pre">smooth</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">prevs</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">eps</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/error.html#smooth"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.error.smooth" title="Link to this definition"></a></dt> +<span class="sig-prename descclassname"><span class="pre">quapy.error.</span></span><span class="sig-name descname"><span class="pre">smooth</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">prevs</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">eps</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/error.html#smooth"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.error.smooth" title="Permalink to this definition"></a></dt> <dd><p>Smooths a prevalence distribution with <span class="math notranslate nohighlight">\(\epsilon\)</span> (<cite>eps</cite>) as: <span class="math notranslate nohighlight">\(\underline{p}(y)=\frac{\epsilon+p(y)}{\epsilon|\mathcal{Y}|+ \displaystyle\sum_{y\in \mathcal{Y}}p(y)}\)</span></p> @@ -1262,10 +1289,10 @@ where </section> <section id="module-quapy.evaluation"> -<span id="quapy-evaluation-module"></span><h2>quapy.evaluation module<a class="headerlink" href="#module-quapy.evaluation" title="Link to this heading"></a></h2> +<span id="quapy-evaluation-module"></span><h2>quapy.evaluation module<a class="headerlink" href="#module-quapy.evaluation" title="Permalink to this heading"></a></h2> <dl class="py function"> <dt class="sig sig-object py" id="quapy.evaluation.evaluate"> -<span class="sig-prename descclassname"><span class="pre">quapy.evaluation.</span></span><span class="sig-name descname"><span class="pre">evaluate</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">model</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="quapy.method.html#quapy.method.base.BaseQuantifier" title="quapy.method.base.BaseQuantifier"><span class="pre">BaseQuantifier</span></a></span></em>, <em class="sig-param"><span class="n"><span class="pre">protocol</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="#quapy.protocol.AbstractProtocol" title="quapy.protocol.AbstractProtocol"><span class="pre">AbstractProtocol</span></a></span></em>, <em class="sig-param"><span class="n"><span class="pre">error_metric</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">Callable</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">aggr_speedup</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">bool</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">'auto'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">verbose</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/evaluation.html#evaluate"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.evaluation.evaluate" title="Link to this definition"></a></dt> +<span class="sig-prename descclassname"><span class="pre">quapy.evaluation.</span></span><span class="sig-name descname"><span class="pre">evaluate</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">model</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="quapy.method.html#quapy.method.base.BaseQuantifier" title="quapy.method.base.BaseQuantifier"><span class="pre">BaseQuantifier</span></a></span></em>, <em class="sig-param"><span class="n"><span class="pre">protocol</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="#quapy.protocol.AbstractProtocol" title="quapy.protocol.AbstractProtocol"><span class="pre">AbstractProtocol</span></a></span></em>, <em class="sig-param"><span class="n"><span class="pre">error_metric</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Union</span><span class="p"><span class="pre">[</span></span><span class="pre">str</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">Callable</span><span class="p"><span class="pre">]</span></span></span></em>, <em class="sig-param"><span class="n"><span class="pre">aggr_speedup</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Union</span><span class="p"><span class="pre">[</span></span><span class="pre">str</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">bool</span><span class="p"><span class="pre">]</span></span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">'auto'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">verbose</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/evaluation.html#evaluate"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.evaluation.evaluate" title="Permalink to this definition"></a></dt> <dd><p>Evaluates a quantification model according to a specific sample generation protocol and in terms of one evaluation metric (error).</p> <dl class="field-list simple"> @@ -1294,7 +1321,7 @@ a single float</p> <dl class="py function"> <dt class="sig sig-object py" id="quapy.evaluation.evaluate_on_samples"> -<span class="sig-prename descclassname"><span class="pre">quapy.evaluation.</span></span><span class="sig-name descname"><span class="pre">evaluate_on_samples</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">model</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="quapy.method.html#quapy.method.base.BaseQuantifier" title="quapy.method.base.BaseQuantifier"><span class="pre">BaseQuantifier</span></a></span></em>, <em class="sig-param"><span class="n"><span class="pre">samples</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Iterable</span><span class="p"><span class="pre">[</span></span><a class="reference internal" href="quapy.data.html#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><span class="pre">LabelledCollection</span></a><span class="p"><span class="pre">]</span></span></span></em>, <em class="sig-param"><span class="n"><span class="pre">error_metric</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">Callable</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">verbose</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/evaluation.html#evaluate_on_samples"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.evaluation.evaluate_on_samples" title="Link to this definition"></a></dt> +<span class="sig-prename descclassname"><span class="pre">quapy.evaluation.</span></span><span class="sig-name descname"><span class="pre">evaluate_on_samples</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">model</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="quapy.method.html#quapy.method.base.BaseQuantifier" title="quapy.method.base.BaseQuantifier"><span class="pre">BaseQuantifier</span></a></span></em>, <em class="sig-param"><span class="n"><span class="pre">samples</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Iterable</span><span class="p"><span class="pre">[</span></span><a class="reference internal" href="quapy.data.html#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><span class="pre">LabelledCollection</span></a><span class="p"><span class="pre">]</span></span></span></em>, <em class="sig-param"><span class="n"><span class="pre">error_metric</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Union</span><span class="p"><span class="pre">[</span></span><span class="pre">str</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">Callable</span><span class="p"><span class="pre">]</span></span></span></em>, <em class="sig-param"><span class="n"><span class="pre">verbose</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/evaluation.html#evaluate_on_samples"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.evaluation.evaluate_on_samples" title="Permalink to this definition"></a></dt> <dd><p>Evaluates a quantification model on a given set of samples and in terms of one evaluation metric (error).</p> <dl class="field-list simple"> <dt class="field-odd">Parameters<span class="colon">:</span></dt> @@ -1316,7 +1343,7 @@ a single float</p> <dl class="py function"> <dt class="sig sig-object py" id="quapy.evaluation.evaluation_report"> -<span class="sig-prename descclassname"><span class="pre">quapy.evaluation.</span></span><span class="sig-name descname"><span class="pre">evaluation_report</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">model</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="quapy.method.html#quapy.method.base.BaseQuantifier" title="quapy.method.base.BaseQuantifier"><span class="pre">BaseQuantifier</span></a></span></em>, <em class="sig-param"><span class="n"><span class="pre">protocol</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="#quapy.protocol.AbstractProtocol" title="quapy.protocol.AbstractProtocol"><span class="pre">AbstractProtocol</span></a></span></em>, <em class="sig-param"><span class="n"><span class="pre">error_metrics</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Iterable</span><span class="p"><span class="pre">[</span></span><span class="pre">str</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">Callable</span><span class="p"><span class="pre">]</span></span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">'mae'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">aggr_speedup</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">bool</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">'auto'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">verbose</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/evaluation.html#evaluation_report"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.evaluation.evaluation_report" title="Link to this definition"></a></dt> +<span class="sig-prename descclassname"><span class="pre">quapy.evaluation.</span></span><span class="sig-name descname"><span class="pre">evaluation_report</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">model</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="quapy.method.html#quapy.method.base.BaseQuantifier" title="quapy.method.base.BaseQuantifier"><span class="pre">BaseQuantifier</span></a></span></em>, <em class="sig-param"><span class="n"><span class="pre">protocol</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="#quapy.protocol.AbstractProtocol" title="quapy.protocol.AbstractProtocol"><span class="pre">AbstractProtocol</span></a></span></em>, <em class="sig-param"><span class="n"><span class="pre">error_metrics</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Iterable</span><span class="p"><span class="pre">[</span></span><span class="pre">Union</span><span class="p"><span class="pre">[</span></span><span class="pre">str</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">Callable</span><span class="p"><span class="pre">]</span></span><span class="p"><span class="pre">]</span></span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">'mae'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">aggr_speedup</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Union</span><span class="p"><span class="pre">[</span></span><span class="pre">str</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">bool</span><span class="p"><span class="pre">]</span></span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">'auto'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">verbose</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/evaluation.html#evaluation_report"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.evaluation.evaluation_report" title="Permalink to this definition"></a></dt> <dd><p>Generates a report (a pandas’ DataFrame) containing information of the evaluation of the model as according to a specific protocol and in terms of one or more evaluation metrics (errors).</p> <dl class="field-list simple"> @@ -1346,7 +1373,7 @@ have been indicated, each displaying the score in terms of that metric for every <dl class="py function"> <dt class="sig sig-object py" id="quapy.evaluation.prediction"> -<span class="sig-prename descclassname"><span class="pre">quapy.evaluation.</span></span><span class="sig-name descname"><span class="pre">prediction</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">model</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="quapy.method.html#quapy.method.base.BaseQuantifier" title="quapy.method.base.BaseQuantifier"><span class="pre">BaseQuantifier</span></a></span></em>, <em class="sig-param"><span class="n"><span class="pre">protocol</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="#quapy.protocol.AbstractProtocol" title="quapy.protocol.AbstractProtocol"><span class="pre">AbstractProtocol</span></a></span></em>, <em class="sig-param"><span class="n"><span class="pre">aggr_speedup</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">bool</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">'auto'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">verbose</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/evaluation.html#prediction"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.evaluation.prediction" title="Link to this definition"></a></dt> +<span class="sig-prename descclassname"><span class="pre">quapy.evaluation.</span></span><span class="sig-name descname"><span class="pre">prediction</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">model</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="quapy.method.html#quapy.method.base.BaseQuantifier" title="quapy.method.base.BaseQuantifier"><span class="pre">BaseQuantifier</span></a></span></em>, <em class="sig-param"><span class="n"><span class="pre">protocol</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="#quapy.protocol.AbstractProtocol" title="quapy.protocol.AbstractProtocol"><span class="pre">AbstractProtocol</span></a></span></em>, <em class="sig-param"><span class="n"><span class="pre">aggr_speedup</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Union</span><span class="p"><span class="pre">[</span></span><span class="pre">str</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">bool</span><span class="p"><span class="pre">]</span></span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">'auto'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">verbose</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/evaluation.html#prediction"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.evaluation.prediction" title="Permalink to this definition"></a></dt> <dd><p>Uses a quantification model to generate predictions for the samples generated via a specific protocol. This function is central to all evaluation processes, and is endowed with an optimization to speed-up the prediction of protocols that generate samples from a large collection. The optimization applies to aggregative @@ -1379,10 +1406,10 @@ convenient or not. Set to False to deactivate.</p></li> </section> <section id="module-quapy.functional"> -<span id="quapy-functional-module"></span><h2>quapy.functional module<a class="headerlink" href="#module-quapy.functional" title="Link to this heading"></a></h2> +<span id="quapy-functional-module"></span><h2>quapy.functional module<a class="headerlink" href="#module-quapy.functional" title="Permalink to this heading"></a></h2> <dl class="py function"> <dt class="sig sig-object py" id="quapy.functional.HellingerDistance"> -<span class="sig-prename descclassname"><span class="pre">quapy.functional.</span></span><span class="sig-name descname"><span class="pre">HellingerDistance</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">P</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">Q</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">float</span></span></span><a class="reference internal" href="_modules/quapy/functional.html#HellingerDistance"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.functional.HellingerDistance" title="Link to this definition"></a></dt> +<span class="sig-prename descclassname"><span class="pre">quapy.functional.</span></span><span class="sig-name descname"><span class="pre">HellingerDistance</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">P</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">ndarray</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">Q</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">ndarray</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">float</span></span></span><a class="reference internal" href="_modules/quapy/functional.html#HellingerDistance"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.functional.HellingerDistance" title="Permalink to this definition"></a></dt> <dd><p>Computes the Hellingher Distance (HD) between (discretized) distributions <cite>P</cite> and <cite>Q</cite>. The HD for two discrete distributions of <cite>k</cite> bins is defined as:</p> <div class="math notranslate nohighlight"> @@ -1402,7 +1429,7 @@ The HD for two discrete distributions of <cite>k</cite> bins is defined as:</p> <dl class="py function"> <dt class="sig sig-object py" id="quapy.functional.TopsoeDistance"> -<span class="sig-prename descclassname"><span class="pre">quapy.functional.</span></span><span class="sig-name descname"><span class="pre">TopsoeDistance</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">P</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">Q</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">epsilon</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">1e-20</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/functional.html#TopsoeDistance"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.functional.TopsoeDistance" title="Link to this definition"></a></dt> +<span class="sig-prename descclassname"><span class="pre">quapy.functional.</span></span><span class="sig-name descname"><span class="pre">TopsoeDistance</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">P</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">ndarray</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">Q</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">ndarray</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">epsilon</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">1e-20</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/functional.html#TopsoeDistance"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.functional.TopsoeDistance" title="Permalink to this definition"></a></dt> <dd><p>Topsoe distance between two (discretized) distributions <cite>P</cite> and <cite>Q</cite>. The Topsoe distance for two discrete distributions of <cite>k</cite> bins is defined as:</p> <div class="math notranslate nohighlight"> @@ -1423,7 +1450,7 @@ The Topsoe distance for two discrete distributions of <cite>k</cite> bins is def <dl class="py function"> <dt class="sig sig-object py" id="quapy.functional.adjusted_quantification"> -<span class="sig-prename descclassname"><span class="pre">quapy.functional.</span></span><span class="sig-name descname"><span class="pre">adjusted_quantification</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">prevalence_estim</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">tpr</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">fpr</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">clip</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/functional.html#adjusted_quantification"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.functional.adjusted_quantification" title="Link to this definition"></a></dt> +<span class="sig-prename descclassname"><span class="pre">quapy.functional.</span></span><span class="sig-name descname"><span class="pre">adjusted_quantification</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">prevalence_estim</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Union</span><span class="p"><span class="pre">[</span></span><span class="pre">_SupportsArray</span><span class="p"><span class="pre">[</span></span><span class="pre">dtype</span><span class="p"><span class="pre">]</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">_NestedSequence</span><span class="p"><span class="pre">[</span></span><span class="pre">_SupportsArray</span><span class="p"><span class="pre">[</span></span><span class="pre">dtype</span><span class="p"><span class="pre">]</span></span><span class="p"><span class="pre">]</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">bool</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">int</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">float</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">complex</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">str</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">bytes</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">_NestedSequence</span><span class="p"><span class="pre">[</span></span><span class="pre">Union</span><span class="p"><span class="pre">[</span></span><span class="pre">bool</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">int</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">float</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">complex</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">str</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">bytes</span><span class="p"><span class="pre">]</span></span><span class="p"><span class="pre">]</span></span><span class="p"><span class="pre">]</span></span></span></em>, <em class="sig-param"><span class="n"><span class="pre">tpr</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">fpr</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">clip</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">bool</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">True</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/functional.html#adjusted_quantification"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.functional.adjusted_quantification" title="Permalink to this definition"></a></dt> <dd><p>Implements the adjustment of ACC and PACC for the binary case. The adjustment for a prevalence estimate of the positive class <cite>p</cite> comes down to computing:</p> <div class="math notranslate nohighlight"> @@ -1445,12 +1472,28 @@ positive class <cite>p</cite> comes down to computing:</p> <dl class="py function"> <dt class="sig sig-object py" id="quapy.functional.argmin_prevalence"> -<span class="sig-prename descclassname"><span class="pre">quapy.functional.</span></span><span class="sig-name descname"><span class="pre">argmin_prevalence</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">loss</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">n_classes</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">method</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'optim_minimize'</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/functional.html#argmin_prevalence"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.functional.argmin_prevalence" title="Link to this definition"></a></dt> -<dd></dd></dl> +<span class="sig-prename descclassname"><span class="pre">quapy.functional.</span></span><span class="sig-name descname"><span class="pre">argmin_prevalence</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">loss</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Callable</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">n_classes</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">method</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Literal</span><span class="p"><span class="pre">[</span></span><span class="s"><span class="pre">'optim_minimize'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'linear_search'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'ternary_search'</span></span><span class="p"><span class="pre">]</span></span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">'optim_minimize'</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/functional.html#argmin_prevalence"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.functional.argmin_prevalence" title="Permalink to this definition"></a></dt> +<dd><p>Searches for the prevalence vector that minimizes a loss function.</p> +<dl class="field-list simple"> +<dt class="field-odd">Parameters<span class="colon">:</span></dt> +<dd class="field-odd"><ul class="simple"> +<li><p><strong>loss</strong> – callable, the function to minimize</p></li> +<li><p><strong>n_classes</strong> – int, number of classes</p></li> +<li><p><strong>method</strong> – string indicating the search strategy. Possible values are:: +‘optim_minimize’: uses scipy.optim +‘linear_search’: carries out a linear search for binary problems in the space [0, 0.01, 0.02, …, 1] +‘ternary_search’: implements the ternary search (not yet implemented)</p></li> +</ul> +</dd> +<dt class="field-even">Returns<span class="colon">:</span></dt> +<dd class="field-even"><p>np.ndarray, a prevalence vector</p> +</dd> +</dl> +</dd></dl> <dl class="py function"> <dt class="sig sig-object py" id="quapy.functional.as_binary_prevalence"> -<span class="sig-prename descclassname"><span class="pre">quapy.functional.</span></span><span class="sig-name descname"><span class="pre">as_binary_prevalence</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">positive_prevalence</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">ndarray</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">clip_if_necessary</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/functional.html#as_binary_prevalence"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.functional.as_binary_prevalence" title="Link to this definition"></a></dt> +<span class="sig-prename descclassname"><span class="pre">quapy.functional.</span></span><span class="sig-name descname"><span class="pre">as_binary_prevalence</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">positive_prevalence</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Union</span><span class="p"><span class="pre">[</span></span><span class="pre">float</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">ndarray</span><span class="p"><span class="pre">]</span></span></span></em>, <em class="sig-param"><span class="n"><span class="pre">clip_if_necessary</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">bool</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/functional.html#as_binary_prevalence"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.functional.as_binary_prevalence" title="Permalink to this definition"></a></dt> <dd><p>Helper that, given a float representing the prevalence for the positive class, returns a np.ndarray of two values representing a binary distribution.</p> <dl class="field-list simple"> @@ -1469,11 +1512,11 @@ is valid. If False, it then checks that the value is in the valid range, and rai <dl class="py function"> <dt class="sig sig-object py" id="quapy.functional.check_prevalence_vector"> -<span class="sig-prename descclassname"><span class="pre">quapy.functional.</span></span><span class="sig-name descname"><span class="pre">check_prevalence_vector</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">p</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">raise_exception</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">toleranze</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">1e-08</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/functional.html#check_prevalence_vector"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.functional.check_prevalence_vector" title="Link to this definition"></a></dt> +<span class="sig-prename descclassname"><span class="pre">quapy.functional.</span></span><span class="sig-name descname"><span class="pre">check_prevalence_vector</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">prevalences</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Union</span><span class="p"><span class="pre">[</span></span><span class="pre">_SupportsArray</span><span class="p"><span class="pre">[</span></span><span class="pre">dtype</span><span class="p"><span class="pre">]</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">_NestedSequence</span><span class="p"><span class="pre">[</span></span><span class="pre">_SupportsArray</span><span class="p"><span class="pre">[</span></span><span class="pre">dtype</span><span class="p"><span class="pre">]</span></span><span class="p"><span class="pre">]</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">bool</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">int</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">float</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">complex</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">str</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">bytes</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">_NestedSequence</span><span class="p"><span class="pre">[</span></span><span class="pre">Union</span><span class="p"><span class="pre">[</span></span><span class="pre">bool</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">int</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">float</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">complex</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">str</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">bytes</span><span class="p"><span class="pre">]</span></span><span class="p"><span class="pre">]</span></span><span class="p"><span class="pre">]</span></span></span></em>, <em class="sig-param"><span class="n"><span class="pre">raise_exception</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">bool</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">toleranze</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">1e-08</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/functional.html#check_prevalence_vector"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.functional.check_prevalence_vector" title="Permalink to this definition"></a></dt> <dd><p>Checks that p is a valid prevalence vector, i.e., that it contains values in [0,1] and that the values sum up to 1.</p> <dl class="field-list simple"> <dt class="field-odd">Parameters<span class="colon">:</span></dt> -<dd class="field-odd"><p><strong>p</strong> – the prevalence vector to check</p> +<dd class="field-odd"><p><strong>prevalences</strong> – the prevalence vector to check</p> </dd> <dt class="field-even">Returns<span class="colon">:</span></dt> <dd class="field-even"><p>True if <cite>p</cite> is valid, False otherwise</p> @@ -1481,14 +1524,64 @@ is valid. If False, it then checks that the value is in the valid range, and rai </dl> </dd></dl> +<dl class="py function"> +<dt class="sig sig-object py" id="quapy.functional.clip_prevalence"> +<span class="sig-prename descclassname"><span class="pre">quapy.functional.</span></span><span class="sig-name descname"><span class="pre">clip_prevalence</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">prevalences</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Union</span><span class="p"><span class="pre">[</span></span><span class="pre">_SupportsArray</span><span class="p"><span class="pre">[</span></span><span class="pre">dtype</span><span class="p"><span class="pre">]</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">_NestedSequence</span><span class="p"><span class="pre">[</span></span><span class="pre">_SupportsArray</span><span class="p"><span class="pre">[</span></span><span class="pre">dtype</span><span class="p"><span class="pre">]</span></span><span class="p"><span class="pre">]</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">bool</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">int</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">float</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">complex</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">str</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">bytes</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">_NestedSequence</span><span class="p"><span class="pre">[</span></span><span class="pre">Union</span><span class="p"><span class="pre">[</span></span><span class="pre">bool</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">int</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">float</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">complex</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">str</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">bytes</span><span class="p"><span class="pre">]</span></span><span class="p"><span class="pre">]</span></span><span class="p"><span class="pre">]</span></span></span></em>, <em class="sig-param"><span class="n"><span class="pre">method</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Literal</span><span class="p"><span class="pre">[</span></span><span class="pre">None</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'none'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'clip'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'project'</span></span><span class="p"><span class="pre">]</span></span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">ndarray</span></span></span><a class="reference internal" href="_modules/quapy/functional.html#clip_prevalence"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.functional.clip_prevalence" title="Permalink to this definition"></a></dt> +<dd><p>Clips the proportions vector <cite>prevalences</cite> so that it is a valid probability distribution, i.e., all values +are in [0,1] and sum up to 1.</p> +<dl class="field-list simple"> +<dt class="field-odd">Parameters<span class="colon">:</span></dt> +<dd class="field-odd"><ul class="simple"> +<li><p><strong>prevalences</strong> – array-like, the proportions vector to be clipped, shape <cite>(n_classes,)</cite></p></li> +<li><p><strong>method</strong> – indicates the method to be used for normalization. +If <cite>None</cite> or <cite>“none”</cite>, no normalization is performed. +If <cite>“clip”</cite>, the values are clipped to the range [0,1] and normalized, so they sum up to 1. +If <cite>“project”</cite>, the values are projected onto the probability simplex.</p></li> +</ul> +</dd> +<dt class="field-even">Returns<span class="colon">:</span></dt> +<dd class="field-even"><p>the normalized prevalence vector, shape <cite>(n_classes,)</cite></p> +</dd> +</dl> +</dd></dl> + +<dl class="py function"> +<dt class="sig sig-object py" id="quapy.functional.counts_from_labels"> +<span class="sig-prename descclassname"><span class="pre">quapy.functional.</span></span><span class="sig-name descname"><span class="pre">counts_from_labels</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">labels</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Union</span><span class="p"><span class="pre">[</span></span><span class="pre">_SupportsArray</span><span class="p"><span class="pre">[</span></span><span class="pre">dtype</span><span class="p"><span class="pre">]</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">_NestedSequence</span><span class="p"><span class="pre">[</span></span><span class="pre">_SupportsArray</span><span class="p"><span class="pre">[</span></span><span class="pre">dtype</span><span class="p"><span class="pre">]</span></span><span class="p"><span class="pre">]</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">bool</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">int</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">float</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">complex</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">str</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">bytes</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">_NestedSequence</span><span class="p"><span class="pre">[</span></span><span class="pre">Union</span><span class="p"><span class="pre">[</span></span><span class="pre">bool</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">int</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">float</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">complex</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">str</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">bytes</span><span class="p"><span class="pre">]</span></span><span class="p"><span class="pre">]</span></span><span class="p"><span class="pre">]</span></span></span></em>, <em class="sig-param"><span class="n"><span class="pre">classes</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Union</span><span class="p"><span class="pre">[</span></span><span class="pre">_SupportsArray</span><span class="p"><span class="pre">[</span></span><span class="pre">dtype</span><span class="p"><span class="pre">]</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">_NestedSequence</span><span class="p"><span class="pre">[</span></span><span class="pre">_SupportsArray</span><span class="p"><span class="pre">[</span></span><span class="pre">dtype</span><span class="p"><span class="pre">]</span></span><span class="p"><span class="pre">]</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">bool</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">int</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">float</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">complex</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">str</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">bytes</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">_NestedSequence</span><span class="p"><span class="pre">[</span></span><span class="pre">Union</span><span class="p"><span class="pre">[</span></span><span class="pre">bool</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">int</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">float</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">complex</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">str</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">bytes</span><span class="p"><span class="pre">]</span></span><span class="p"><span class="pre">]</span></span><span class="p"><span class="pre">]</span></span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/functional.html#counts_from_labels"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.functional.counts_from_labels" title="Permalink to this definition"></a></dt> +<dd><p>Computes the count values from a vector of labels.</p> +<dl class="field-list simple"> +<dt class="field-odd">Parameters<span class="colon">:</span></dt> +<dd class="field-odd"><ul class="simple"> +<li><p><strong>labels</strong> – array-like of shape <cite>(n_instances,)</cite> with the label for each instance</p></li> +<li><p><strong>classes</strong> – the class labels. This is needed in order to correctly compute the prevalence vector even when +some classes have no examples.</p></li> +</ul> +</dd> +<dt class="field-even">Returns<span class="colon">:</span></dt> +<dd class="field-even"><p>an ndarray of shape <cite>(len(classes),)</cite> with the occurrence counts of each class</p> +</dd> +</dl> +</dd></dl> + <dl class="py function"> <dt class="sig sig-object py" id="quapy.functional.get_divergence"> -<span class="sig-prename descclassname"><span class="pre">quapy.functional.</span></span><span class="sig-name descname"><span class="pre">get_divergence</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">divergence</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">Callable</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/functional.html#get_divergence"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.functional.get_divergence" title="Link to this definition"></a></dt> -<dd></dd></dl> +<span class="sig-prename descclassname"><span class="pre">quapy.functional.</span></span><span class="sig-name descname"><span class="pre">get_divergence</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">divergence</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Union</span><span class="p"><span class="pre">[</span></span><span class="pre">str</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">Callable</span><span class="p"><span class="pre">]</span></span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/functional.html#get_divergence"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.functional.get_divergence" title="Permalink to this definition"></a></dt> +<dd><p>Guarantees that the divergence received as argument is a function. That is, if this argument is already +a callable, then it is returned, if it is instead a string, then tries to instantiate the corresponding +divergence from the string name.</p> +<dl class="field-list simple"> +<dt class="field-odd">Parameters<span class="colon">:</span></dt> +<dd class="field-odd"><p><strong>divergence</strong> – callable or string indicating the name of the divergence function</p> +</dd> +<dt class="field-even">Returns<span class="colon">:</span></dt> +<dd class="field-even"><p>callable</p> +</dd> +</dl> +</dd></dl> <dl class="py function"> <dt class="sig sig-object py" id="quapy.functional.get_nprevpoints_approximation"> -<span class="sig-prename descclassname"><span class="pre">quapy.functional.</span></span><span class="sig-name descname"><span class="pre">get_nprevpoints_approximation</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">combinations_budget</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">n_classes</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">n_repeats</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">1</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/functional.html#get_nprevpoints_approximation"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.functional.get_nprevpoints_approximation" title="Link to this definition"></a></dt> +<span class="sig-prename descclassname"><span class="pre">quapy.functional.</span></span><span class="sig-name descname"><span class="pre">get_nprevpoints_approximation</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">combinations_budget</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">n_classes</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">n_repeats</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">1</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/functional.html#get_nprevpoints_approximation"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.functional.get_nprevpoints_approximation" title="Permalink to this definition"></a></dt> <dd><p>Searches for the largest number of (equidistant) prevalence points to define for each of the <cite>n_classes</cite> classes so that the number of valid prevalence values generated as combinations of prevalence points (points in a <cite>n_classes</cite>-dimensional simplex) do not exceed combinations_budget.</p> @@ -1508,7 +1601,7 @@ that the number of valid prevalence values generated as combinations of prevalen <dl class="py function"> <dt class="sig sig-object py" id="quapy.functional.linear_search"> -<span class="sig-prename descclassname"><span class="pre">quapy.functional.</span></span><span class="sig-name descname"><span class="pre">linear_search</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">loss</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">n_classes</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/functional.html#linear_search"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.functional.linear_search" title="Link to this definition"></a></dt> +<span class="sig-prename descclassname"><span class="pre">quapy.functional.</span></span><span class="sig-name descname"><span class="pre">linear_search</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">loss</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Callable</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">n_classes</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/functional.html#linear_search"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.functional.linear_search" title="Permalink to this definition"></a></dt> <dd><p>Performs a linear search for the best prevalence value in binary problems. The search is carried out by exploring the range [0,1] stepping by 0.01. This search is inefficient, and is added only for completeness (some of the early methods in quantification literature used it, e.g., HDy). A most powerful alternative is <cite>optim_minimize</cite>.</p> @@ -1525,9 +1618,29 @@ early methods in quantification literature used it, e.g., HDy). A most powerful </dl> </dd></dl> +<dl class="py function"> +<dt class="sig sig-object py" id="quapy.functional.map_onto_probability_simplex"> +<span class="sig-prename descclassname"><span class="pre">quapy.functional.</span></span><span class="sig-name descname"><span class="pre">map_onto_probability_simplex</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">unnormalized_arr</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Union</span><span class="p"><span class="pre">[</span></span><span class="pre">_SupportsArray</span><span class="p"><span class="pre">[</span></span><span class="pre">dtype</span><span class="p"><span class="pre">]</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">_NestedSequence</span><span class="p"><span class="pre">[</span></span><span class="pre">_SupportsArray</span><span class="p"><span class="pre">[</span></span><span class="pre">dtype</span><span class="p"><span class="pre">]</span></span><span class="p"><span class="pre">]</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">bool</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">int</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">float</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">complex</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">str</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">bytes</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">_NestedSequence</span><span class="p"><span class="pre">[</span></span><span class="pre">Union</span><span class="p"><span class="pre">[</span></span><span class="pre">bool</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">int</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">float</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">complex</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">str</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">bytes</span><span class="p"><span class="pre">]</span></span><span class="p"><span class="pre">]</span></span><span class="p"><span class="pre">]</span></span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">ndarray</span></span></span><a class="reference internal" href="_modules/quapy/functional.html#map_onto_probability_simplex"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.functional.map_onto_probability_simplex" title="Permalink to this definition"></a></dt> +<dd><p>Projects a point onto the probability simplex.</p> +<p>The code is adapted from Mathieu Blondel’s BSD-licensed +<a class="reference external" href="https://gist.github.com/mblondel/6f3b7aaad90606b98f71">implementation</a> +which is accompanying the paper</p> +<p>Mathieu Blondel, Akinori Fujino, and Naonori Ueda. +Large-scale Multiclass Support Vector Machine Training via Euclidean Projection onto the Simplex, +ICPR 2014, <a class="reference external" href="http://www.mblondel.org/publications/mblondel-icpr2014.pdf">URL</a></p> +<dl class="field-list simple"> +<dt class="field-odd">Parameters<span class="colon">:</span></dt> +<dd class="field-odd"><p><strong>unnormalized_arr</strong> – point in n-dimensional space, shape <cite>(n,)</cite></p> +</dd> +<dt class="field-even">Returns<span class="colon">:</span></dt> +<dd class="field-even"><p>projection of <cite>v</cite> onto (n-1)-dimensional probability simplex, shape <cite>(n,)</cite></p> +</dd> +</dl> +</dd></dl> + <dl class="py function"> <dt class="sig sig-object py" id="quapy.functional.normalize_prevalence"> -<span class="sig-prename descclassname"><span class="pre">quapy.functional.</span></span><span class="sig-name descname"><span class="pre">normalize_prevalence</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">prevalences</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/functional.html#normalize_prevalence"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.functional.normalize_prevalence" title="Link to this definition"></a></dt> +<span class="sig-prename descclassname"><span class="pre">quapy.functional.</span></span><span class="sig-name descname"><span class="pre">normalize_prevalence</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">prevalences</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Union</span><span class="p"><span class="pre">[</span></span><span class="pre">_SupportsArray</span><span class="p"><span class="pre">[</span></span><span class="pre">dtype</span><span class="p"><span class="pre">]</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">_NestedSequence</span><span class="p"><span class="pre">[</span></span><span class="pre">_SupportsArray</span><span class="p"><span class="pre">[</span></span><span class="pre">dtype</span><span class="p"><span class="pre">]</span></span><span class="p"><span class="pre">]</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">bool</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">int</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">float</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">complex</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">str</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">bytes</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">_NestedSequence</span><span class="p"><span class="pre">[</span></span><span class="pre">Union</span><span class="p"><span class="pre">[</span></span><span class="pre">bool</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">int</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">float</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">complex</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">str</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">bytes</span><span class="p"><span class="pre">]</span></span><span class="p"><span class="pre">]</span></span><span class="p"><span class="pre">]</span></span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/functional.html#normalize_prevalence"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.functional.normalize_prevalence" title="Permalink to this definition"></a></dt> <dd><p>Normalize a vector or matrix of prevalence values. The normalization consists of applying a L1 normalization in cases in which the prevalence values are not all-zeros, and to convert the prevalence values into <cite>1/n_classes</cite> in cases in which all values are zero.</p> @@ -1543,7 +1656,7 @@ cases in which all values are zero.</p> <dl class="py function"> <dt class="sig sig-object py" id="quapy.functional.num_prevalence_combinations"> -<span class="sig-prename descclassname"><span class="pre">quapy.functional.</span></span><span class="sig-name descname"><span class="pre">num_prevalence_combinations</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">n_prevpoints</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">n_classes</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">n_repeats</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">1</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/functional.html#num_prevalence_combinations"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.functional.num_prevalence_combinations" title="Link to this definition"></a></dt> +<span class="sig-prename descclassname"><span class="pre">quapy.functional.</span></span><span class="sig-name descname"><span class="pre">num_prevalence_combinations</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">n_prevpoints</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">n_classes</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">n_repeats</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">1</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/functional.html#num_prevalence_combinations"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.functional.num_prevalence_combinations" title="Permalink to this definition"></a></dt> <dd><p>Computes the number of valid prevalence combinations in the n_classes-dimensional simplex if <cite>n_prevpoints</cite> equally distant prevalence values are generated and <cite>n_repeats</cite> repetitions are requested. The computation comes down to calculating:</p> @@ -1569,7 +1682,7 @@ number of possible combinations are 5, i.e.: [0,1], [0.25,0.75], [0.50,0.50], [0 <dl class="py function"> <dt class="sig sig-object py" id="quapy.functional.optim_minimize"> -<span class="sig-prename descclassname"><span class="pre">quapy.functional.</span></span><span class="sig-name descname"><span class="pre">optim_minimize</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">loss</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">n_classes</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/functional.html#optim_minimize"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.functional.optim_minimize" title="Link to this definition"></a></dt> +<span class="sig-prename descclassname"><span class="pre">quapy.functional.</span></span><span class="sig-name descname"><span class="pre">optim_minimize</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">loss</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Callable</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">n_classes</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/functional.html#optim_minimize"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.functional.optim_minimize" title="Permalink to this definition"></a></dt> <dd><p>Searches for the optimal prevalence values, i.e., an <cite>n_classes</cite>-dimensional vector of the (<cite>n_classes</cite>-1)-simplex that yields the smallest lost. This optimization is carried out by means of a constrained search using scipy’s SLSQP routine.</p> @@ -1588,12 +1701,12 @@ SLSQP routine.</p> <dl class="py function"> <dt class="sig sig-object py" id="quapy.functional.prevalence_from_labels"> -<span class="sig-prename descclassname"><span class="pre">quapy.functional.</span></span><span class="sig-name descname"><span class="pre">prevalence_from_labels</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">labels</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">classes</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/functional.html#prevalence_from_labels"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.functional.prevalence_from_labels" title="Link to this definition"></a></dt> -<dd><p>Computed the prevalence values from a vector of labels.</p> +<span class="sig-prename descclassname"><span class="pre">quapy.functional.</span></span><span class="sig-name descname"><span class="pre">prevalence_from_labels</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">labels</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Union</span><span class="p"><span class="pre">[</span></span><span class="pre">_SupportsArray</span><span class="p"><span class="pre">[</span></span><span class="pre">dtype</span><span class="p"><span class="pre">]</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">_NestedSequence</span><span class="p"><span class="pre">[</span></span><span class="pre">_SupportsArray</span><span class="p"><span class="pre">[</span></span><span class="pre">dtype</span><span class="p"><span class="pre">]</span></span><span class="p"><span class="pre">]</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">bool</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">int</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">float</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">complex</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">str</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">bytes</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">_NestedSequence</span><span class="p"><span class="pre">[</span></span><span class="pre">Union</span><span class="p"><span class="pre">[</span></span><span class="pre">bool</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">int</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">float</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">complex</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">str</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">bytes</span><span class="p"><span class="pre">]</span></span><span class="p"><span class="pre">]</span></span><span class="p"><span class="pre">]</span></span></span></em>, <em class="sig-param"><span class="n"><span class="pre">classes</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Union</span><span class="p"><span class="pre">[</span></span><span class="pre">_SupportsArray</span><span class="p"><span class="pre">[</span></span><span class="pre">dtype</span><span class="p"><span class="pre">]</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">_NestedSequence</span><span class="p"><span class="pre">[</span></span><span class="pre">_SupportsArray</span><span class="p"><span class="pre">[</span></span><span class="pre">dtype</span><span class="p"><span class="pre">]</span></span><span class="p"><span class="pre">]</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">bool</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">int</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">float</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">complex</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">str</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">bytes</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">_NestedSequence</span><span class="p"><span class="pre">[</span></span><span class="pre">Union</span><span class="p"><span class="pre">[</span></span><span class="pre">bool</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">int</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">float</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">complex</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">str</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">bytes</span><span class="p"><span class="pre">]</span></span><span class="p"><span class="pre">]</span></span><span class="p"><span class="pre">]</span></span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/functional.html#prevalence_from_labels"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.functional.prevalence_from_labels" title="Permalink to this definition"></a></dt> +<dd><p>Computes the prevalence values from a vector of labels.</p> <dl class="field-list simple"> <dt class="field-odd">Parameters<span class="colon">:</span></dt> <dd class="field-odd"><ul class="simple"> -<li><p><strong>labels</strong> – array-like of shape <cite>(n_instances)</cite> with the label for each instance</p></li> +<li><p><strong>labels</strong> – array-like of shape <cite>(n_instances,)</cite> with the label for each instance</p></li> <li><p><strong>classes</strong> – the class labels. This is needed in order to correctly compute the prevalence vector even when some classes have no examples.</p></li> </ul> @@ -1606,7 +1719,7 @@ some classes have no examples.</p></li> <dl class="py function"> <dt class="sig sig-object py" id="quapy.functional.prevalence_from_probabilities"> -<span class="sig-prename descclassname"><span class="pre">quapy.functional.</span></span><span class="sig-name descname"><span class="pre">prevalence_from_probabilities</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">posteriors</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">binarize</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">bool</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/functional.html#prevalence_from_probabilities"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.functional.prevalence_from_probabilities" title="Link to this definition"></a></dt> +<span class="sig-prename descclassname"><span class="pre">quapy.functional.</span></span><span class="sig-name descname"><span class="pre">prevalence_from_probabilities</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">posteriors</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Union</span><span class="p"><span class="pre">[</span></span><span class="pre">_SupportsArray</span><span class="p"><span class="pre">[</span></span><span class="pre">dtype</span><span class="p"><span class="pre">]</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">_NestedSequence</span><span class="p"><span class="pre">[</span></span><span class="pre">_SupportsArray</span><span class="p"><span class="pre">[</span></span><span class="pre">dtype</span><span class="p"><span class="pre">]</span></span><span class="p"><span class="pre">]</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">bool</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">int</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">float</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">complex</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">str</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">bytes</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">_NestedSequence</span><span class="p"><span class="pre">[</span></span><span class="pre">Union</span><span class="p"><span class="pre">[</span></span><span class="pre">bool</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">int</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">float</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">complex</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">str</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">bytes</span><span class="p"><span class="pre">]</span></span><span class="p"><span class="pre">]</span></span><span class="p"><span class="pre">]</span></span></span></em>, <em class="sig-param"><span class="n"><span class="pre">binarize</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">bool</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/functional.html#prevalence_from_probabilities"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.functional.prevalence_from_probabilities" title="Permalink to this definition"></a></dt> <dd><p>Returns a vector of prevalence values from a matrix of posterior probabilities.</p> <dl class="field-list simple"> <dt class="field-odd">Parameters<span class="colon">:</span></dt> @@ -1624,7 +1737,7 @@ converting the vectors of posterior probabilities into class indices, by taking <dl class="py function"> <dt class="sig sig-object py" id="quapy.functional.prevalence_linspace"> -<span class="sig-prename descclassname"><span class="pre">quapy.functional.</span></span><span class="sig-name descname"><span class="pre">prevalence_linspace</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">n_prevalences</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">21</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">repeats</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">smooth_limits_epsilon</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.01</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/functional.html#prevalence_linspace"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.functional.prevalence_linspace" title="Link to this definition"></a></dt> +<span class="sig-prename descclassname"><span class="pre">quapy.functional.</span></span><span class="sig-name descname"><span class="pre">prevalence_linspace</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">grid_points</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">21</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">repeats</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">smooth_limits_epsilon</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">0.01</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/functional.html#prevalence_linspace"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.functional.prevalence_linspace" title="Permalink to this definition"></a></dt> <dd><p>Produces an array of uniformly separated values of prevalence. By default, produces an array of 21 prevalence values, with step 0.05 and with the limits smoothed, i.e.: @@ -1632,7 +1745,7 @@ step 0.05 and with the limits smoothed, i.e.: <dl class="field-list simple"> <dt class="field-odd">Parameters<span class="colon">:</span></dt> <dd class="field-odd"><ul class="simple"> -<li><p><strong>n_prevalences</strong> – the number of prevalence values to sample from the [0,1] interval (default 21)</p></li> +<li><p><strong>grid_points</strong> – the number of prevalence values to sample from the [0,1] interval (default 21)</p></li> <li><p><strong>repeats</strong> – number of times each prevalence is to be repeated (defaults to 1)</p></li> <li><p><strong>smooth_limits_epsilon</strong> – the quantity to add and subtract to the limits 0 and 1</p></li> </ul> @@ -1643,9 +1756,41 @@ step 0.05 and with the limits smoothed, i.e.: </dl> </dd></dl> +<dl class="py function"> +<dt class="sig sig-object py" id="quapy.functional.solve_adjustment"> +<span class="sig-prename descclassname"><span class="pre">quapy.functional.</span></span><span class="sig-name descname"><span class="pre">solve_adjustment</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">p_c_cond_y</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">ndarray</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">p_c</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">ndarray</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">method</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Literal</span><span class="p"><span class="pre">[</span></span><span class="s"><span class="pre">'inversion'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'invariant-ratio'</span></span><span class="p"><span class="pre">]</span></span></span></em>, <em class="sig-param"><span class="n"><span class="pre">solver</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Literal</span><span class="p"><span class="pre">[</span></span><span class="s"><span class="pre">'exact'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'minimize'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'exact-raise'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'exact-cc'</span></span><span class="p"><span class="pre">]</span></span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">ndarray</span></span></span><a class="reference internal" href="_modules/quapy/functional.html#solve_adjustment"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.functional.solve_adjustment" title="Permalink to this definition"></a></dt> +<dd><p>Function that tries to solve for the equation <span class="math notranslate nohighlight">\(P(C)=P(C|Y)P(Y)\)</span>, where <span class="math notranslate nohighlight">\(P(C)\)</span> is the vector of +prevalence values obtained by a classify and count, and <span class="math notranslate nohighlight">\(P(C|Y)\)</span> are the class-conditional misclassification +rates of the classifier.</p> +<dl class="field-list simple"> +<dt class="field-odd">Parameters<span class="colon">:</span></dt> +<dd class="field-odd"><ul class="simple"> +<li><p><strong>p_c_cond_y</strong> – array of shape <cite>(n_classes, n_classes,)</cite> with entry <cite>(c,y)</cite> being the estimate +of <span class="math notranslate nohighlight">\(P(C=c|Y=y)\)</span>, that is, the probability that an instance that belongs to class <span class="math notranslate nohighlight">\(y\)</span> +ends up being classified as belonging to class <span class="math notranslate nohighlight">\(c\)</span></p></li> +<li><p><strong>p_c</strong> – array of shape <cite>(n_classes,)</cite> containing the prevalence values as estimated by classify and count</p></li> +<li><p><strong>method</strong> (<em>str</em>) – <p>indicates the adjustment method to be used. Valid options are:</p> +<ul> +<li><p>’inversion’: tries to solve the equation <span class="math notranslate nohighlight">\(P(C)=P(C|Y)P(Y)\)</span> as <span class="math notranslate nohighlight">\(P(Y) = P(C|Y)^{-1} P(C)\)</span> where <span class="math notranslate nohighlight">\(P(C|Y)^{-1}\)</span> is the matrix inversion of <span class="math notranslate nohighlight">\(P(C|Y)\)</span>. This inversion may not exist in degenerated cases</p></li> +<li><p>’invariant-ratio’: invariant ratio estimator of <a class="reference external" href="https://jmlr.org/papers/v20/18-456.html">Vaz et al. 2018</a>, which replaces the last equation with the normalization condition.</p></li> +</ul> +</p></li> +<li><p><strong>solver</strong> (<em>str</em>) – <p>the method to use for solving the system of linear equations. Valid options are:</p> +<ul> +<li><p>’exact-raise’: tries to solve the system using matrix inversion. Raises an error if the matrix has rank strictly less than <cite>n_classes</cite>.</p></li> +<li><p>’exact-cc’: if the matrix is not of full rank, returns <cite>p_c</cite> as the estimates, which corresponds to no adjustment (i.e., the classify and count method. See <a class="reference internal" href="quapy.method.html#quapy.method.aggregative.CC" title="quapy.method.aggregative.CC"><code class="xref py py-class docutils literal notranslate"><span class="pre">quapy.method.aggregative.CC</span></code></a>)</p></li> +<li><p>’exact’: deprecated, defaults to ‘exact-cc’</p></li> +<li><p>’minimize’: minimizes a loss, so the solution always exists</p></li> +</ul> +</p></li> +</ul> +</dd> +</dl> +</dd></dl> + <dl class="py function"> <dt class="sig sig-object py" id="quapy.functional.strprev"> -<span class="sig-prename descclassname"><span class="pre">quapy.functional.</span></span><span class="sig-name descname"><span class="pre">strprev</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">prevalences</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">prec</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">3</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/functional.html#strprev"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.functional.strprev" title="Link to this definition"></a></dt> +<span class="sig-prename descclassname"><span class="pre">quapy.functional.</span></span><span class="sig-name descname"><span class="pre">strprev</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">prevalences</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Union</span><span class="p"><span class="pre">[</span></span><span class="pre">_SupportsArray</span><span class="p"><span class="pre">[</span></span><span class="pre">dtype</span><span class="p"><span class="pre">]</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">_NestedSequence</span><span class="p"><span class="pre">[</span></span><span class="pre">_SupportsArray</span><span class="p"><span class="pre">[</span></span><span class="pre">dtype</span><span class="p"><span class="pre">]</span></span><span class="p"><span class="pre">]</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">bool</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">int</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">float</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">complex</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">str</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">bytes</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">_NestedSequence</span><span class="p"><span class="pre">[</span></span><span class="pre">Union</span><span class="p"><span class="pre">[</span></span><span class="pre">bool</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">int</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">float</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">complex</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">str</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">bytes</span><span class="p"><span class="pre">]</span></span><span class="p"><span class="pre">]</span></span><span class="p"><span class="pre">]</span></span></span></em>, <em class="sig-param"><span class="n"><span class="pre">prec</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">3</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/functional.html#strprev"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.functional.strprev" title="Permalink to this definition"></a></dt> <dd><p>Returns a string representation for a prevalence vector. E.g.,</p> <div class="doctest highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">strprev</span><span class="p">([</span><span class="mi">1</span><span class="o">/</span><span class="mi">3</span><span class="p">,</span> <span class="mi">2</span><span class="o">/</span><span class="mi">3</span><span class="p">],</span> <span class="n">prec</span><span class="o">=</span><span class="mi">2</span><span class="p">)</span> <span class="gp">>>> </span><span class="s1">'[0.33, 0.67]'</span> @@ -1666,7 +1811,7 @@ step 0.05 and with the limits smoothed, i.e.: <dl class="py function"> <dt class="sig sig-object py" id="quapy.functional.uniform_prevalence_sampling"> -<span class="sig-prename descclassname"><span class="pre">quapy.functional.</span></span><span class="sig-name descname"><span class="pre">uniform_prevalence_sampling</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">n_classes</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">size</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">1</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/functional.html#uniform_prevalence_sampling"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.functional.uniform_prevalence_sampling" title="Link to this definition"></a></dt> +<span class="sig-prename descclassname"><span class="pre">quapy.functional.</span></span><span class="sig-name descname"><span class="pre">uniform_prevalence_sampling</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">n_classes</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">size</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">1</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/functional.html#uniform_prevalence_sampling"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.functional.uniform_prevalence_sampling" title="Permalink to this definition"></a></dt> <dd><p>Implements the <a class="reference external" href="http://www.cs.cmu.edu/~nasmith/papers/smith+tromble.tr04.pdf">Kraemer algorithm</a> for sampling uniformly at random from the unit simplex. This implementation is adapted from this <cite>post <https://cs.stackexchange.com/questions/3227/uniform-sampling-from-a-simplex>_</cite>.</p> @@ -1685,7 +1830,7 @@ for sampling uniformly at random from the unit simplex. This implementation is a <dl class="py function"> <dt class="sig sig-object py" id="quapy.functional.uniform_simplex_sampling"> -<span class="sig-prename descclassname"><span class="pre">quapy.functional.</span></span><span class="sig-name descname"><span class="pre">uniform_simplex_sampling</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">n_classes</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">size</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">1</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#quapy.functional.uniform_simplex_sampling" title="Link to this definition"></a></dt> +<span class="sig-prename descclassname"><span class="pre">quapy.functional.</span></span><span class="sig-name descname"><span class="pre">uniform_simplex_sampling</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">n_classes</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">size</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">1</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#quapy.functional.uniform_simplex_sampling" title="Permalink to this definition"></a></dt> <dd><p>Implements the <a class="reference external" href="http://www.cs.cmu.edu/~nasmith/papers/smith+tromble.tr04.pdf">Kraemer algorithm</a> for sampling uniformly at random from the unit simplex. This implementation is adapted from this <cite>post <https://cs.stackexchange.com/questions/3227/uniform-sampling-from-a-simplex>_</cite>.</p> @@ -1704,26 +1849,26 @@ for sampling uniformly at random from the unit simplex. This implementation is a </section> <section id="module-quapy.model_selection"> -<span id="quapy-model-selection-module"></span><h2>quapy.model_selection module<a class="headerlink" href="#module-quapy.model_selection" title="Link to this heading"></a></h2> +<span id="quapy-model-selection-module"></span><h2>quapy.model_selection module<a class="headerlink" href="#module-quapy.model_selection" title="Permalink to this heading"></a></h2> <dl class="py class"> <dt class="sig sig-object py" id="quapy.model_selection.ConfigStatus"> -<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">quapy.model_selection.</span></span><span class="sig-name descname"><span class="pre">ConfigStatus</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">params</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">status</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">msg</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">''</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/model_selection.html#ConfigStatus"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.model_selection.ConfigStatus" title="Link to this definition"></a></dt> +<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">quapy.model_selection.</span></span><span class="sig-name descname"><span class="pre">ConfigStatus</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">params</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">status</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">msg</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">''</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/model_selection.html#ConfigStatus"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.model_selection.ConfigStatus" title="Permalink to this definition"></a></dt> <dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">object</span></code></p> <dl class="py method"> <dt class="sig sig-object py" id="quapy.model_selection.ConfigStatus.failed"> -<span class="sig-name descname"><span class="pre">failed</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/model_selection.html#ConfigStatus.failed"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.model_selection.ConfigStatus.failed" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">failed</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/model_selection.html#ConfigStatus.failed"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.model_selection.ConfigStatus.failed" title="Permalink to this definition"></a></dt> <dd></dd></dl> <dl class="py method"> <dt class="sig sig-object py" id="quapy.model_selection.ConfigStatus.success"> -<span class="sig-name descname"><span class="pre">success</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/model_selection.html#ConfigStatus.success"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.model_selection.ConfigStatus.success" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">success</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/model_selection.html#ConfigStatus.success"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.model_selection.ConfigStatus.success" title="Permalink to this definition"></a></dt> <dd></dd></dl> </dd></dl> <dl class="py class"> <dt class="sig sig-object py" id="quapy.model_selection.GridSearchQ"> -<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">quapy.model_selection.</span></span><span class="sig-name descname"><span class="pre">GridSearchQ</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">model:</span> <span class="pre">~quapy.method.base.BaseQuantifier</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">param_grid:</span> <span class="pre">dict</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">protocol:</span> <span class="pre">~quapy.protocol.AbstractProtocol</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">error:</span> <span class="pre">~typing.Callable</span> <span class="pre">|</span> <span class="pre">str</span> <span class="pre">=</span> <span class="pre"><function</span> <span class="pre">mae></span></span></em>, <em class="sig-param"><span class="n"><span class="pre">refit=True</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">timeout=-1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">n_jobs=None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">raise_errors=False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">verbose=False</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/model_selection.html#GridSearchQ"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.model_selection.GridSearchQ" title="Link to this definition"></a></dt> +<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">quapy.model_selection.</span></span><span class="sig-name descname"><span class="pre">GridSearchQ</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">model:</span> <span class="pre">~quapy.method.base.BaseQuantifier</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">param_grid:</span> <span class="pre">dict</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">protocol:</span> <span class="pre">~quapy.protocol.AbstractProtocol</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">error:</span> <span class="pre">~typing.Union[~typing.Callable</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">str]</span> <span class="pre">=</span> <span class="pre"><function</span> <span class="pre">mae></span></span></em>, <em class="sig-param"><span class="n"><span class="pre">refit=True</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">timeout=-1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">n_jobs=None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">raise_errors=False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">verbose=False</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/model_selection.html#GridSearchQ"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.model_selection.GridSearchQ" title="Permalink to this definition"></a></dt> <dd><p>Bases: <a class="reference internal" href="quapy.method.html#quapy.method.base.BaseQuantifier" title="quapy.method.base.BaseQuantifier"><code class="xref py py-class docutils literal notranslate"><span class="pre">BaseQuantifier</span></code></a></p> <p>Grid Search optimization targeting a quantification-oriented metric.</p> <p>Optimizes the hyperparameters of a quantification method, based on an evaluation method and on an evaluation @@ -1750,7 +1895,7 @@ However, if no configuration yields a valid model, then a ValueError exception w </dl> <dl class="py method"> <dt class="sig sig-object py" id="quapy.model_selection.GridSearchQ.best_model"> -<span class="sig-name descname"><span class="pre">best_model</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/model_selection.html#GridSearchQ.best_model"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.model_selection.GridSearchQ.best_model" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">best_model</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/model_selection.html#GridSearchQ.best_model"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.model_selection.GridSearchQ.best_model" title="Permalink to this definition"></a></dt> <dd><p>Returns the best model found after calling the <a class="reference internal" href="#quapy.model_selection.GridSearchQ.fit" title="quapy.model_selection.GridSearchQ.fit"><code class="xref py py-meth docutils literal notranslate"><span class="pre">fit()</span></code></a> method, i.e., the one trained on the combination of hyper-parameters that minimized the error function.</p> <dl class="field-list simple"> @@ -1762,7 +1907,7 @@ of hyper-parameters that minimized the error function.</p> <dl class="py method"> <dt class="sig sig-object py" id="quapy.model_selection.GridSearchQ.fit"> -<span class="sig-name descname"><span class="pre">fit</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">training</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="quapy.data.html#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><span class="pre">LabelledCollection</span></a></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/model_selection.html#GridSearchQ.fit"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.model_selection.GridSearchQ.fit" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">fit</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">training</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="quapy.data.html#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><span class="pre">LabelledCollection</span></a></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/model_selection.html#GridSearchQ.fit"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.model_selection.GridSearchQ.fit" title="Permalink to this definition"></a></dt> <dd><dl class="simple"> <dt>Learning routine. Fits methods with all combinations of hyperparameters and selects the one minimizing</dt><dd><p>the error metric.</p> </dd> @@ -1779,7 +1924,7 @@ of hyper-parameters that minimized the error function.</p> <dl class="py method"> <dt class="sig sig-object py" id="quapy.model_selection.GridSearchQ.get_params"> -<span class="sig-name descname"><span class="pre">get_params</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">deep</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/model_selection.html#GridSearchQ.get_params"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.model_selection.GridSearchQ.get_params" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">get_params</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">deep</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/model_selection.html#GridSearchQ.get_params"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.model_selection.GridSearchQ.get_params" title="Permalink to this definition"></a></dt> <dd><p>Returns the dictionary of hyper-parameters to explore (<cite>param_grid</cite>)</p> <dl class="field-list simple"> <dt class="field-odd">Parameters<span class="colon">:</span></dt> @@ -1793,7 +1938,7 @@ of hyper-parameters that minimized the error function.</p> <dl class="py method"> <dt class="sig sig-object py" id="quapy.model_selection.GridSearchQ.quantify"> -<span class="sig-name descname"><span class="pre">quantify</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">instances</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/model_selection.html#GridSearchQ.quantify"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.model_selection.GridSearchQ.quantify" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">quantify</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">instances</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/model_selection.html#GridSearchQ.quantify"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.model_selection.GridSearchQ.quantify" title="Permalink to this definition"></a></dt> <dd><p>Estimate class prevalence values using the best model found after calling the <a class="reference internal" href="#quapy.model_selection.GridSearchQ.fit" title="quapy.model_selection.GridSearchQ.fit"><code class="xref py py-meth docutils literal notranslate"><span class="pre">fit()</span></code></a> method.</p> <dl class="field-list simple"> <dt class="field-odd">Parameters<span class="colon">:</span></dt> @@ -1808,7 +1953,7 @@ by the model selection process.</p> <dl class="py method"> <dt class="sig sig-object py" id="quapy.model_selection.GridSearchQ.set_params"> -<span class="sig-name descname"><span class="pre">set_params</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">parameters</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/model_selection.html#GridSearchQ.set_params"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.model_selection.GridSearchQ.set_params" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">set_params</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">parameters</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/model_selection.html#GridSearchQ.set_params"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.model_selection.GridSearchQ.set_params" title="Permalink to this definition"></a></dt> <dd><p>Sets the hyper-parameters to explore.</p> <dl class="field-list simple"> <dt class="field-odd">Parameters<span class="colon">:</span></dt> @@ -1821,34 +1966,34 @@ by the model selection process.</p> <dl class="py class"> <dt class="sig sig-object py" id="quapy.model_selection.Status"> -<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">quapy.model_selection.</span></span><span class="sig-name descname"><span class="pre">Status</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">value</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/model_selection.html#Status"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.model_selection.Status" title="Link to this definition"></a></dt> +<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">quapy.model_selection.</span></span><span class="sig-name descname"><span class="pre">Status</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">value</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/model_selection.html#Status"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.model_selection.Status" title="Permalink to this definition"></a></dt> <dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">Enum</span></code></p> <p>An enumeration.</p> <dl class="py attribute"> <dt class="sig sig-object py" id="quapy.model_selection.Status.ERROR"> -<span class="sig-name descname"><span class="pre">ERROR</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">4</span></em><a class="headerlink" href="#quapy.model_selection.Status.ERROR" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">ERROR</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">4</span></em><a class="headerlink" href="#quapy.model_selection.Status.ERROR" title="Permalink to this definition"></a></dt> <dd></dd></dl> <dl class="py attribute"> <dt class="sig sig-object py" id="quapy.model_selection.Status.INVALID"> -<span class="sig-name descname"><span class="pre">INVALID</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">3</span></em><a class="headerlink" href="#quapy.model_selection.Status.INVALID" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">INVALID</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">3</span></em><a class="headerlink" href="#quapy.model_selection.Status.INVALID" title="Permalink to this definition"></a></dt> <dd></dd></dl> <dl class="py attribute"> <dt class="sig sig-object py" id="quapy.model_selection.Status.SUCCESS"> -<span class="sig-name descname"><span class="pre">SUCCESS</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">1</span></em><a class="headerlink" href="#quapy.model_selection.Status.SUCCESS" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">SUCCESS</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">1</span></em><a class="headerlink" href="#quapy.model_selection.Status.SUCCESS" title="Permalink to this definition"></a></dt> <dd></dd></dl> <dl class="py attribute"> <dt class="sig sig-object py" id="quapy.model_selection.Status.TIMEOUT"> -<span class="sig-name descname"><span class="pre">TIMEOUT</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">2</span></em><a class="headerlink" href="#quapy.model_selection.Status.TIMEOUT" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">TIMEOUT</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">2</span></em><a class="headerlink" href="#quapy.model_selection.Status.TIMEOUT" title="Permalink to this definition"></a></dt> <dd></dd></dl> </dd></dl> <dl class="py function"> <dt class="sig sig-object py" id="quapy.model_selection.cross_val_predict"> -<span class="sig-prename descclassname"><span class="pre">quapy.model_selection.</span></span><span class="sig-name descname"><span class="pre">cross_val_predict</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">quantifier</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="quapy.method.html#quapy.method.base.BaseQuantifier" title="quapy.method.base.BaseQuantifier"><span class="pre">BaseQuantifier</span></a></span></em>, <em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="quapy.data.html#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><span class="pre">LabelledCollection</span></a></span></em>, <em class="sig-param"><span class="n"><span class="pre">nfolds</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">3</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">random_state</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/model_selection.html#cross_val_predict"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.model_selection.cross_val_predict" title="Link to this definition"></a></dt> +<span class="sig-prename descclassname"><span class="pre">quapy.model_selection.</span></span><span class="sig-name descname"><span class="pre">cross_val_predict</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">quantifier</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="quapy.method.html#quapy.method.base.BaseQuantifier" title="quapy.method.base.BaseQuantifier"><span class="pre">BaseQuantifier</span></a></span></em>, <em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="quapy.data.html#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><span class="pre">LabelledCollection</span></a></span></em>, <em class="sig-param"><span class="n"><span class="pre">nfolds</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">3</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">random_state</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/model_selection.html#cross_val_predict"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.model_selection.cross_val_predict" title="Permalink to this definition"></a></dt> <dd><p>Akin to <a class="reference external" href="https://scikit-learn.org/stable/modules/generated/sklearn.model_selection.cross_val_predict.html">scikit-learn’s cross_val_predict</a> but for quantification.</p> <dl class="field-list simple"> @@ -1868,7 +2013,7 @@ but for quantification.</p> <dl class="py function"> <dt class="sig sig-object py" id="quapy.model_selection.expand_grid"> -<span class="sig-prename descclassname"><span class="pre">quapy.model_selection.</span></span><span class="sig-name descname"><span class="pre">expand_grid</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">param_grid</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">dict</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/model_selection.html#expand_grid"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.model_selection.expand_grid" title="Link to this definition"></a></dt> +<span class="sig-prename descclassname"><span class="pre">quapy.model_selection.</span></span><span class="sig-name descname"><span class="pre">expand_grid</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">param_grid</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">dict</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/model_selection.html#expand_grid"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.model_selection.expand_grid" title="Permalink to this definition"></a></dt> <dd><p>Expands a param_grid dictionary as a list of configurations. Example:</p> <div class="doctest highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">combinations</span> <span class="o">=</span> <span class="n">expand_grid</span><span class="p">({</span><span class="s1">'A'</span><span class="p">:</span> <span class="p">[</span><span class="mi">1</span><span class="p">,</span> <span class="mi">10</span><span class="p">,</span> <span class="mi">100</span><span class="p">],</span> <span class="s1">'B'</span><span class="p">:</span> <span class="p">[</span><span class="kc">True</span><span class="p">,</span> <span class="kc">False</span><span class="p">]})</span> @@ -1889,7 +2034,7 @@ to explore for that hyper-parameter</p> <dl class="py function"> <dt class="sig sig-object py" id="quapy.model_selection.group_params"> -<span class="sig-prename descclassname"><span class="pre">quapy.model_selection.</span></span><span class="sig-name descname"><span class="pre">group_params</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">param_grid</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">dict</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/model_selection.html#group_params"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.model_selection.group_params" title="Link to this definition"></a></dt> +<span class="sig-prename descclassname"><span class="pre">quapy.model_selection.</span></span><span class="sig-name descname"><span class="pre">group_params</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">param_grid</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">dict</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/model_selection.html#group_params"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.model_selection.group_params" title="Permalink to this definition"></a></dt> <dd><p>Partitions a param_grid dictionary as two lists of configurations, one for the classifier-specific hyper-parameters, and another for que quantifier-specific hyper-parameters</p> <dl class="field-list simple"> @@ -1905,10 +2050,10 @@ to explore for that hyper-parameter</p> </section> <section id="module-quapy.plot"> -<span id="quapy-plot-module"></span><h2>quapy.plot module<a class="headerlink" href="#module-quapy.plot" title="Link to this heading"></a></h2> +<span id="quapy-plot-module"></span><h2>quapy.plot module<a class="headerlink" href="#module-quapy.plot" title="Permalink to this heading"></a></h2> <dl class="py function"> <dt class="sig sig-object py" id="quapy.plot.binary_bias_bins"> -<span class="sig-prename descclassname"><span class="pre">quapy.plot.</span></span><span class="sig-name descname"><span class="pre">binary_bias_bins</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">method_names</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">true_prevs</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">estim_prevs</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">pos_class=1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">title=None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">nbins=5</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">colormap=<matplotlib.colors.ListedColormap</span> <span class="pre">object></span></span></em>, <em class="sig-param"><span class="n"><span class="pre">vertical_xticks=False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">legend=True</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">savepath=None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/plot.html#binary_bias_bins"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.plot.binary_bias_bins" title="Link to this definition"></a></dt> +<span class="sig-prename descclassname"><span class="pre">quapy.plot.</span></span><span class="sig-name descname"><span class="pre">binary_bias_bins</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">method_names</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">true_prevs</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">estim_prevs</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">pos_class=1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">title=None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">nbins=5</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">colormap=<matplotlib.colors.ListedColormap</span> <span class="pre">object></span></span></em>, <em class="sig-param"><span class="n"><span class="pre">vertical_xticks=False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">legend=True</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">savepath=None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/plot.html#binary_bias_bins"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.plot.binary_bias_bins" title="Permalink to this definition"></a></dt> <dd><p>Box-plots displaying the local bias (i.e., signed error computed as the estimated value minus the true value) for different bins of (true) prevalence of the positive classs, for each quantification method.</p> <dl class="field-list simple"> @@ -1933,7 +2078,7 @@ for each experiment</p></li> <dl class="py function"> <dt class="sig sig-object py" id="quapy.plot.binary_bias_global"> -<span class="sig-prename descclassname"><span class="pre">quapy.plot.</span></span><span class="sig-name descname"><span class="pre">binary_bias_global</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">method_names</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">true_prevs</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">estim_prevs</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">pos_class</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">title</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">savepath</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/plot.html#binary_bias_global"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.plot.binary_bias_global" title="Link to this definition"></a></dt> +<span class="sig-prename descclassname"><span class="pre">quapy.plot.</span></span><span class="sig-name descname"><span class="pre">binary_bias_global</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">method_names</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">true_prevs</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">estim_prevs</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">pos_class</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">title</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">savepath</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/plot.html#binary_bias_global"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.plot.binary_bias_global" title="Permalink to this definition"></a></dt> <dd><p>Box-plots displaying the global bias (i.e., signed error computed as the estimated value minus the true value) for each quantification method with respect to a given positive class.</p> <dl class="field-list simple"> @@ -1954,7 +2099,7 @@ for each experiment</p></li> <dl class="py function"> <dt class="sig sig-object py" id="quapy.plot.binary_diagonal"> -<span class="sig-prename descclassname"><span class="pre">quapy.plot.</span></span><span class="sig-name descname"><span class="pre">binary_diagonal</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">method_names</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">true_prevs</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">estim_prevs</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">pos_class</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">title</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">show_std</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">legend</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">train_prev</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">savepath</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">method_order</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/plot.html#binary_diagonal"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.plot.binary_diagonal" title="Link to this definition"></a></dt> +<span class="sig-prename descclassname"><span class="pre">quapy.plot.</span></span><span class="sig-name descname"><span class="pre">binary_diagonal</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">method_names</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">true_prevs</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">estim_prevs</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">pos_class</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">title</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">show_std</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">legend</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">train_prev</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">savepath</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">method_order</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/plot.html#binary_diagonal"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.plot.binary_diagonal" title="Permalink to this definition"></a></dt> <dd><p>The diagonal plot displays the predicted prevalence values (along the y-axis) as a function of the true prevalence values (along the x-axis). The optimal quantifier is described by the diagonal (0,0)-(1,1) of the plot (hence the name). It is convenient for binary quantification problems, though it can be used for multiclass problems by @@ -1985,7 +2130,7 @@ listed in the legend and associated with matplotlib colors).</p></li> <dl class="py function"> <dt class="sig sig-object py" id="quapy.plot.brokenbar_supremacy_by_drift"> -<span class="sig-prename descclassname"><span class="pre">quapy.plot.</span></span><span class="sig-name descname"><span class="pre">brokenbar_supremacy_by_drift</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">method_names</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">true_prevs</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">estim_prevs</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">tr_prevs</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">n_bins</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">20</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">binning</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'isomerous'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">x_error</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'ae'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">y_error</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'ae'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">ttest_alpha</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.005</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">tail_density_threshold</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.005</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">method_order</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">savepath</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/plot.html#brokenbar_supremacy_by_drift"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.plot.brokenbar_supremacy_by_drift" title="Link to this definition"></a></dt> +<span class="sig-prename descclassname"><span class="pre">quapy.plot.</span></span><span class="sig-name descname"><span class="pre">brokenbar_supremacy_by_drift</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">method_names</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">true_prevs</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">estim_prevs</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">tr_prevs</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">n_bins</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">20</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">binning</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'isomerous'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">x_error</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'ae'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">y_error</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'ae'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">ttest_alpha</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.005</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">tail_density_threshold</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.005</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">method_order</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">savepath</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/plot.html#brokenbar_supremacy_by_drift"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.plot.brokenbar_supremacy_by_drift" title="Permalink to this definition"></a></dt> <dd><p>Displays (only) the top performing methods for different regions of the train-test shift in form of a broken bar chart, in which each method has bars only for those regions in which either one of the following conditions hold: (i) it is the best method (in average) for the bin, or (ii) it is not statistically significantly different @@ -2027,7 +2172,7 @@ listed in the legend and associated with matplotlib colors).</p></li> <dl class="py function"> <dt class="sig sig-object py" id="quapy.plot.error_by_drift"> -<span class="sig-prename descclassname"><span class="pre">quapy.plot.</span></span><span class="sig-name descname"><span class="pre">error_by_drift</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">method_names</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">true_prevs</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">estim_prevs</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">tr_prevs</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">n_bins</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">20</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">error_name</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'ae'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">show_std</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">show_density</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">show_legend</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">logscale</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">title</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'Quantification</span> <span class="pre">error</span> <span class="pre">as</span> <span class="pre">a</span> <span class="pre">function</span> <span class="pre">of</span> <span class="pre">distribution</span> <span class="pre">shift'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">vlines</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">method_order</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">savepath</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/plot.html#error_by_drift"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.plot.error_by_drift" title="Link to this definition"></a></dt> +<span class="sig-prename descclassname"><span class="pre">quapy.plot.</span></span><span class="sig-name descname"><span class="pre">error_by_drift</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">method_names</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">true_prevs</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">estim_prevs</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">tr_prevs</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">n_bins</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">20</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">error_name</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'ae'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">show_std</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">show_density</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">show_legend</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">logscale</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">title</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'Quantification</span> <span class="pre">error</span> <span class="pre">as</span> <span class="pre">a</span> <span class="pre">function</span> <span class="pre">of</span> <span class="pre">distribution</span> <span class="pre">shift'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">vlines</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">method_order</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">savepath</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/plot.html#error_by_drift"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.plot.error_by_drift" title="Permalink to this definition"></a></dt> <dd><p>Plots the error (along the x-axis, as measured in terms of <cite>error_name</cite>) as a function of the train-test shift (along the y-axis, as measured in terms of <a class="reference internal" href="#quapy.error.ae" title="quapy.error.ae"><code class="xref py py-meth docutils literal notranslate"><span class="pre">quapy.error.ae()</span></code></a>). This plot is useful especially for multiclass problems, in which “diagonal plots” may be cumbersone, and in order to gain understanding about how methods @@ -2061,10 +2206,10 @@ listed in the legend and associated with matplotlib colors).</p></li> </section> <section id="module-quapy.protocol"> -<span id="quapy-protocol-module"></span><h2>quapy.protocol module<a class="headerlink" href="#module-quapy.protocol" title="Link to this heading"></a></h2> +<span id="quapy-protocol-module"></span><h2>quapy.protocol module<a class="headerlink" href="#module-quapy.protocol" title="Permalink to this heading"></a></h2> <dl class="py class"> <dt class="sig sig-object py" id="quapy.protocol.APP"> -<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">quapy.protocol.</span></span><span class="sig-name descname"><span class="pre">APP</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="quapy.data.html#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><span class="pre">LabelledCollection</span></a></span></em>, <em class="sig-param"><span class="n"><span class="pre">sample_size</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">n_prevalences</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">21</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">repeats</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">10</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">smooth_limits_epsilon</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">random_state</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">sanity_check</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">10000</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">return_type</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'sample_prev'</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/protocol.html#APP"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.protocol.APP" title="Link to this definition"></a></dt> +<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">quapy.protocol.</span></span><span class="sig-name descname"><span class="pre">APP</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="quapy.data.html#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><span class="pre">LabelledCollection</span></a></span></em>, <em class="sig-param"><span class="n"><span class="pre">sample_size</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">n_prevalences</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">21</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">repeats</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">10</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">smooth_limits_epsilon</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">random_state</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">sanity_check</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">10000</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">return_type</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'sample_prev'</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/protocol.html#APP"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.protocol.APP" title="Permalink to this definition"></a></dt> <dd><p>Bases: <a class="reference internal" href="#quapy.protocol.AbstractStochasticSeededProtocol" title="quapy.protocol.AbstractStochasticSeededProtocol"><code class="xref py py-class docutils literal notranslate"><span class="pre">AbstractStochasticSeededProtocol</span></code></a>, <a class="reference internal" href="#quapy.protocol.OnLabelledCollectionProtocol" title="quapy.protocol.OnLabelledCollectionProtocol"><code class="xref py py-class docutils literal notranslate"><span class="pre">OnLabelledCollectionProtocol</span></code></a></p> <p>Implementation of the artificial prevalence protocol (APP). The APP consists of exploring a grid of prevalence values containing <cite>n_prevalences</cite> points (e.g., @@ -2093,7 +2238,7 @@ to “labelled_collection” to get instead instances of LabelledCollection</p>< </dl> <dl class="py method"> <dt class="sig sig-object py" id="quapy.protocol.APP.prevalence_grid"> -<span class="sig-name descname"><span class="pre">prevalence_grid</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/protocol.html#APP.prevalence_grid"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.protocol.APP.prevalence_grid" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">prevalence_grid</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/protocol.html#APP.prevalence_grid"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.protocol.APP.prevalence_grid" title="Permalink to this definition"></a></dt> <dd><p>Generates vectors of prevalence values from an exhaustive grid of prevalence values. The number of prevalence values explored for each dimension depends on <cite>n_prevalences</cite>, so that, if, for example, <cite>n_prevalences=11</cite> then the prevalence values of the grid are taken from [0, 0.1, 0.2, …, 0.9, 1]. Only @@ -2113,7 +2258,7 @@ in the grid multiplied by <cite>repeat</cite></p> <dl class="py method"> <dt class="sig sig-object py" id="quapy.protocol.APP.sample"> -<span class="sig-name descname"><span class="pre">sample</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">index</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/protocol.html#APP.sample"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.protocol.APP.sample" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">sample</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">index</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/protocol.html#APP.sample"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.protocol.APP.sample" title="Permalink to this definition"></a></dt> <dd><p>Realizes the sample given the index of the instances.</p> <dl class="field-list simple"> <dt class="field-odd">Parameters<span class="colon">:</span></dt> @@ -2127,7 +2272,7 @@ in the grid multiplied by <cite>repeat</cite></p> <dl class="py method"> <dt class="sig sig-object py" id="quapy.protocol.APP.samples_parameters"> -<span class="sig-name descname"><span class="pre">samples_parameters</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/protocol.html#APP.samples_parameters"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.protocol.APP.samples_parameters" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">samples_parameters</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/protocol.html#APP.samples_parameters"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.protocol.APP.samples_parameters" title="Permalink to this definition"></a></dt> <dd><p>Return all the necessary parameters to replicate the samples as according to the APP protocol.</p> <dl class="field-list simple"> <dt class="field-odd">Returns<span class="colon">:</span></dt> @@ -2138,7 +2283,7 @@ in the grid multiplied by <cite>repeat</cite></p> <dl class="py method"> <dt class="sig sig-object py" id="quapy.protocol.APP.total"> -<span class="sig-name descname"><span class="pre">total</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/protocol.html#APP.total"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.protocol.APP.total" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">total</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/protocol.html#APP.total"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.protocol.APP.total" title="Permalink to this definition"></a></dt> <dd><p>Returns the number of samples that will be generated</p> <dl class="field-list simple"> <dt class="field-odd">Returns<span class="colon">:</span></dt> @@ -2151,12 +2296,12 @@ in the grid multiplied by <cite>repeat</cite></p> <dl class="py class"> <dt class="sig sig-object py" id="quapy.protocol.AbstractProtocol"> -<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">quapy.protocol.</span></span><span class="sig-name descname"><span class="pre">AbstractProtocol</span></span><a class="reference internal" href="_modules/quapy/protocol.html#AbstractProtocol"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.protocol.AbstractProtocol" title="Link to this definition"></a></dt> +<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">quapy.protocol.</span></span><span class="sig-name descname"><span class="pre">AbstractProtocol</span></span><a class="reference internal" href="_modules/quapy/protocol.html#AbstractProtocol"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.protocol.AbstractProtocol" title="Permalink to this definition"></a></dt> <dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">object</span></code></p> <p>Abstract parent class for sample generation protocols.</p> <dl class="py method"> <dt class="sig sig-object py" id="quapy.protocol.AbstractProtocol.total"> -<span class="sig-name descname"><span class="pre">total</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/protocol.html#AbstractProtocol.total"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.protocol.AbstractProtocol.total" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">total</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/protocol.html#AbstractProtocol.total"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.protocol.AbstractProtocol.total" title="Permalink to this definition"></a></dt> <dd><p>Indicates the total number of samples that the protocol generates.</p> <dl class="field-list simple"> <dt class="field-odd">Returns<span class="colon">:</span></dt> @@ -2169,7 +2314,7 @@ in the grid multiplied by <cite>repeat</cite></p> <dl class="py class"> <dt class="sig sig-object py" id="quapy.protocol.AbstractStochasticSeededProtocol"> -<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">quapy.protocol.</span></span><span class="sig-name descname"><span class="pre">AbstractStochasticSeededProtocol</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">random_state</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/protocol.html#AbstractStochasticSeededProtocol"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.protocol.AbstractStochasticSeededProtocol" title="Link to this definition"></a></dt> +<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">quapy.protocol.</span></span><span class="sig-name descname"><span class="pre">AbstractStochasticSeededProtocol</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">random_state</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/protocol.html#AbstractStochasticSeededProtocol"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.protocol.AbstractStochasticSeededProtocol" title="Permalink to this definition"></a></dt> <dd><p>Bases: <a class="reference internal" href="#quapy.protocol.AbstractProtocol" title="quapy.protocol.AbstractProtocol"><code class="xref py py-class docutils literal notranslate"><span class="pre">AbstractProtocol</span></code></a></p> <p>An <cite>AbstractStochasticSeededProtocol</cite> is a protocol that generates, via any random procedure (e.g., via random sampling), sequences of <a class="reference internal" href="quapy.data.html#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><code class="xref py py-class docutils literal notranslate"><span class="pre">quapy.data.base.LabelledCollection</span></code></a> samples. @@ -2187,7 +2332,7 @@ the sequence will be consistent every time the protocol is called.</p> </dl> <dl class="py method"> <dt class="sig sig-object py" id="quapy.protocol.AbstractStochasticSeededProtocol.collator"> -<span class="sig-name descname"><span class="pre">collator</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">sample</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/protocol.html#AbstractStochasticSeededProtocol.collator"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.protocol.AbstractStochasticSeededProtocol.collator" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">collator</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">sample</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/protocol.html#AbstractStochasticSeededProtocol.collator"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.protocol.AbstractStochasticSeededProtocol.collator" title="Permalink to this definition"></a></dt> <dd><p>The collator prepares the sample to accommodate the desired output format before returning the output. This collator simply returns the sample as it is. Classes inheriting from this abstract class can implement their custom collators.</p> @@ -2206,12 +2351,12 @@ implement their custom collators.</p> <dl class="py property"> <dt class="sig sig-object py" id="quapy.protocol.AbstractStochasticSeededProtocol.random_state"> -<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">random_state</span></span><a class="headerlink" href="#quapy.protocol.AbstractStochasticSeededProtocol.random_state" title="Link to this definition"></a></dt> +<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">random_state</span></span><a class="headerlink" href="#quapy.protocol.AbstractStochasticSeededProtocol.random_state" title="Permalink to this definition"></a></dt> <dd></dd></dl> <dl class="py method"> <dt class="sig sig-object py" id="quapy.protocol.AbstractStochasticSeededProtocol.sample"> -<em class="property"><span class="pre">abstract</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">sample</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">params</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/protocol.html#AbstractStochasticSeededProtocol.sample"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.protocol.AbstractStochasticSeededProtocol.sample" title="Link to this definition"></a></dt> +<em class="property"><span class="pre">abstract</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">sample</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">params</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/protocol.html#AbstractStochasticSeededProtocol.sample"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.protocol.AbstractStochasticSeededProtocol.sample" title="Permalink to this definition"></a></dt> <dd><p>Extract one sample determined by the given parameters</p> <dl class="field-list simple"> <dt class="field-odd">Parameters<span class="colon">:</span></dt> @@ -2225,7 +2370,7 @@ implement their custom collators.</p> <dl class="py method"> <dt class="sig sig-object py" id="quapy.protocol.AbstractStochasticSeededProtocol.samples_parameters"> -<em class="property"><span class="pre">abstract</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">samples_parameters</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/protocol.html#AbstractStochasticSeededProtocol.samples_parameters"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.protocol.AbstractStochasticSeededProtocol.samples_parameters" title="Link to this definition"></a></dt> +<em class="property"><span class="pre">abstract</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">samples_parameters</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/protocol.html#AbstractStochasticSeededProtocol.samples_parameters"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.protocol.AbstractStochasticSeededProtocol.samples_parameters" title="Permalink to this definition"></a></dt> <dd><p>This function has to return all the necessary parameters to replicate the samples</p> <dl class="field-list simple"> <dt class="field-odd">Returns<span class="colon">:</span></dt> @@ -2238,13 +2383,13 @@ implement their custom collators.</p> <dl class="py attribute"> <dt class="sig sig-object py" id="quapy.protocol.ArtificialPrevalenceProtocol"> -<span class="sig-prename descclassname"><span class="pre">quapy.protocol.</span></span><span class="sig-name descname"><span class="pre">ArtificialPrevalenceProtocol</span></span><a class="headerlink" href="#quapy.protocol.ArtificialPrevalenceProtocol" title="Link to this definition"></a></dt> +<span class="sig-prename descclassname"><span class="pre">quapy.protocol.</span></span><span class="sig-name descname"><span class="pre">ArtificialPrevalenceProtocol</span></span><a class="headerlink" href="#quapy.protocol.ArtificialPrevalenceProtocol" title="Permalink to this definition"></a></dt> <dd><p>alias of <a class="reference internal" href="#quapy.protocol.APP" title="quapy.protocol.APP"><code class="xref py py-class docutils literal notranslate"><span class="pre">APP</span></code></a></p> </dd></dl> <dl class="py class"> <dt class="sig sig-object py" id="quapy.protocol.DomainMixer"> -<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">quapy.protocol.</span></span><span class="sig-name descname"><span class="pre">DomainMixer</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">domainA</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="quapy.data.html#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><span class="pre">LabelledCollection</span></a></span></em>, <em class="sig-param"><span class="n"><span class="pre">domainB</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="quapy.data.html#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><span class="pre">LabelledCollection</span></a></span></em>, <em class="sig-param"><span class="n"><span class="pre">sample_size</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">repeats</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">prevalence</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">mixture_points</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">11</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">random_state</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">return_type</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'sample_prev'</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/protocol.html#DomainMixer"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.protocol.DomainMixer" title="Link to this definition"></a></dt> +<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">quapy.protocol.</span></span><span class="sig-name descname"><span class="pre">DomainMixer</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">domainA</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="quapy.data.html#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><span class="pre">LabelledCollection</span></a></span></em>, <em class="sig-param"><span class="n"><span class="pre">domainB</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="quapy.data.html#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><span class="pre">LabelledCollection</span></a></span></em>, <em class="sig-param"><span class="n"><span class="pre">sample_size</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">repeats</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">prevalence</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">mixture_points</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">11</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">random_state</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">return_type</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'sample_prev'</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/protocol.html#DomainMixer"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.protocol.DomainMixer" title="Permalink to this definition"></a></dt> <dd><p>Bases: <a class="reference internal" href="#quapy.protocol.AbstractStochasticSeededProtocol" title="quapy.protocol.AbstractStochasticSeededProtocol"><code class="xref py py-class docutils literal notranslate"><span class="pre">AbstractStochasticSeededProtocol</span></code></a></p> <p>Generates mixtures of two domains (A and B) at controlled rates, but preserving the original class prevalence.</p> <dl class="field-list simple"> @@ -2268,7 +2413,7 @@ will be the same every time the protocol is called)</p></li> </dl> <dl class="py method"> <dt class="sig sig-object py" id="quapy.protocol.DomainMixer.sample"> -<span class="sig-name descname"><span class="pre">sample</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">indexes</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/protocol.html#DomainMixer.sample"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.protocol.DomainMixer.sample" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">sample</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">indexes</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/protocol.html#DomainMixer.sample"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.protocol.DomainMixer.sample" title="Permalink to this definition"></a></dt> <dd><p>Realizes the sample given a pair of indexes of the instances from A and B.</p> <dl class="field-list simple"> <dt class="field-odd">Parameters<span class="colon">:</span></dt> @@ -2282,7 +2427,7 @@ will be the same every time the protocol is called)</p></li> <dl class="py method"> <dt class="sig sig-object py" id="quapy.protocol.DomainMixer.samples_parameters"> -<span class="sig-name descname"><span class="pre">samples_parameters</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/protocol.html#DomainMixer.samples_parameters"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.protocol.DomainMixer.samples_parameters" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">samples_parameters</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/protocol.html#DomainMixer.samples_parameters"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.protocol.DomainMixer.samples_parameters" title="Permalink to this definition"></a></dt> <dd><p>Return all the necessary parameters to replicate the samples as according to the this protocol.</p> <dl class="field-list simple"> <dt class="field-odd">Returns<span class="colon">:</span></dt> @@ -2293,7 +2438,7 @@ will be the same every time the protocol is called)</p></li> <dl class="py method"> <dt class="sig sig-object py" id="quapy.protocol.DomainMixer.total"> -<span class="sig-name descname"><span class="pre">total</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/protocol.html#DomainMixer.total"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.protocol.DomainMixer.total" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">total</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/protocol.html#DomainMixer.total"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.protocol.DomainMixer.total" title="Permalink to this definition"></a></dt> <dd><p>Returns the number of samples that will be generated (equals to “repeats * mixture_points”)</p> <dl class="field-list simple"> <dt class="field-odd">Returns<span class="colon">:</span></dt> @@ -2306,7 +2451,7 @@ will be the same every time the protocol is called)</p></li> <dl class="py class"> <dt class="sig sig-object py" id="quapy.protocol.IterateProtocol"> -<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">quapy.protocol.</span></span><span class="sig-name descname"><span class="pre">IterateProtocol</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="pre">samples:</span> <span class="pre">[<class</span> <span class="pre">'quapy.data.base.LabelledCollection'>]</span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/protocol.html#IterateProtocol"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.protocol.IterateProtocol" title="Link to this definition"></a></dt> +<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">quapy.protocol.</span></span><span class="sig-name descname"><span class="pre">IterateProtocol</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="pre">samples:</span> <span class="pre">[<class</span> <span class="pre">'quapy.data.base.LabelledCollection'>]</span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/protocol.html#IterateProtocol"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.protocol.IterateProtocol" title="Permalink to this definition"></a></dt> <dd><p>Bases: <a class="reference internal" href="#quapy.protocol.AbstractProtocol" title="quapy.protocol.AbstractProtocol"><code class="xref py py-class docutils literal notranslate"><span class="pre">AbstractProtocol</span></code></a></p> <p>A very simple protocol which simply iterates over a list of previously generated samples</p> <dl class="field-list simple"> @@ -2316,7 +2461,7 @@ will be the same every time the protocol is called)</p></li> </dl> <dl class="py method"> <dt class="sig sig-object py" id="quapy.protocol.IterateProtocol.total"> -<span class="sig-name descname"><span class="pre">total</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/protocol.html#IterateProtocol.total"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.protocol.IterateProtocol.total" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">total</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/protocol.html#IterateProtocol.total"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.protocol.IterateProtocol.total" title="Permalink to this definition"></a></dt> <dd><p>Returns the number of samples in this protocol</p> <dl class="field-list simple"> <dt class="field-odd">Returns<span class="colon">:</span></dt> @@ -2329,7 +2474,7 @@ will be the same every time the protocol is called)</p></li> <dl class="py class"> <dt class="sig sig-object py" id="quapy.protocol.NPP"> -<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">quapy.protocol.</span></span><span class="sig-name descname"><span class="pre">NPP</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="quapy.data.html#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><span class="pre">LabelledCollection</span></a></span></em>, <em class="sig-param"><span class="n"><span class="pre">sample_size</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">repeats</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">100</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">random_state</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">return_type</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'sample_prev'</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/protocol.html#NPP"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.protocol.NPP" title="Link to this definition"></a></dt> +<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">quapy.protocol.</span></span><span class="sig-name descname"><span class="pre">NPP</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="quapy.data.html#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><span class="pre">LabelledCollection</span></a></span></em>, <em class="sig-param"><span class="n"><span class="pre">sample_size</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">repeats</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">100</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">random_state</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">return_type</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'sample_prev'</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/protocol.html#NPP"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.protocol.NPP" title="Permalink to this definition"></a></dt> <dd><p>Bases: <a class="reference internal" href="#quapy.protocol.AbstractStochasticSeededProtocol" title="quapy.protocol.AbstractStochasticSeededProtocol"><code class="xref py py-class docutils literal notranslate"><span class="pre">AbstractStochasticSeededProtocol</span></code></a>, <a class="reference internal" href="#quapy.protocol.OnLabelledCollectionProtocol" title="quapy.protocol.OnLabelledCollectionProtocol"><code class="xref py py-class docutils literal notranslate"><span class="pre">OnLabelledCollectionProtocol</span></code></a></p> <p>A generator of samples that implements the natural prevalence protocol (NPP). The NPP consists of drawing samples uniformly at random, therefore approximately preserving the natural prevalence of the collection.</p> @@ -2349,7 +2494,7 @@ to “labelled_collection” to get instead instances of LabelledCollection</p>< </dl> <dl class="py method"> <dt class="sig sig-object py" id="quapy.protocol.NPP.sample"> -<span class="sig-name descname"><span class="pre">sample</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">index</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/protocol.html#NPP.sample"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.protocol.NPP.sample" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">sample</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">index</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/protocol.html#NPP.sample"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.protocol.NPP.sample" title="Permalink to this definition"></a></dt> <dd><p>Realizes the sample given the index of the instances.</p> <dl class="field-list simple"> <dt class="field-odd">Parameters<span class="colon">:</span></dt> @@ -2363,7 +2508,7 @@ to “labelled_collection” to get instead instances of LabelledCollection</p>< <dl class="py method"> <dt class="sig sig-object py" id="quapy.protocol.NPP.samples_parameters"> -<span class="sig-name descname"><span class="pre">samples_parameters</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/protocol.html#NPP.samples_parameters"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.protocol.NPP.samples_parameters" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">samples_parameters</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/protocol.html#NPP.samples_parameters"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.protocol.NPP.samples_parameters" title="Permalink to this definition"></a></dt> <dd><p>Return all the necessary parameters to replicate the samples as according to the NPP protocol.</p> <dl class="field-list simple"> <dt class="field-odd">Returns<span class="colon">:</span></dt> @@ -2374,7 +2519,7 @@ to “labelled_collection” to get instead instances of LabelledCollection</p>< <dl class="py method"> <dt class="sig sig-object py" id="quapy.protocol.NPP.total"> -<span class="sig-name descname"><span class="pre">total</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/protocol.html#NPP.total"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.protocol.NPP.total" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">total</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/protocol.html#NPP.total"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.protocol.NPP.total" title="Permalink to this definition"></a></dt> <dd><p>Returns the number of samples that will be generated (equals to “repeats”)</p> <dl class="field-list simple"> <dt class="field-odd">Returns<span class="colon">:</span></dt> @@ -2387,23 +2532,23 @@ to “labelled_collection” to get instead instances of LabelledCollection</p>< <dl class="py attribute"> <dt class="sig sig-object py" id="quapy.protocol.NaturalPrevalenceProtocol"> -<span class="sig-prename descclassname"><span class="pre">quapy.protocol.</span></span><span class="sig-name descname"><span class="pre">NaturalPrevalenceProtocol</span></span><a class="headerlink" href="#quapy.protocol.NaturalPrevalenceProtocol" title="Link to this definition"></a></dt> +<span class="sig-prename descclassname"><span class="pre">quapy.protocol.</span></span><span class="sig-name descname"><span class="pre">NaturalPrevalenceProtocol</span></span><a class="headerlink" href="#quapy.protocol.NaturalPrevalenceProtocol" title="Permalink to this definition"></a></dt> <dd><p>alias of <a class="reference internal" href="#quapy.protocol.NPP" title="quapy.protocol.NPP"><code class="xref py py-class docutils literal notranslate"><span class="pre">NPP</span></code></a></p> </dd></dl> <dl class="py class"> <dt class="sig sig-object py" id="quapy.protocol.OnLabelledCollectionProtocol"> -<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">quapy.protocol.</span></span><span class="sig-name descname"><span class="pre">OnLabelledCollectionProtocol</span></span><a class="reference internal" href="_modules/quapy/protocol.html#OnLabelledCollectionProtocol"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.protocol.OnLabelledCollectionProtocol" title="Link to this definition"></a></dt> +<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">quapy.protocol.</span></span><span class="sig-name descname"><span class="pre">OnLabelledCollectionProtocol</span></span><a class="reference internal" href="_modules/quapy/protocol.html#OnLabelledCollectionProtocol"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.protocol.OnLabelledCollectionProtocol" title="Permalink to this definition"></a></dt> <dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">object</span></code></p> <p>Protocols that generate samples from a <code class="xref py py-class docutils literal notranslate"><span class="pre">qp.data.LabelledCollection</span></code> object.</p> <dl class="py attribute"> <dt class="sig sig-object py" id="quapy.protocol.OnLabelledCollectionProtocol.RETURN_TYPES"> -<span class="sig-name descname"><span class="pre">RETURN_TYPES</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">['sample_prev',</span> <span class="pre">'labelled_collection',</span> <span class="pre">'index']</span></em><a class="headerlink" href="#quapy.protocol.OnLabelledCollectionProtocol.RETURN_TYPES" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">RETURN_TYPES</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">['sample_prev',</span> <span class="pre">'labelled_collection',</span> <span class="pre">'index']</span></em><a class="headerlink" href="#quapy.protocol.OnLabelledCollectionProtocol.RETURN_TYPES" title="Permalink to this definition"></a></dt> <dd></dd></dl> <dl class="py method"> <dt class="sig sig-object py" id="quapy.protocol.OnLabelledCollectionProtocol.get_collator"> -<em class="property"><span class="pre">classmethod</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">get_collator</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">return_type</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'sample_prev'</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/protocol.html#OnLabelledCollectionProtocol.get_collator"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.protocol.OnLabelledCollectionProtocol.get_collator" title="Link to this definition"></a></dt> +<em class="property"><span class="pre">classmethod</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">get_collator</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">return_type</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'sample_prev'</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/protocol.html#OnLabelledCollectionProtocol.get_collator"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.protocol.OnLabelledCollectionProtocol.get_collator" title="Permalink to this definition"></a></dt> <dd><p>Returns a collator function, i.e., a function that prepares the yielded data</p> <dl class="field-list simple"> <dt class="field-odd">Parameters<span class="colon">:</span></dt> @@ -2420,7 +2565,7 @@ to “labelled_collection” to get instead instances of LabelledCollection</p>< <dl class="py method"> <dt class="sig sig-object py" id="quapy.protocol.OnLabelledCollectionProtocol.get_labelled_collection"> -<span class="sig-name descname"><span class="pre">get_labelled_collection</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/protocol.html#OnLabelledCollectionProtocol.get_labelled_collection"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.protocol.OnLabelledCollectionProtocol.get_labelled_collection" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">get_labelled_collection</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/protocol.html#OnLabelledCollectionProtocol.get_labelled_collection"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.protocol.OnLabelledCollectionProtocol.get_labelled_collection" title="Permalink to this definition"></a></dt> <dd><p>Returns the labelled collection on which this protocol acts.</p> <dl class="field-list simple"> <dt class="field-odd">Returns<span class="colon">:</span></dt> @@ -2431,7 +2576,7 @@ to “labelled_collection” to get instead instances of LabelledCollection</p>< <dl class="py method"> <dt class="sig sig-object py" id="quapy.protocol.OnLabelledCollectionProtocol.on_preclassified_instances"> -<span class="sig-name descname"><span class="pre">on_preclassified_instances</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">pre_classifications</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">in_place</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/protocol.html#OnLabelledCollectionProtocol.on_preclassified_instances"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.protocol.OnLabelledCollectionProtocol.on_preclassified_instances" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">on_preclassified_instances</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">pre_classifications</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">in_place</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/protocol.html#OnLabelledCollectionProtocol.on_preclassified_instances"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.protocol.OnLabelledCollectionProtocol.on_preclassified_instances" title="Permalink to this definition"></a></dt> <dd><p>Returns a copy of this protocol that acts on a modified version of the original <code class="xref py py-class docutils literal notranslate"><span class="pre">qp.data.LabelledCollection</span></code> in which the original instances have been replaced with the outputs of a classifier for each instance. (This is convenient for speeding-up @@ -2455,7 +2600,7 @@ with shape <cite>(n_instances,)</cite> when the classifier is a hard one, or wit <dl class="py class"> <dt class="sig sig-object py" id="quapy.protocol.UPP"> -<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">quapy.protocol.</span></span><span class="sig-name descname"><span class="pre">UPP</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="quapy.data.html#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><span class="pre">LabelledCollection</span></a></span></em>, <em class="sig-param"><span class="n"><span class="pre">sample_size</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">repeats</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">100</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">random_state</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">return_type</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'sample_prev'</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/protocol.html#UPP"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.protocol.UPP" title="Link to this definition"></a></dt> +<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">quapy.protocol.</span></span><span class="sig-name descname"><span class="pre">UPP</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="quapy.data.html#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><span class="pre">LabelledCollection</span></a></span></em>, <em class="sig-param"><span class="n"><span class="pre">sample_size</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">repeats</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">100</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">random_state</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">return_type</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'sample_prev'</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/protocol.html#UPP"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.protocol.UPP" title="Permalink to this definition"></a></dt> <dd><p>Bases: <a class="reference internal" href="#quapy.protocol.AbstractStochasticSeededProtocol" title="quapy.protocol.AbstractStochasticSeededProtocol"><code class="xref py py-class docutils literal notranslate"><span class="pre">AbstractStochasticSeededProtocol</span></code></a>, <a class="reference internal" href="#quapy.protocol.OnLabelledCollectionProtocol" title="quapy.protocol.OnLabelledCollectionProtocol"><code class="xref py py-class docutils literal notranslate"><span class="pre">OnLabelledCollectionProtocol</span></code></a></p> <p>A variant of <a class="reference internal" href="#quapy.protocol.APP" title="quapy.protocol.APP"><code class="xref py py-class docutils literal notranslate"><span class="pre">APP</span></code></a> that, instead of using a grid of equidistant prevalence values, relies on the Kraemer algorithm for sampling unit (k-1)-simplex uniformly at random, with @@ -2479,7 +2624,7 @@ to “labelled_collection” to get instead instances of LabelledCollection</p>< </dl> <dl class="py method"> <dt class="sig sig-object py" id="quapy.protocol.UPP.sample"> -<span class="sig-name descname"><span class="pre">sample</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">index</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/protocol.html#UPP.sample"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.protocol.UPP.sample" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">sample</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">index</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/protocol.html#UPP.sample"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.protocol.UPP.sample" title="Permalink to this definition"></a></dt> <dd><p>Realizes the sample given the index of the instances.</p> <dl class="field-list simple"> <dt class="field-odd">Parameters<span class="colon">:</span></dt> @@ -2493,7 +2638,7 @@ to “labelled_collection” to get instead instances of LabelledCollection</p>< <dl class="py method"> <dt class="sig sig-object py" id="quapy.protocol.UPP.samples_parameters"> -<span class="sig-name descname"><span class="pre">samples_parameters</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/protocol.html#UPP.samples_parameters"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.protocol.UPP.samples_parameters" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">samples_parameters</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/protocol.html#UPP.samples_parameters"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.protocol.UPP.samples_parameters" title="Permalink to this definition"></a></dt> <dd><p>Return all the necessary parameters to replicate the samples as according to the UPP protocol.</p> <dl class="field-list simple"> <dt class="field-odd">Returns<span class="colon">:</span></dt> @@ -2504,7 +2649,7 @@ to “labelled_collection” to get instead instances of LabelledCollection</p>< <dl class="py method"> <dt class="sig sig-object py" id="quapy.protocol.UPP.total"> -<span class="sig-name descname"><span class="pre">total</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/protocol.html#UPP.total"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.protocol.UPP.total" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">total</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/protocol.html#UPP.total"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.protocol.UPP.total" title="Permalink to this definition"></a></dt> <dd><p>Returns the number of samples that will be generated (equals to “repeats”)</p> <dl class="field-list simple"> <dt class="field-odd">Returns<span class="colon">:</span></dt> @@ -2517,16 +2662,16 @@ to “labelled_collection” to get instead instances of LabelledCollection</p>< <dl class="py attribute"> <dt class="sig sig-object py" id="quapy.protocol.UniformPrevalenceProtocol"> -<span class="sig-prename descclassname"><span class="pre">quapy.protocol.</span></span><span class="sig-name descname"><span class="pre">UniformPrevalenceProtocol</span></span><a class="headerlink" href="#quapy.protocol.UniformPrevalenceProtocol" title="Link to this definition"></a></dt> +<span class="sig-prename descclassname"><span class="pre">quapy.protocol.</span></span><span class="sig-name descname"><span class="pre">UniformPrevalenceProtocol</span></span><a class="headerlink" href="#quapy.protocol.UniformPrevalenceProtocol" title="Permalink to this definition"></a></dt> <dd><p>alias of <a class="reference internal" href="#quapy.protocol.UPP" title="quapy.protocol.UPP"><code class="xref py py-class docutils literal notranslate"><span class="pre">UPP</span></code></a></p> </dd></dl> </section> <section id="module-quapy.util"> -<span id="quapy-util-module"></span><h2>quapy.util module<a class="headerlink" href="#module-quapy.util" title="Link to this heading"></a></h2> +<span id="quapy-util-module"></span><h2>quapy.util module<a class="headerlink" href="#module-quapy.util" title="Permalink to this heading"></a></h2> <dl class="py class"> <dt class="sig sig-object py" id="quapy.util.EarlyStop"> -<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">quapy.util.</span></span><span class="sig-name descname"><span class="pre">EarlyStop</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">patience</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">lower_is_better</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/util.html#EarlyStop"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.util.EarlyStop" title="Link to this definition"></a></dt> +<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">quapy.util.</span></span><span class="sig-name descname"><span class="pre">EarlyStop</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">patience</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">lower_is_better</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/util.html#EarlyStop"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.util.EarlyStop" title="Permalink to this definition"></a></dt> <dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">object</span></code></p> <p>A class implementing the early-stopping condition typically used for training neural networks.</p> <div class="doctest highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">earlystop</span> <span class="o">=</span> <span class="n">EarlyStop</span><span class="p">(</span><span class="n">patience</span><span class="o">=</span><span class="mi">2</span><span class="p">,</span> <span class="n">lower_is_better</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span> @@ -2563,7 +2708,7 @@ stopping condition. An instance of this class is <cite>callable</cite>, and is t <dl class="py function"> <dt class="sig sig-object py" id="quapy.util.create_if_not_exist"> -<span class="sig-prename descclassname"><span class="pre">quapy.util.</span></span><span class="sig-name descname"><span class="pre">create_if_not_exist</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">path</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/util.html#create_if_not_exist"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.util.create_if_not_exist" title="Link to this definition"></a></dt> +<span class="sig-prename descclassname"><span class="pre">quapy.util.</span></span><span class="sig-name descname"><span class="pre">create_if_not_exist</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">path</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/util.html#create_if_not_exist"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.util.create_if_not_exist" title="Permalink to this definition"></a></dt> <dd><p>An alias to <cite>os.makedirs(path, exist_ok=True)</cite> that also returns the path. This is useful in cases like, e.g.:</p> <div class="doctest highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">path</span> <span class="o">=</span> <span class="n">create_if_not_exist</span><span class="p">(</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="nb">dir</span><span class="p">,</span> <span class="n">subdir</span><span class="p">,</span> <span class="n">anotherdir</span><span class="p">))</span> </pre></div> @@ -2580,7 +2725,7 @@ stopping condition. An instance of this class is <cite>callable</cite>, and is t <dl class="py function"> <dt class="sig sig-object py" id="quapy.util.create_parent_dir"> -<span class="sig-prename descclassname"><span class="pre">quapy.util.</span></span><span class="sig-name descname"><span class="pre">create_parent_dir</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">path</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/util.html#create_parent_dir"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.util.create_parent_dir" title="Link to this definition"></a></dt> +<span class="sig-prename descclassname"><span class="pre">quapy.util.</span></span><span class="sig-name descname"><span class="pre">create_parent_dir</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">path</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/util.html#create_parent_dir"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.util.create_parent_dir" title="Permalink to this definition"></a></dt> <dd><p>Creates the parent dir (if any) of a given path, if not exists. E.g., for <cite>./path/to/file.txt</cite>, the path <cite>./path/to</cite> is created.</p> <dl class="field-list simple"> @@ -2592,7 +2737,7 @@ is created.</p> <dl class="py function"> <dt class="sig sig-object py" id="quapy.util.download_file"> -<span class="sig-prename descclassname"><span class="pre">quapy.util.</span></span><span class="sig-name descname"><span class="pre">download_file</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">url</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">archive_filename</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/util.html#download_file"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.util.download_file" title="Link to this definition"></a></dt> +<span class="sig-prename descclassname"><span class="pre">quapy.util.</span></span><span class="sig-name descname"><span class="pre">download_file</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">url</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">archive_filename</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/util.html#download_file"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.util.download_file" title="Permalink to this definition"></a></dt> <dd><p>Downloads a file from a url</p> <dl class="field-list simple"> <dt class="field-odd">Parameters<span class="colon">:</span></dt> @@ -2606,7 +2751,7 @@ is created.</p> <dl class="py function"> <dt class="sig sig-object py" id="quapy.util.download_file_if_not_exists"> -<span class="sig-prename descclassname"><span class="pre">quapy.util.</span></span><span class="sig-name descname"><span class="pre">download_file_if_not_exists</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">url</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">archive_filename</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/util.html#download_file_if_not_exists"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.util.download_file_if_not_exists" title="Link to this definition"></a></dt> +<span class="sig-prename descclassname"><span class="pre">quapy.util.</span></span><span class="sig-name descname"><span class="pre">download_file_if_not_exists</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">url</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">archive_filename</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/util.html#download_file_if_not_exists"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.util.download_file_if_not_exists" title="Permalink to this definition"></a></dt> <dd><p>Dowloads a function (using <a class="reference internal" href="#quapy.util.download_file" title="quapy.util.download_file"><code class="xref py py-meth docutils literal notranslate"><span class="pre">download_file()</span></code></a>) if the file does not exist.</p> <dl class="field-list simple"> <dt class="field-odd">Parameters<span class="colon">:</span></dt> @@ -2620,7 +2765,7 @@ is created.</p> <dl class="py function"> <dt class="sig sig-object py" id="quapy.util.get_quapy_home"> -<span class="sig-prename descclassname"><span class="pre">quapy.util.</span></span><span class="sig-name descname"><span class="pre">get_quapy_home</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/util.html#get_quapy_home"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.util.get_quapy_home" title="Link to this definition"></a></dt> +<span class="sig-prename descclassname"><span class="pre">quapy.util.</span></span><span class="sig-name descname"><span class="pre">get_quapy_home</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/util.html#get_quapy_home"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.util.get_quapy_home" title="Permalink to this definition"></a></dt> <dd><p>Gets the home directory of QuaPy, i.e., the directory where QuaPy saves permanent data, such as dowloaded datasets. This directory is <cite>~/quapy_data</cite></p> <dl class="field-list simple"> @@ -2632,7 +2777,7 @@ This directory is <cite>~/quapy_data</cite></p> <dl class="py function"> <dt class="sig sig-object py" id="quapy.util.map_parallel"> -<span class="sig-prename descclassname"><span class="pre">quapy.util.</span></span><span class="sig-name descname"><span class="pre">map_parallel</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">func</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">args</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">n_jobs</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/util.html#map_parallel"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.util.map_parallel" title="Link to this definition"></a></dt> +<span class="sig-prename descclassname"><span class="pre">quapy.util.</span></span><span class="sig-name descname"><span class="pre">map_parallel</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">func</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">args</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">n_jobs</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/util.html#map_parallel"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.util.map_parallel" title="Permalink to this definition"></a></dt> <dd><p>Applies func to n_jobs slices of args. E.g., if args is an array of 99 items and n_jobs=2, then func is applied in two parallel processes to args[0:50] and to args[50:99]. func is a function that already works with a list of arguments.</p> @@ -2649,7 +2794,7 @@ that already works with a list of arguments.</p> <dl class="py function"> <dt class="sig sig-object py" id="quapy.util.parallel"> -<span class="sig-prename descclassname"><span class="pre">quapy.util.</span></span><span class="sig-name descname"><span class="pre">parallel</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">func</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">args</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">n_jobs</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">seed</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">asarray</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">backend</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'loky'</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/util.html#parallel"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.util.parallel" title="Link to this definition"></a></dt> +<span class="sig-prename descclassname"><span class="pre">quapy.util.</span></span><span class="sig-name descname"><span class="pre">parallel</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">func</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">args</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">n_jobs</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">seed</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">asarray</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">backend</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'loky'</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/util.html#parallel"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.util.parallel" title="Permalink to this definition"></a></dt> <dd><p>A wrapper of multiprocessing:</p> <div class="doctest highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">Parallel</span><span class="p">(</span><span class="n">n_jobs</span><span class="o">=</span><span class="n">n_jobs</span><span class="p">)(</span> <span class="gp">>>> </span> <span class="n">delayed</span><span class="p">(</span><span class="n">func</span><span class="p">)(</span><span class="n">args_i</span><span class="p">)</span> <span class="k">for</span> <span class="n">args_i</span> <span class="ow">in</span> <span class="n">args</span> @@ -2666,6 +2811,31 @@ Seeds the child processes to ensure reproducibility when n_jobs>1.</p> <li><p><strong>seed</strong> – the numeric seed</p></li> <li><p><strong>asarray</strong> – set to True to return a np.ndarray instead of a list</p></li> <li><p><strong>backend</strong> – indicates the backend used for handling parallel works</p></li> +<li><p><strong>open_args</strong> – if True, then the delayed function is called on <a href="#id2"><span class="problematic" id="id3">*</span></a>args_i, instead of on args_i</p></li> +</ul> +</dd> +</dl> +</dd></dl> + +<dl class="py function"> +<dt class="sig sig-object py" id="quapy.util.parallel_unpack"> +<span class="sig-prename descclassname"><span class="pre">quapy.util.</span></span><span class="sig-name descname"><span class="pre">parallel_unpack</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">func</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">args</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">n_jobs</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">seed</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">asarray</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">backend</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'loky'</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/util.html#parallel_unpack"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.util.parallel_unpack" title="Permalink to this definition"></a></dt> +<dd><p>A wrapper of multiprocessing:</p> +<div class="doctest highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">Parallel</span><span class="p">(</span><span class="n">n_jobs</span><span class="o">=</span><span class="n">n_jobs</span><span class="p">)(</span> +<span class="gp">>>> </span> <span class="n">delayed</span><span class="p">(</span><span class="n">func</span><span class="p">)(</span><span class="o">*</span><span class="n">args_i</span><span class="p">)</span> <span class="k">for</span> <span class="n">args_i</span> <span class="ow">in</span> <span class="n">args</span> +<span class="gp">>>> </span><span class="p">)</span> +</pre></div> +</div> +<p>that takes the <cite>quapy.environ</cite> variable as input silently. +Seeds the child processes to ensure reproducibility when n_jobs>1.</p> +<dl class="field-list simple"> +<dt class="field-odd">Parameters<span class="colon">:</span></dt> +<dd class="field-odd"><ul class="simple"> +<li><p><strong>func</strong> – callable</p></li> +<li><p><strong>args</strong> – args of func</p></li> +<li><p><strong>seed</strong> – the numeric seed</p></li> +<li><p><strong>asarray</strong> – set to True to return a np.ndarray instead of a list</p></li> +<li><p><strong>backend</strong> – indicates the backend used for handling parallel works</p></li> </ul> </dd> </dl> @@ -2673,7 +2843,7 @@ Seeds the child processes to ensure reproducibility when n_jobs>1.</p> <dl class="py function"> <dt class="sig sig-object py" id="quapy.util.pickled_resource"> -<span class="sig-prename descclassname"><span class="pre">quapy.util.</span></span><span class="sig-name descname"><span class="pre">pickled_resource</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">pickle_path</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">generation_func</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">callable</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/util.html#pickled_resource"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.util.pickled_resource" title="Link to this definition"></a></dt> +<span class="sig-prename descclassname"><span class="pre">quapy.util.</span></span><span class="sig-name descname"><span class="pre">pickled_resource</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">pickle_path</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">generation_func</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">callable</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/util.html#pickled_resource"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.util.pickled_resource" title="Permalink to this definition"></a></dt> <dd><p>Allows for fast reuse of resources that are generated only once by calling generation_func(*args). The next times this function is invoked, it loads the pickled resource. Example:</p> <div class="doctest highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="k">def</span> <span class="nf">some_array</span><span class="p">(</span><span class="n">n</span><span class="p">):</span> <span class="c1"># a mock resource created with one parameter (`n`)</span> @@ -2698,7 +2868,7 @@ this function is invoked, it loads the pickled resource. Example:</p> <dl class="py function"> <dt class="sig sig-object py" id="quapy.util.save_text_file"> -<span class="sig-prename descclassname"><span class="pre">quapy.util.</span></span><span class="sig-name descname"><span class="pre">save_text_file</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">path</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">text</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/util.html#save_text_file"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.util.save_text_file" title="Link to this definition"></a></dt> +<span class="sig-prename descclassname"><span class="pre">quapy.util.</span></span><span class="sig-name descname"><span class="pre">save_text_file</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">path</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">text</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/util.html#save_text_file"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.util.save_text_file" title="Permalink to this definition"></a></dt> <dd><p>Saves a text file to disk, given its full path, and creates the parent directory if missing.</p> <dl class="field-list simple"> <dt class="field-odd">Parameters<span class="colon">:</span></dt> @@ -2712,7 +2882,7 @@ this function is invoked, it loads the pickled resource. Example:</p> <dl class="py function"> <dt class="sig sig-object py" id="quapy.util.temp_seed"> -<span class="sig-prename descclassname"><span class="pre">quapy.util.</span></span><span class="sig-name descname"><span class="pre">temp_seed</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">random_state</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/util.html#temp_seed"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.util.temp_seed" title="Link to this definition"></a></dt> +<span class="sig-prename descclassname"><span class="pre">quapy.util.</span></span><span class="sig-name descname"><span class="pre">temp_seed</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">random_state</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/util.html#temp_seed"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.util.temp_seed" title="Permalink to this definition"></a></dt> <dd><p>Can be used in a “with” context to set a temporal seed without modifying the outer numpy’s current state. E.g.:</p> <div class="doctest highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="k">with</span> <span class="n">temp_seed</span><span class="p">(</span><span class="n">random_seed</span><span class="p">):</span> <span class="gp">>>> </span> <span class="k">pass</span> <span class="c1"># do any computation depending on np.random functionality</span> @@ -2727,7 +2897,7 @@ this function is invoked, it loads the pickled resource. Example:</p> <dl class="py function"> <dt class="sig sig-object py" id="quapy.util.timeout"> -<span class="sig-prename descclassname"><span class="pre">quapy.util.</span></span><span class="sig-name descname"><span class="pre">timeout</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">seconds</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/util.html#timeout"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.util.timeout" title="Link to this definition"></a></dt> +<span class="sig-prename descclassname"><span class="pre">quapy.util.</span></span><span class="sig-name descname"><span class="pre">timeout</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">seconds</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/util.html#timeout"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.util.timeout" title="Permalink to this definition"></a></dt> <dd><p>Opens a context that will launch an exception if not closed after a given number of seconds</p> <div class="doctest highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="k">def</span> <span class="nf">func</span><span class="p">(</span><span class="n">start_msg</span><span class="p">,</span> <span class="n">end_msg</span><span class="p">):</span> <span class="gp">>>> </span> <span class="nb">print</span><span class="p">(</span><span class="n">start_msg</span><span class="p">)</span> @@ -2750,7 +2920,7 @@ this function is invoked, it loads the pickled resource. Example:</p> </section> <section id="module-quapy"> -<span id="module-contents"></span><h2>Module contents<a class="headerlink" href="#module-quapy" title="Link to this heading"></a></h2> +<span id="module-contents"></span><h2>Module contents<a class="headerlink" href="#module-quapy" title="Permalink to this heading"></a></h2> <p>QuaPy module for quantification</p> </section> </section> diff --git a/docs/build/html/quapy.method.html b/docs/build/html/quapy.method.html index e843d2a..053fec3 100644 --- a/docs/build/html/quapy.method.html +++ b/docs/build/html/quapy.method.html @@ -1,23 +1,24 @@ <!DOCTYPE html> -<html class="writer-html5" lang="en" data-content_root="./"> +<html class="writer-html5" lang="en"> <head> <meta charset="utf-8" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> - <title>quapy.method package — QuaPy: A Python-based open-source framework for quantification 0.1.8 documentation</title> - <link rel="stylesheet" type="text/css" href="_static/pygments.css?v=92fd9be5" /> - <link rel="stylesheet" type="text/css" href="_static/css/theme.css?v=19f00094" /> + <title>quapy.method package — QuaPy: A Python-based open-source framework for quantification 0.1.9 documentation</title> + <link rel="stylesheet" type="text/css" href="_static/pygments.css" /> + <link rel="stylesheet" type="text/css" href="_static/css/theme.css" /> <!--[if lt IE 9]> <script src="_static/js/html5shiv.min.js"></script> <![endif]--> - <script src="_static/jquery.js?v=5d32c60e"></script> - <script src="_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script> - <script src="_static/documentation_options.js?v=22607128"></script> - <script src="_static/doctools.js?v=9a2dae69"></script> - <script src="_static/sphinx_highlight.js?v=dc90522c"></script> + <script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script> + <script src="_static/jquery.js"></script> + <script src="_static/underscore.js"></script> + <script src="_static/_sphinx_javascript_frameworks_compat.js"></script> + <script src="_static/doctools.js"></script> + <script src="_static/sphinx_highlight.js"></script> <script async="async" src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script> <script src="_static/js/theme.js"></script> <link rel="index" title="Index" href="genindex.html" /> @@ -95,15 +96,15 @@ <div itemprop="articleBody"> <section id="quapy-method-package"> -<h1>quapy.method package<a class="headerlink" href="#quapy-method-package" title="Link to this heading"></a></h1> +<h1>quapy.method package<a class="headerlink" href="#quapy-method-package" title="Permalink to this heading"></a></h1> <section id="submodules"> -<h2>Submodules<a class="headerlink" href="#submodules" title="Link to this heading"></a></h2> +<h2>Submodules<a class="headerlink" href="#submodules" title="Permalink to this heading"></a></h2> </section> <section id="module-quapy.method.aggregative"> -<span id="quapy-method-aggregative-module"></span><h2>quapy.method.aggregative module<a class="headerlink" href="#module-quapy.method.aggregative" title="Link to this heading"></a></h2> +<span id="quapy-method-aggregative-module"></span><h2>quapy.method.aggregative module<a class="headerlink" href="#module-quapy.method.aggregative" title="Permalink to this heading"></a></h2> <dl class="py class"> <dt class="sig sig-object py" id="quapy.method.aggregative.ACC"> -<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">quapy.method.aggregative.</span></span><span class="sig-name descname"><span class="pre">ACC</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">classifier</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">BaseEstimator</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">val_split</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">5</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">n_jobs</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">solver</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'minimize'</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/aggregative.html#ACC"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.aggregative.ACC" title="Link to this definition"></a></dt> +<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">quapy.method.aggregative.</span></span><span class="sig-name descname"><span class="pre">ACC</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">classifier</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">BaseEstimator</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">val_split</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">5</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">solver</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Literal</span><span class="p"><span class="pre">[</span></span><span class="s"><span class="pre">'minimize'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'exact'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'exact-raise'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'exact-cc'</span></span><span class="p"><span class="pre">]</span></span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">'minimize'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">method</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Literal</span><span class="p"><span class="pre">[</span></span><span class="s"><span class="pre">'inversion'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'invariant-ratio'</span></span><span class="p"><span class="pre">]</span></span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">'inversion'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">clipping</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Literal</span><span class="p"><span class="pre">[</span></span><span class="s"><span class="pre">'clip'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'none'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'project'</span></span><span class="p"><span class="pre">]</span></span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">'clip'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">n_jobs</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/aggregative.html#ACC"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.aggregative.ACC" title="Permalink to this definition"></a></dt> <dd><p>Bases: <a class="reference internal" href="#quapy.method.aggregative.AggregativeCrispQuantifier" title="quapy.method.aggregative.AggregativeCrispQuantifier"><code class="xref py py-class docutils literal notranslate"><span class="pre">AggregativeCrispQuantifier</span></code></a></p> <p><a class="reference external" href="https://link.springer.com/article/10.1007/s10618-008-0097-y">Adjusted Classify & Count</a>, the “adjusted” variant of <a class="reference internal" href="#quapy.method.aggregative.CC" title="quapy.method.aggregative.CC"><code class="xref py py-class docutils literal notranslate"><span class="pre">CC</span></code></a>, that corrects the predictions of CC @@ -119,24 +120,49 @@ are to be generated in a <cite>k</cite>-fold cross-validation manner (with this for <cite>k</cite>); or as a collection defining the specific set of data to use for validation. Alternatively, this set can be specified at fit time by indicating the exact set of data on which the predictions are to be generated.</p></li> +<li><p><strong>method</strong> (<em>str</em>) – <p>adjustment method to be used:</p> +<ul> +<li><p>’inversion’: matrix inversion method based on the matrix equality <span class="math notranslate nohighlight">\(P(C)=P(C|Y)P(Y)\)</span>, which tries to invert <span class="math notranslate nohighlight">\(P(C|Y)\)</span> matrix.</p></li> +<li><p>’invariant-ratio’: invariant ratio estimator of <a class="reference external" href="https://jmlr.org/papers/v20/18-456.html">Vaz et al. 2018</a>, which replaces the last equation with the normalization condition.</p></li> +</ul> +</p></li> +<li><p><strong>solver</strong> (<em>str</em>) – <p>indicates the method to use for solving the system of linear equations. Valid options are:</p> +<ul> +<li><p>’exact-raise’: tries to solve the system using matrix inversion. Raises an error if the matrix has rank strictly less than <cite>n_classes</cite>.</p></li> +<li><p>’exact-cc’: if the matrix is not of full rank, returns <cite>p_c</cite> as the estimates, which corresponds to no adjustment (i.e., the classify and count method. See <a class="reference internal" href="#quapy.method.aggregative.CC" title="quapy.method.aggregative.CC"><code class="xref py py-class docutils literal notranslate"><span class="pre">quapy.method.aggregative.CC</span></code></a>)</p></li> +<li><p>’exact’: deprecated, defaults to ‘exact-cc’</p></li> +<li><p>’minimize’: minimizes the L2 norm of <span class="math notranslate nohighlight">\(|Ax-B|\)</span>. This one generally works better, and is the default parameter. More details about this can be consulted in <a class="reference external" href="https://lq-2022.github.io/proceedings/CompleteVolume.pdf">Bunse, M. “On Multi-Class Extensions of Adjusted Classify and Count”, on proceedings of the 2nd International Workshop on Learning to Quantify: Methods and Applications (LQ 2022), ECML/PKDD 2022, Grenoble (France)</a>.</p></li> +</ul> +</p></li> +<li><p><strong>clipping</strong> (<em>str</em>) – <p>the method to use for normalization.</p> +<ul> +<li><p>If <cite>None</cite> or <cite>“none”</cite>, no normalization is performed.</p></li> +<li><p>If <cite>“clip”</cite>, the values are clipped to the range [0,1] and normalized, so they sum up to 1.</p></li> +<li><p>If <cite>“project”</cite>, the values are projected onto the probability simplex.</p></li> +</ul> +</p></li> <li><p><strong>n_jobs</strong> – number of parallel workers</p></li> -<li><p><strong>solver</strong> – indicates the method to be used for obtaining the final estimates. The choice -‘exact’ comes down to solving the system of linear equations <span class="math notranslate nohighlight">\(Ax=B\)</span> where <cite>A</cite> is a -matrix containing the class-conditional probabilities of the predictions (e.g., the tpr and fpr in -binary) and <cite>B</cite> is the vector of prevalence values estimated via CC, as <span class="math notranslate nohighlight">\(x=A^{-1}B\)</span>. This solution -might not exist for degenerated classifiers, in which case the method defaults to classify and count -(i.e., does not attempt any adjustment). -Another option is to search for the prevalence vector that minimizes the L2 norm of <span class="math notranslate nohighlight">\(|Ax-B|\)</span>. The latter -is achieved by indicating solver=’minimize’. This one generally works better, and is the default parameter. -More details about this can be consulted in <a class="reference external" href="https://lq-2022.github.io/proceedings/CompleteVolume.pdf">Bunse, M. “On Multi-Class Extensions of Adjusted Classify and -Count”, on proceedings of the 2nd International Workshop on Learning to Quantify: Methods and Applications -(LQ 2022), ECML/PKDD 2022, Grenoble (France)</a>.</p></li> </ul> </dd> </dl> +<dl class="py attribute"> +<dt class="sig sig-object py" id="quapy.method.aggregative.ACC.CLIPPING"> +<span class="sig-name descname"><span class="pre">CLIPPING</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">['clip',</span> <span class="pre">'none',</span> <span class="pre">'project',</span> <span class="pre">None]</span></em><a class="headerlink" href="#quapy.method.aggregative.ACC.CLIPPING" title="Permalink to this definition"></a></dt> +<dd></dd></dl> + +<dl class="py attribute"> +<dt class="sig sig-object py" id="quapy.method.aggregative.ACC.METHODS"> +<span class="sig-name descname"><span class="pre">METHODS</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">['inversion',</span> <span class="pre">'invariant-ratio']</span></em><a class="headerlink" href="#quapy.method.aggregative.ACC.METHODS" title="Permalink to this definition"></a></dt> +<dd></dd></dl> + +<dl class="py attribute"> +<dt class="sig sig-object py" id="quapy.method.aggregative.ACC.SOLVERS"> +<span class="sig-name descname"><span class="pre">SOLVERS</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">['exact',</span> <span class="pre">'minimize',</span> <span class="pre">'exact-raise',</span> <span class="pre">'exact-cc']</span></em><a class="headerlink" href="#quapy.method.aggregative.ACC.SOLVERS" title="Permalink to this definition"></a></dt> +<dd></dd></dl> + <dl class="py method"> <dt class="sig sig-object py" id="quapy.method.aggregative.ACC.aggregate"> -<span class="sig-name descname"><span class="pre">aggregate</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">classif_predictions</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/aggregative.html#ACC.aggregate"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.aggregative.ACC.aggregate" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">aggregate</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">classif_predictions</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/aggregative.html#ACC.aggregate"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.aggregative.ACC.aggregate" title="Permalink to this definition"></a></dt> <dd><p>Implements the aggregation of label predictions.</p> <dl class="field-list simple"> <dt class="field-odd">Parameters<span class="colon">:</span></dt> @@ -150,62 +176,82 @@ Count”, on proceedings of the 2nd International Workshop on Learning to Quanti <dl class="py method"> <dt class="sig sig-object py" id="quapy.method.aggregative.ACC.aggregation_fit"> -<span class="sig-name descname"><span class="pre">aggregation_fit</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">classif_predictions</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="quapy.data.html#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><span class="pre">LabelledCollection</span></a></span></em>, <em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="quapy.data.html#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><span class="pre">LabelledCollection</span></a></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/aggregative.html#ACC.aggregation_fit"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.aggregative.ACC.aggregation_fit" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">aggregation_fit</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">classif_predictions</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="quapy.data.html#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><span class="pre">LabelledCollection</span></a></span></em>, <em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="quapy.data.html#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><span class="pre">LabelledCollection</span></a></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/aggregative.html#ACC.aggregation_fit"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.aggregative.ACC.aggregation_fit" title="Permalink to this definition"></a></dt> <dd><p>Estimates the misclassification rates.</p> <dl class="field-list simple"> <dt class="field-odd">Parameters<span class="colon">:</span></dt> -<dd class="field-odd"><p><strong>classif_predictions</strong> – classifier predictions with true labels</p> +<dd class="field-odd"><ul class="simple"> +<li><p><strong>classif_predictions</strong> – a <a class="reference internal" href="quapy.data.html#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><code class="xref py py-class docutils literal notranslate"><span class="pre">quapy.data.base.LabelledCollection</span></code></a> containing, +as instances, the label predictions issued by the classifier and, as labels, the true labels</p></li> +<li><p><strong>data</strong> – a <a class="reference internal" href="quapy.data.html#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><code class="xref py py-class docutils literal notranslate"><span class="pre">quapy.data.base.LabelledCollection</span></code></a> consisting of the training data</p></li> +</ul> </dd> </dl> </dd></dl> <dl class="py method"> <dt class="sig sig-object py" id="quapy.method.aggregative.ACC.getPteCondEstim"> -<em class="property"><span class="pre">classmethod</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">getPteCondEstim</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">classes</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">y</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">y_</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/aggregative.html#ACC.getPteCondEstim"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.aggregative.ACC.getPteCondEstim" title="Link to this definition"></a></dt> -<dd></dd></dl> - -<dl class="py method"> -<dt class="sig sig-object py" id="quapy.method.aggregative.ACC.solve_adjustment"> -<em class="property"><span class="pre">classmethod</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">solve_adjustment</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">PteCondEstim</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">prevs_estim</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">solver</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'exact'</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/aggregative.html#ACC.solve_adjustment"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.aggregative.ACC.solve_adjustment" title="Link to this definition"></a></dt> -<dd><p>Solves the system linear system <span class="math notranslate nohighlight">\(Ax = B\)</span> with <span class="math notranslate nohighlight">\(A\)</span> = <cite>PteCondEstim</cite> and <span class="math notranslate nohighlight">\(B\)</span> = <cite>prevs_estim</cite></p> +<em class="property"><span class="pre">classmethod</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">getPteCondEstim</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">classes</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">y</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">y_</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/aggregative.html#ACC.getPteCondEstim"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.aggregative.ACC.getPteCondEstim" title="Permalink to this definition"></a></dt> +<dd><p>Estimate the matrix with entry (i,j) being the estimate of P(hat_yi|yj), that is, the probability that a +document that belongs to yj ends up being classified as belonging to yi</p> <dl class="field-list simple"> <dt class="field-odd">Parameters<span class="colon">:</span></dt> <dd class="field-odd"><ul class="simple"> -<li><p><strong>PteCondEstim</strong> – a <cite>np.ndarray</cite> of shape <cite>(n_classes,n_classes,)</cite> with entry <cite>(i,j)</cite> being the estimate -of <span class="math notranslate nohighlight">\(P(y_i|y_j)\)</span>, that is, the probability that an instance that belongs to <span class="math notranslate nohighlight">\(y_j\)</span> ends up being -classified as belonging to <span class="math notranslate nohighlight">\(y_i\)</span></p></li> -<li><p><strong>prevs_estim</strong> – a <cite>np.ndarray</cite> of shape <cite>(n_classes,)</cite> with the class prevalence estimates</p></li> -<li><p><strong>solver</strong> – indicates the method to use for solving the system of linear equations. Valid options are -‘exact’ (tries to solve the system –may fail if the misclassificatin matrix has rank < n_classes) or -‘optim_minimize’ (minimizes a norm –always exists).</p></li> +<li><p><strong>classes</strong> – array-like with the class names</p></li> +<li><p><strong>y</strong> – array-like with the true labels</p></li> +<li><p><strong>y</strong> – array-like with the estimated labels</p></li> </ul> </dd> <dt class="field-even">Returns<span class="colon">:</span></dt> -<dd class="field-even"><p>an adjusted <cite>np.ndarray</cite> of shape <cite>(n_classes,)</cite> with the corrected class prevalence estimates</p> +<dd class="field-even"><p>np.ndarray</p> </dd> </dl> </dd></dl> +<dl class="py method"> +<dt class="sig sig-object py" id="quapy.method.aggregative.ACC.newInvariantRatioEstimation"> +<em class="property"><span class="pre">classmethod</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">newInvariantRatioEstimation</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">classifier</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">BaseEstimator</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">val_split</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">5</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">n_jobs</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/aggregative.html#ACC.newInvariantRatioEstimation"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.aggregative.ACC.newInvariantRatioEstimation" title="Permalink to this definition"></a></dt> +<dd><p>Constructs a quantifier that implements the Invariant Ratio Estimator of +<cite>Vaz et al. 2018 <https://jmlr.org/papers/v20/18-456.html>_</cite>. This amounts +to setting method to ‘invariant-ratio’ and clipping to ‘project’.</p> +<dl class="field-list simple"> +<dt class="field-odd">Parameters<span class="colon">:</span></dt> +<dd class="field-odd"><ul class="simple"> +<li><p><strong>classifier</strong> – a sklearn’s Estimator that generates a classifier</p></li> +<li><p><strong>val_split</strong> – specifies the data used for generating classifier predictions. This specification</p></li> +</ul> +</dd> +</dl> +<p>can be made as float in (0, 1) indicating the proportion of stratified held-out validation set to +be extracted from the training set; or as an integer (default 5), indicating that the predictions +are to be generated in a <cite>k</cite>-fold cross-validation manner (with this integer indicating the value +for <cite>k</cite>); or as a collection defining the specific set of data to use for validation. +Alternatively, this set can be specified at fit time by indicating the exact set of data +on which the predictions are to be generated. +:param n_jobs: number of parallel workers +:return: an instance of ACC configured so that it implements the Invariant Ratio Estimator</p> +</dd></dl> + </dd></dl> <dl class="py attribute"> <dt class="sig sig-object py" id="quapy.method.aggregative.AdjustedClassifyAndCount"> -<span class="sig-prename descclassname"><span class="pre">quapy.method.aggregative.</span></span><span class="sig-name descname"><span class="pre">AdjustedClassifyAndCount</span></span><a class="headerlink" href="#quapy.method.aggregative.AdjustedClassifyAndCount" title="Link to this definition"></a></dt> +<span class="sig-prename descclassname"><span class="pre">quapy.method.aggregative.</span></span><span class="sig-name descname"><span class="pre">AdjustedClassifyAndCount</span></span><a class="headerlink" href="#quapy.method.aggregative.AdjustedClassifyAndCount" title="Permalink to this definition"></a></dt> <dd><p>alias of <a class="reference internal" href="#quapy.method.aggregative.ACC" title="quapy.method.aggregative.ACC"><code class="xref py py-class docutils literal notranslate"><span class="pre">ACC</span></code></a></p> </dd></dl> <dl class="py class"> <dt class="sig sig-object py" id="quapy.method.aggregative.AggregativeCrispQuantifier"> -<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">quapy.method.aggregative.</span></span><span class="sig-name descname"><span class="pre">AggregativeCrispQuantifier</span></span><a class="reference internal" href="_modules/quapy/method/aggregative.html#AggregativeCrispQuantifier"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.aggregative.AggregativeCrispQuantifier" title="Link to this definition"></a></dt> +<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">quapy.method.aggregative.</span></span><span class="sig-name descname"><span class="pre">AggregativeCrispQuantifier</span></span><a class="reference internal" href="_modules/quapy/method/aggregative.html#AggregativeCrispQuantifier"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.aggregative.AggregativeCrispQuantifier" title="Permalink to this definition"></a></dt> <dd><p>Bases: <a class="reference internal" href="#quapy.method.aggregative.AggregativeQuantifier" title="quapy.method.aggregative.AggregativeQuantifier"><code class="xref py py-class docutils literal notranslate"><span class="pre">AggregativeQuantifier</span></code></a>, <code class="xref py py-class docutils literal notranslate"><span class="pre">ABC</span></code></p> -<p>Abstract class for quantification methods that base their estimations on the aggregation of crips decisions +<p>Abstract class for quantification methods that base their estimations on the aggregation of crisp decisions as returned by a hard classifier. Aggregative crisp quantifiers thus extend Aggregative Quantifiers by implementing specifications about crisp predictions.</p> </dd></dl> <dl class="py class"> <dt class="sig sig-object py" id="quapy.method.aggregative.AggregativeMedianEstimator"> -<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">quapy.method.aggregative.</span></span><span class="sig-name descname"><span class="pre">AggregativeMedianEstimator</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">base_quantifier</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="#quapy.method.aggregative.AggregativeQuantifier" title="quapy.method.aggregative.AggregativeQuantifier"><span class="pre">AggregativeQuantifier</span></a></span></em>, <em class="sig-param"><span class="n"><span class="pre">param_grid</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">dict</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">random_state</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">n_jobs</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/aggregative.html#AggregativeMedianEstimator"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.aggregative.AggregativeMedianEstimator" title="Link to this definition"></a></dt> +<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">quapy.method.aggregative.</span></span><span class="sig-name descname"><span class="pre">AggregativeMedianEstimator</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">base_quantifier</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="#quapy.method.aggregative.AggregativeQuantifier" title="quapy.method.aggregative.AggregativeQuantifier"><span class="pre">AggregativeQuantifier</span></a></span></em>, <em class="sig-param"><span class="n"><span class="pre">param_grid</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">dict</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">random_state</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">n_jobs</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/aggregative.html#AggregativeMedianEstimator"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.aggregative.AggregativeMedianEstimator" title="Permalink to this definition"></a></dt> <dd><p>Bases: <a class="reference internal" href="#quapy.method.base.BinaryQuantifier" title="quapy.method.base.BinaryQuantifier"><code class="xref py py-class docutils literal notranslate"><span class="pre">BinaryQuantifier</span></code></a></p> <p>This method is a meta-quantifier that returns, as the estimated class prevalence values, the median of the estimation returned by differently (hyper)parameterized base quantifiers. @@ -223,7 +269,7 @@ i.e., in cases of binary quantification.</p> </dl> <dl class="py method"> <dt class="sig sig-object py" id="quapy.method.aggregative.AggregativeMedianEstimator.fit"> -<span class="sig-name descname"><span class="pre">fit</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">training</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="quapy.data.html#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><span class="pre">LabelledCollection</span></a></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/aggregative.html#AggregativeMedianEstimator.fit"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.aggregative.AggregativeMedianEstimator.fit" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">fit</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">training</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="quapy.data.html#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><span class="pre">LabelledCollection</span></a></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/aggregative.html#AggregativeMedianEstimator.fit"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.aggregative.AggregativeMedianEstimator.fit" title="Permalink to this definition"></a></dt> <dd><p>Trains a quantifier.</p> <dl class="field-list simple"> <dt class="field-odd">Parameters<span class="colon">:</span></dt> @@ -237,7 +283,7 @@ i.e., in cases of binary quantification.</p> <dl class="py method"> <dt class="sig sig-object py" id="quapy.method.aggregative.AggregativeMedianEstimator.get_params"> -<span class="sig-name descname"><span class="pre">get_params</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">deep</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/aggregative.html#AggregativeMedianEstimator.get_params"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.aggregative.AggregativeMedianEstimator.get_params" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">get_params</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">deep</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/aggregative.html#AggregativeMedianEstimator.get_params"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.aggregative.AggregativeMedianEstimator.get_params" title="Permalink to this definition"></a></dt> <dd><p>Get parameters for this estimator.</p> <dl class="field-list simple"> <dt class="field-odd">Parameters<span class="colon">:</span></dt> @@ -255,7 +301,7 @@ contained subobjects that are estimators.</p> <dl class="py method"> <dt class="sig sig-object py" id="quapy.method.aggregative.AggregativeMedianEstimator.quantify"> -<span class="sig-name descname"><span class="pre">quantify</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">instances</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/aggregative.html#AggregativeMedianEstimator.quantify"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.aggregative.AggregativeMedianEstimator.quantify" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">quantify</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">instances</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/aggregative.html#AggregativeMedianEstimator.quantify"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.aggregative.AggregativeMedianEstimator.quantify" title="Permalink to this definition"></a></dt> <dd><p>Generate class prevalence estimates for the sample’s instances</p> <dl class="field-list simple"> <dt class="field-odd">Parameters<span class="colon">:</span></dt> @@ -269,7 +315,7 @@ contained subobjects that are estimators.</p> <dl class="py method"> <dt class="sig sig-object py" id="quapy.method.aggregative.AggregativeMedianEstimator.set_params"> -<span class="sig-name descname"><span class="pre">set_params</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">params</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/aggregative.html#AggregativeMedianEstimator.set_params"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.aggregative.AggregativeMedianEstimator.set_params" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">set_params</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">params</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/aggregative.html#AggregativeMedianEstimator.set_params"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.aggregative.AggregativeMedianEstimator.set_params" title="Permalink to this definition"></a></dt> <dd><p>Set the parameters of this estimator.</p> <p>The method works on simple estimators as well as on nested objects (such as <code class="xref py py-class docutils literal notranslate"><span class="pre">Pipeline</span></code>). The latter have @@ -292,7 +338,7 @@ possible to update each component of a nested object.</p> <dl class="py class"> <dt class="sig sig-object py" id="quapy.method.aggregative.AggregativeQuantifier"> -<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">quapy.method.aggregative.</span></span><span class="sig-name descname"><span class="pre">AggregativeQuantifier</span></span><a class="reference internal" href="_modules/quapy/method/aggregative.html#AggregativeQuantifier"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.aggregative.AggregativeQuantifier" title="Link to this definition"></a></dt> +<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">quapy.method.aggregative.</span></span><span class="sig-name descname"><span class="pre">AggregativeQuantifier</span></span><a class="reference internal" href="_modules/quapy/method/aggregative.html#AggregativeQuantifier"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.aggregative.AggregativeQuantifier" title="Permalink to this definition"></a></dt> <dd><p>Bases: <a class="reference internal" href="#quapy.method.base.BaseQuantifier" title="quapy.method.base.BaseQuantifier"><code class="xref py py-class docutils literal notranslate"><span class="pre">BaseQuantifier</span></code></a>, <code class="xref py py-class docutils literal notranslate"><span class="pre">ABC</span></code></p> <p>Abstract class for quantification methods that base their estimations on the aggregation of classification results. Aggregative quantifiers implement a pipeline that consists of generating classification predictions @@ -306,7 +352,7 @@ and <a class="reference internal" href="#quapy.method.aggregative.AggregativeQua and <a class="reference internal" href="#quapy.method.aggregative.AggregativeQuantifier.aggregate" title="quapy.method.aggregative.AggregativeQuantifier.aggregate"><code class="xref py py-meth docutils literal notranslate"><span class="pre">aggregate()</span></code></a>.</p> <dl class="py method"> <dt class="sig sig-object py" id="quapy.method.aggregative.AggregativeQuantifier.aggregate"> -<em class="property"><span class="pre">abstract</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">aggregate</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">classif_predictions</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">ndarray</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/aggregative.html#AggregativeQuantifier.aggregate"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.aggregative.AggregativeQuantifier.aggregate" title="Link to this definition"></a></dt> +<em class="property"><span class="pre">abstract</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">aggregate</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">classif_predictions</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">ndarray</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/aggregative.html#AggregativeQuantifier.aggregate"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.aggregative.AggregativeQuantifier.aggregate" title="Permalink to this definition"></a></dt> <dd><p>Implements the aggregation of label predictions.</p> <dl class="field-list simple"> <dt class="field-odd">Parameters<span class="colon">:</span></dt> @@ -320,13 +366,13 @@ and <a class="reference internal" href="#quapy.method.aggregative.AggregativeQua <dl class="py method"> <dt class="sig sig-object py" id="quapy.method.aggregative.AggregativeQuantifier.aggregation_fit"> -<em class="property"><span class="pre">abstract</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">aggregation_fit</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">classif_predictions</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="quapy.data.html#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><span class="pre">LabelledCollection</span></a></span></em>, <em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="quapy.data.html#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><span class="pre">LabelledCollection</span></a></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/aggregative.html#AggregativeQuantifier.aggregation_fit"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.aggregative.AggregativeQuantifier.aggregation_fit" title="Link to this definition"></a></dt> +<em class="property"><span class="pre">abstract</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">aggregation_fit</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">classif_predictions</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="quapy.data.html#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><span class="pre">LabelledCollection</span></a></span></em>, <em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="quapy.data.html#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><span class="pre">LabelledCollection</span></a></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/aggregative.html#AggregativeQuantifier.aggregation_fit"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.aggregative.AggregativeQuantifier.aggregation_fit" title="Permalink to this definition"></a></dt> <dd><p>Trains the aggregation function.</p> <dl class="field-list simple"> <dt class="field-odd">Parameters<span class="colon">:</span></dt> <dd class="field-odd"><ul class="simple"> -<li><p><strong>classif_predictions</strong> – a LabelledCollection containing the label predictions issued -by the classifier</p></li> +<li><p><strong>classif_predictions</strong> – a <a class="reference internal" href="quapy.data.html#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><code class="xref py py-class docutils literal notranslate"><span class="pre">quapy.data.base.LabelledCollection</span></code></a> containing, +as instances, the predictions issued by the classifier and, as labels, the true labels</p></li> <li><p><strong>data</strong> – a <a class="reference internal" href="quapy.data.html#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><code class="xref py py-class docutils literal notranslate"><span class="pre">quapy.data.base.LabelledCollection</span></code></a> consisting of the training data</p></li> </ul> </dd> @@ -335,7 +381,7 @@ by the classifier</p></li> <dl class="py property"> <dt class="sig sig-object py" id="quapy.method.aggregative.AggregativeQuantifier.classes_"> -<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">classes_</span></span><a class="headerlink" href="#quapy.method.aggregative.AggregativeQuantifier.classes_" title="Link to this definition"></a></dt> +<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">classes_</span></span><a class="headerlink" href="#quapy.method.aggregative.AggregativeQuantifier.classes_" title="Permalink to this definition"></a></dt> <dd><p>Class labels, in the same order in which class prevalence values are to be computed. This default implementation actually returns the class labels of the learner.</p> <dl class="field-list simple"> @@ -347,7 +393,7 @@ This default implementation actually returns the class labels of the learner.</p <dl class="py property"> <dt class="sig sig-object py" id="quapy.method.aggregative.AggregativeQuantifier.classifier"> -<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">classifier</span></span><a class="headerlink" href="#quapy.method.aggregative.AggregativeQuantifier.classifier" title="Link to this definition"></a></dt> +<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">classifier</span></span><a class="headerlink" href="#quapy.method.aggregative.AggregativeQuantifier.classifier" title="Permalink to this definition"></a></dt> <dd><p>Gives access to the classifier</p> <dl class="field-list simple"> <dt class="field-odd">Returns<span class="colon">:</span></dt> @@ -358,7 +404,7 @@ This default implementation actually returns the class labels of the learner.</p <dl class="py method"> <dt class="sig sig-object py" id="quapy.method.aggregative.AggregativeQuantifier.classifier_fit_predict"> -<span class="sig-name descname"><span class="pre">classifier_fit_predict</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="quapy.data.html#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><span class="pre">LabelledCollection</span></a></span></em>, <em class="sig-param"><span class="n"><span class="pre">fit_classifier</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">predict_on</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/aggregative.html#AggregativeQuantifier.classifier_fit_predict"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.aggregative.AggregativeQuantifier.classifier_fit_predict" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">classifier_fit_predict</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="quapy.data.html#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><span class="pre">LabelledCollection</span></a></span></em>, <em class="sig-param"><span class="n"><span class="pre">fit_classifier</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">predict_on</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/aggregative.html#AggregativeQuantifier.classifier_fit_predict"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.aggregative.AggregativeQuantifier.classifier_fit_predict" title="Permalink to this definition"></a></dt> <dd><p>Trains the classifier if requested (<cite>fit_classifier=True</cite>) and generate the necessary predictions to train the aggregation function.</p> <dl class="field-list simple"> @@ -380,7 +426,7 @@ the predictions.</p></li> <dl class="py method"> <dt class="sig sig-object py" id="quapy.method.aggregative.AggregativeQuantifier.classify"> -<span class="sig-name descname"><span class="pre">classify</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">instances</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/aggregative.html#AggregativeQuantifier.classify"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.aggregative.AggregativeQuantifier.classify" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">classify</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">instances</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/aggregative.html#AggregativeQuantifier.classify"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.aggregative.AggregativeQuantifier.classify" title="Permalink to this definition"></a></dt> <dd><p>Provides the label predictions for the given instances. The predictions should respect the format expected by <a class="reference internal" href="#quapy.method.aggregative.AggregativeQuantifier.aggregate" title="quapy.method.aggregative.AggregativeQuantifier.aggregate"><code class="xref py py-meth docutils literal notranslate"><span class="pre">aggregate()</span></code></a>, e.g., posterior probabilities for probabilistic quantifiers, or crisp predictions for non-probabilistic quantifiers. The default one is “decision_function”.</p> @@ -396,7 +442,7 @@ non-probabilistic quantifiers. The default one is “decision_function”.</p> <dl class="py method"> <dt class="sig sig-object py" id="quapy.method.aggregative.AggregativeQuantifier.fit"> -<span class="sig-name descname"><span class="pre">fit</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="quapy.data.html#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><span class="pre">LabelledCollection</span></a></span></em>, <em class="sig-param"><span class="n"><span class="pre">fit_classifier</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">val_split</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/aggregative.html#AggregativeQuantifier.fit"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.aggregative.AggregativeQuantifier.fit" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">fit</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="quapy.data.html#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><span class="pre">LabelledCollection</span></a></span></em>, <em class="sig-param"><span class="n"><span class="pre">fit_classifier</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">val_split</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/aggregative.html#AggregativeQuantifier.fit"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.aggregative.AggregativeQuantifier.fit" title="Permalink to this definition"></a></dt> <dd><p>Trains the aggregative quantifier. This comes down to training a classifier and an aggregation function.</p> <dl class="field-list simple"> <dt class="field-odd">Parameters<span class="colon">:</span></dt> @@ -414,7 +460,7 @@ learner has been trained outside the quantifier.</p></li> <dl class="py method"> <dt class="sig sig-object py" id="quapy.method.aggregative.AggregativeQuantifier.quantify"> -<span class="sig-name descname"><span class="pre">quantify</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">instances</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/aggregative.html#AggregativeQuantifier.quantify"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.aggregative.AggregativeQuantifier.quantify" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">quantify</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">instances</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/aggregative.html#AggregativeQuantifier.quantify"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.aggregative.AggregativeQuantifier.quantify" title="Permalink to this definition"></a></dt> <dd><p>Generate class prevalence estimates for the sample’s instances by aggregating the label predictions generated by the classifier.</p> <dl class="field-list simple"> @@ -429,19 +475,19 @@ by the classifier.</p> <dl class="py property"> <dt class="sig sig-object py" id="quapy.method.aggregative.AggregativeQuantifier.val_split"> -<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">val_split</span></span><a class="headerlink" href="#quapy.method.aggregative.AggregativeQuantifier.val_split" title="Link to this definition"></a></dt> +<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">val_split</span></span><a class="headerlink" href="#quapy.method.aggregative.AggregativeQuantifier.val_split" title="Permalink to this definition"></a></dt> <dd></dd></dl> <dl class="py attribute"> <dt class="sig sig-object py" id="quapy.method.aggregative.AggregativeQuantifier.val_split_"> -<span class="sig-name descname"><span class="pre">val_split_</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">None</span></em><a class="headerlink" href="#quapy.method.aggregative.AggregativeQuantifier.val_split_" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">val_split_</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">None</span></em><a class="headerlink" href="#quapy.method.aggregative.AggregativeQuantifier.val_split_" title="Permalink to this definition"></a></dt> <dd></dd></dl> </dd></dl> <dl class="py class"> <dt class="sig sig-object py" id="quapy.method.aggregative.AggregativeSoftQuantifier"> -<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">quapy.method.aggregative.</span></span><span class="sig-name descname"><span class="pre">AggregativeSoftQuantifier</span></span><a class="reference internal" href="_modules/quapy/method/aggregative.html#AggregativeSoftQuantifier"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.aggregative.AggregativeSoftQuantifier" title="Link to this definition"></a></dt> +<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">quapy.method.aggregative.</span></span><span class="sig-name descname"><span class="pre">AggregativeSoftQuantifier</span></span><a class="reference internal" href="_modules/quapy/method/aggregative.html#AggregativeSoftQuantifier"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.aggregative.AggregativeSoftQuantifier" title="Permalink to this definition"></a></dt> <dd><p>Bases: <a class="reference internal" href="#quapy.method.aggregative.AggregativeQuantifier" title="quapy.method.aggregative.AggregativeQuantifier"><code class="xref py py-class docutils literal notranslate"><span class="pre">AggregativeQuantifier</span></code></a>, <code class="xref py py-class docutils literal notranslate"><span class="pre">ABC</span></code></p> <p>Abstract class for quantification methods that base their estimations on the aggregation of posterior probabilities as returned by a probabilistic classifier. @@ -449,13 +495,83 @@ Aggregative soft quantifiers thus extend Aggregative Quantifiers by implementing about soft predictions.</p> </dd></dl> +<dl class="py class"> +<dt class="sig sig-object py" id="quapy.method.aggregative.BayesianCC"> +<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">quapy.method.aggregative.</span></span><span class="sig-name descname"><span class="pre">BayesianCC</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">classifier</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">BaseEstimator</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">val_split</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">0.75</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">num_warmup</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">500</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">num_samples</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">1000</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">mcmc_seed</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">0</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/aggregative.html#BayesianCC"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.aggregative.BayesianCC" title="Permalink to this definition"></a></dt> +<dd><p>Bases: <a class="reference internal" href="#quapy.method.aggregative.AggregativeCrispQuantifier" title="quapy.method.aggregative.AggregativeCrispQuantifier"><code class="xref py py-class docutils literal notranslate"><span class="pre">AggregativeCrispQuantifier</span></code></a></p> +<p><a class="reference external" href="https://arxiv.org/abs/2302.09159">Bayesian quantification</a> method, +which is a variant of <a class="reference internal" href="#quapy.method.aggregative.ACC" title="quapy.method.aggregative.ACC"><code class="xref py py-class docutils literal notranslate"><span class="pre">ACC</span></code></a> that calculates the posterior probability distribution +over the prevalence vectors, rather than providing a point estimate obtained +by matrix inversion.</p> +<p>Can be used to diagnose degeneracy in the predictions visible when the confusion +matrix has high condition number or to quantify uncertainty around the point estimate.</p> +<p>This method relies on extra dependencies, which have to be installed via: +<cite>$ pip install quapy[bayes]</cite></p> +<dl class="field-list simple"> +<dt class="field-odd">Parameters<span class="colon">:</span></dt> +<dd class="field-odd"><ul class="simple"> +<li><p><strong>classifier</strong> – a sklearn’s Estimator that generates a classifier</p></li> +<li><p><strong>val_split</strong> – a float in (0, 1) indicating the proportion of the training data to be used, +as a stratified held-out validation set, for generating classifier predictions.</p></li> +<li><p><strong>num_warmup</strong> – number of warmup iterations for the MCMC sampler (default 500)</p></li> +<li><p><strong>num_samples</strong> – number of samples to draw from the posterior (default 1000)</p></li> +<li><p><strong>mcmc_seed</strong> – random seed for the MCMC sampler (default 0)</p></li> +</ul> +</dd> +</dl> +<dl class="py method"> +<dt class="sig sig-object py" id="quapy.method.aggregative.BayesianCC.aggregate"> +<span class="sig-name descname"><span class="pre">aggregate</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">classif_predictions</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/aggregative.html#BayesianCC.aggregate"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.aggregative.BayesianCC.aggregate" title="Permalink to this definition"></a></dt> +<dd><p>Implements the aggregation of label predictions.</p> +<dl class="field-list simple"> +<dt class="field-odd">Parameters<span class="colon">:</span></dt> +<dd class="field-odd"><p><strong>classif_predictions</strong> – <cite>np.ndarray</cite> of label predictions</p> +</dd> +<dt class="field-even">Returns<span class="colon">:</span></dt> +<dd class="field-even"><p><cite>np.ndarray</cite> of shape <cite>(n_classes,)</cite> with class prevalence estimates.</p> +</dd> +</dl> +</dd></dl> + +<dl class="py method"> +<dt class="sig sig-object py" id="quapy.method.aggregative.BayesianCC.aggregation_fit"> +<span class="sig-name descname"><span class="pre">aggregation_fit</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">classif_predictions</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="quapy.data.html#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><span class="pre">LabelledCollection</span></a></span></em>, <em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="quapy.data.html#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><span class="pre">LabelledCollection</span></a></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/aggregative.html#BayesianCC.aggregation_fit"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.aggregative.BayesianCC.aggregation_fit" title="Permalink to this definition"></a></dt> +<dd><p>Estimates the misclassification rates.</p> +<dl class="field-list simple"> +<dt class="field-odd">Parameters<span class="colon">:</span></dt> +<dd class="field-odd"><ul class="simple"> +<li><p><strong>classif_predictions</strong> – a <a class="reference internal" href="quapy.data.html#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><code class="xref py py-class docutils literal notranslate"><span class="pre">quapy.data.base.LabelledCollection</span></code></a> containing, +as instances, the label predictions issued by the classifier and, as labels, the true labels</p></li> +<li><p><strong>data</strong> – a <a class="reference internal" href="quapy.data.html#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><code class="xref py py-class docutils literal notranslate"><span class="pre">quapy.data.base.LabelledCollection</span></code></a> consisting of the training data</p></li> +</ul> +</dd> +</dl> +</dd></dl> + +<dl class="py method"> +<dt class="sig sig-object py" id="quapy.method.aggregative.BayesianCC.get_conditional_probability_samples"> +<span class="sig-name descname"><span class="pre">get_conditional_probability_samples</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/aggregative.html#BayesianCC.get_conditional_probability_samples"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.aggregative.BayesianCC.get_conditional_probability_samples" title="Permalink to this definition"></a></dt> +<dd></dd></dl> + +<dl class="py method"> +<dt class="sig sig-object py" id="quapy.method.aggregative.BayesianCC.get_prevalence_samples"> +<span class="sig-name descname"><span class="pre">get_prevalence_samples</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/aggregative.html#BayesianCC.get_prevalence_samples"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.aggregative.BayesianCC.get_prevalence_samples" title="Permalink to this definition"></a></dt> +<dd></dd></dl> + +<dl class="py method"> +<dt class="sig sig-object py" id="quapy.method.aggregative.BayesianCC.sample_from_posterior"> +<span class="sig-name descname"><span class="pre">sample_from_posterior</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">classif_predictions</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/aggregative.html#BayesianCC.sample_from_posterior"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.aggregative.BayesianCC.sample_from_posterior" title="Permalink to this definition"></a></dt> +<dd></dd></dl> + +</dd></dl> + <dl class="py class"> <dt class="sig sig-object py" id="quapy.method.aggregative.BinaryAggregativeQuantifier"> -<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">quapy.method.aggregative.</span></span><span class="sig-name descname"><span class="pre">BinaryAggregativeQuantifier</span></span><a class="reference internal" href="_modules/quapy/method/aggregative.html#BinaryAggregativeQuantifier"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.aggregative.BinaryAggregativeQuantifier" title="Link to this definition"></a></dt> +<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">quapy.method.aggregative.</span></span><span class="sig-name descname"><span class="pre">BinaryAggregativeQuantifier</span></span><a class="reference internal" href="_modules/quapy/method/aggregative.html#BinaryAggregativeQuantifier"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.aggregative.BinaryAggregativeQuantifier" title="Permalink to this definition"></a></dt> <dd><p>Bases: <a class="reference internal" href="#quapy.method.aggregative.AggregativeQuantifier" title="quapy.method.aggregative.AggregativeQuantifier"><code class="xref py py-class docutils literal notranslate"><span class="pre">AggregativeQuantifier</span></code></a>, <a class="reference internal" href="#quapy.method.base.BinaryQuantifier" title="quapy.method.base.BinaryQuantifier"><code class="xref py py-class docutils literal notranslate"><span class="pre">BinaryQuantifier</span></code></a></p> <dl class="py method"> <dt class="sig sig-object py" id="quapy.method.aggregative.BinaryAggregativeQuantifier.fit"> -<span class="sig-name descname"><span class="pre">fit</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="quapy.data.html#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><span class="pre">LabelledCollection</span></a></span></em>, <em class="sig-param"><span class="n"><span class="pre">fit_classifier</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">val_split</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/aggregative.html#BinaryAggregativeQuantifier.fit"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.aggregative.BinaryAggregativeQuantifier.fit" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">fit</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="quapy.data.html#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><span class="pre">LabelledCollection</span></a></span></em>, <em class="sig-param"><span class="n"><span class="pre">fit_classifier</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">val_split</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/aggregative.html#BinaryAggregativeQuantifier.fit"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.aggregative.BinaryAggregativeQuantifier.fit" title="Permalink to this definition"></a></dt> <dd><p>Trains the aggregative quantifier. This comes down to training a classifier and an aggregation function.</p> <dl class="field-list simple"> <dt class="field-odd">Parameters<span class="colon">:</span></dt> @@ -473,19 +589,19 @@ learner has been trained outside the quantifier.</p></li> <dl class="py property"> <dt class="sig sig-object py" id="quapy.method.aggregative.BinaryAggregativeQuantifier.neg_label"> -<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">neg_label</span></span><a class="headerlink" href="#quapy.method.aggregative.BinaryAggregativeQuantifier.neg_label" title="Link to this definition"></a></dt> +<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">neg_label</span></span><a class="headerlink" href="#quapy.method.aggregative.BinaryAggregativeQuantifier.neg_label" title="Permalink to this definition"></a></dt> <dd></dd></dl> <dl class="py property"> <dt class="sig sig-object py" id="quapy.method.aggregative.BinaryAggregativeQuantifier.pos_label"> -<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">pos_label</span></span><a class="headerlink" href="#quapy.method.aggregative.BinaryAggregativeQuantifier.pos_label" title="Link to this definition"></a></dt> +<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">pos_label</span></span><a class="headerlink" href="#quapy.method.aggregative.BinaryAggregativeQuantifier.pos_label" title="Permalink to this definition"></a></dt> <dd></dd></dl> </dd></dl> <dl class="py class"> <dt class="sig sig-object py" id="quapy.method.aggregative.CC"> -<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">quapy.method.aggregative.</span></span><span class="sig-name descname"><span class="pre">CC</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">classifier</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">BaseEstimator</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/aggregative.html#CC"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.aggregative.CC" title="Link to this definition"></a></dt> +<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">quapy.method.aggregative.</span></span><span class="sig-name descname"><span class="pre">CC</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">classifier</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">BaseEstimator</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/aggregative.html#CC"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.aggregative.CC" title="Permalink to this definition"></a></dt> <dd><p>Bases: <a class="reference internal" href="#quapy.method.aggregative.AggregativeCrispQuantifier" title="quapy.method.aggregative.AggregativeCrispQuantifier"><code class="xref py py-class docutils literal notranslate"><span class="pre">AggregativeCrispQuantifier</span></code></a></p> <p>The most basic Quantification method. One that simply classifies all instances and counts how many have been attributed to each of the classes in order to compute class prevalence estimates.</p> @@ -496,7 +612,7 @@ attributed to each of the classes in order to compute class prevalence estimates </dl> <dl class="py method"> <dt class="sig sig-object py" id="quapy.method.aggregative.CC.aggregate"> -<span class="sig-name descname"><span class="pre">aggregate</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">classif_predictions</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">ndarray</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/aggregative.html#CC.aggregate"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.aggregative.CC.aggregate" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">aggregate</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">classif_predictions</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">ndarray</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/aggregative.html#CC.aggregate"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.aggregative.CC.aggregate" title="Permalink to this definition"></a></dt> <dd><p>Computes class prevalence estimates by counting the prevalence of each of the predicted labels.</p> <dl class="field-list simple"> <dt class="field-odd">Parameters<span class="colon">:</span></dt> @@ -510,11 +626,14 @@ attributed to each of the classes in order to compute class prevalence estimates <dl class="py method"> <dt class="sig sig-object py" id="quapy.method.aggregative.CC.aggregation_fit"> -<span class="sig-name descname"><span class="pre">aggregation_fit</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">classif_predictions</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="quapy.data.html#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><span class="pre">LabelledCollection</span></a></span></em>, <em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="quapy.data.html#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><span class="pre">LabelledCollection</span></a></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/aggregative.html#CC.aggregation_fit"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.aggregative.CC.aggregation_fit" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">aggregation_fit</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">classif_predictions</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="quapy.data.html#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><span class="pre">LabelledCollection</span></a></span></em>, <em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="quapy.data.html#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><span class="pre">LabelledCollection</span></a></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/aggregative.html#CC.aggregation_fit"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.aggregative.CC.aggregation_fit" title="Permalink to this definition"></a></dt> <dd><p>Nothing to do here!</p> <dl class="field-list simple"> <dt class="field-odd">Parameters<span class="colon">:</span></dt> -<dd class="field-odd"><p><strong>classif_predictions</strong> – this is actually None</p> +<dd class="field-odd"><ul class="simple"> +<li><p><strong>classif_predictions</strong> – not used</p></li> +<li><p><strong>data</strong> – not used</p></li> +</ul> </dd> </dl> </dd></dl> @@ -523,13 +642,13 @@ attributed to each of the classes in order to compute class prevalence estimates <dl class="py attribute"> <dt class="sig sig-object py" id="quapy.method.aggregative.ClassifyAndCount"> -<span class="sig-prename descclassname"><span class="pre">quapy.method.aggregative.</span></span><span class="sig-name descname"><span class="pre">ClassifyAndCount</span></span><a class="headerlink" href="#quapy.method.aggregative.ClassifyAndCount" title="Link to this definition"></a></dt> +<span class="sig-prename descclassname"><span class="pre">quapy.method.aggregative.</span></span><span class="sig-name descname"><span class="pre">ClassifyAndCount</span></span><a class="headerlink" href="#quapy.method.aggregative.ClassifyAndCount" title="Permalink to this definition"></a></dt> <dd><p>alias of <a class="reference internal" href="#quapy.method.aggregative.CC" title="quapy.method.aggregative.CC"><code class="xref py py-class docutils literal notranslate"><span class="pre">CC</span></code></a></p> </dd></dl> <dl class="py class"> <dt class="sig sig-object py" id="quapy.method.aggregative.DMy"> -<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">quapy.method.aggregative.</span></span><span class="sig-name descname"><span class="pre">DMy</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">classifier</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">val_split</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">5</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">nbins</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">8</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">divergence</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">Callable</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">'HD'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">cdf</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">search</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'optim_minimize'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">n_jobs</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/aggregative.html#DMy"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.aggregative.DMy" title="Link to this definition"></a></dt> +<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">quapy.method.aggregative.</span></span><span class="sig-name descname"><span class="pre">DMy</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">classifier</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">val_split</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">5</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">nbins</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">8</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">divergence</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Union</span><span class="p"><span class="pre">[</span></span><span class="pre">str</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">Callable</span><span class="p"><span class="pre">]</span></span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">'HD'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">cdf</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">search</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'optim_minimize'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">n_jobs</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/aggregative.html#DMy"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.aggregative.DMy" title="Permalink to this definition"></a></dt> <dd><p>Bases: <a class="reference internal" href="#quapy.method.aggregative.AggregativeSoftQuantifier" title="quapy.method.aggregative.AggregativeSoftQuantifier"><code class="xref py py-class docutils literal notranslate"><span class="pre">AggregativeSoftQuantifier</span></code></a></p> <p>Generic Distribution Matching quantifier for binary or multiclass quantification based on the space of posterior probabilities. This implementation takes the number of bins, the divergence, and the possibility to work on CDF @@ -555,7 +674,7 @@ Distance)</p></li> </dl> <dl class="py method"> <dt class="sig sig-object py" id="quapy.method.aggregative.DMy.aggregate"> -<span class="sig-name descname"><span class="pre">aggregate</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">posteriors</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">ndarray</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/aggregative.html#DMy.aggregate"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.aggregative.DMy.aggregate" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">aggregate</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">posteriors</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">ndarray</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/aggregative.html#DMy.aggregate"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.aggregative.DMy.aggregate" title="Permalink to this definition"></a></dt> <dd><p>Searches for the mixture model parameter (the sought prevalence values) that yields a validation distribution (the mixture) that best matches the test distribution, in terms of the divergence measure of choice. In the multiclass case, with <cite>n</cite> the number of classes, the test and mixture distributions contain @@ -573,8 +692,9 @@ independently. The matching is computed as an average of the divergence across a <dl class="py method"> <dt class="sig sig-object py" id="quapy.method.aggregative.DMy.aggregation_fit"> -<span class="sig-name descname"><span class="pre">aggregation_fit</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">classif_predictions</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="quapy.data.html#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><span class="pre">LabelledCollection</span></a></span></em>, <em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="quapy.data.html#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><span class="pre">LabelledCollection</span></a></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/aggregative.html#DMy.aggregation_fit"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.aggregative.DMy.aggregation_fit" title="Link to this definition"></a></dt> -<dd><p>Trains the classifier (if requested) and generates the validation distributions out of the training data. +<span class="sig-name descname"><span class="pre">aggregation_fit</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">classif_predictions</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="quapy.data.html#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><span class="pre">LabelledCollection</span></a></span></em>, <em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="quapy.data.html#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><span class="pre">LabelledCollection</span></a></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/aggregative.html#DMy.aggregation_fit"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.aggregative.DMy.aggregation_fit" title="Permalink to this definition"></a></dt> +<dd><p>Trains the aggregation function of a distribution matching method. This comes down to generating the +validation distributions out of the training data. The validation distributions have shape <cite>(n, ch, nbins)</cite>, with <cite>n</cite> the number of classes, <cite>ch</cite> the number of channels, and <cite>nbins</cite> the number of bins. In particular, let <cite>V</cite> be the validation distributions; then <cite>di=V[i]</cite> are the distributions obtained from training data labelled with class <cite>i</cite>; while <cite>dij = di[j]</cite> is the discrete @@ -583,12 +703,9 @@ is the fraction of instances with a value in the <cite>k</cite>-th bin.</p> <dl class="field-list simple"> <dt class="field-odd">Parameters<span class="colon">:</span></dt> <dd class="field-odd"><ul class="simple"> -<li><p><strong>data</strong> – the training set</p></li> -<li><p><strong>fit_classifier</strong> – set to False to bypass the training (the learner is assumed to be already fit)</p></li> -<li><p><strong>val_split</strong> – either a float in (0,1) indicating the proportion of training instances to use for -validation (e.g., 0.3 for using 30% of the training set as validation data), or a LabelledCollection -indicating the validation set itself, or an int indicating the number k of folds to be used in kFCV -to estimate the parameters</p></li> +<li><p><strong>classif_predictions</strong> – a <a class="reference internal" href="quapy.data.html#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><code class="xref py py-class docutils literal notranslate"><span class="pre">quapy.data.base.LabelledCollection</span></code></a> containing, +as instances, the posterior probabilities issued by the classifier and, as labels, the true labels</p></li> +<li><p><strong>data</strong> – a <a class="reference internal" href="quapy.data.html#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><code class="xref py py-class docutils literal notranslate"><span class="pre">quapy.data.base.LabelledCollection</span></code></a> consisting of the training data</p></li> </ul> </dd> </dl> @@ -598,13 +715,13 @@ to estimate the parameters</p></li> <dl class="py attribute"> <dt class="sig sig-object py" id="quapy.method.aggregative.DistributionMatchingY"> -<span class="sig-prename descclassname"><span class="pre">quapy.method.aggregative.</span></span><span class="sig-name descname"><span class="pre">DistributionMatchingY</span></span><a class="headerlink" href="#quapy.method.aggregative.DistributionMatchingY" title="Link to this definition"></a></dt> +<span class="sig-prename descclassname"><span class="pre">quapy.method.aggregative.</span></span><span class="sig-name descname"><span class="pre">DistributionMatchingY</span></span><a class="headerlink" href="#quapy.method.aggregative.DistributionMatchingY" title="Permalink to this definition"></a></dt> <dd><p>alias of <a class="reference internal" href="#quapy.method.aggregative.DMy" title="quapy.method.aggregative.DMy"><code class="xref py py-class docutils literal notranslate"><span class="pre">DMy</span></code></a></p> </dd></dl> <dl class="py class"> <dt class="sig sig-object py" id="quapy.method.aggregative.DyS"> -<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">quapy.method.aggregative.</span></span><span class="sig-name descname"><span class="pre">DyS</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">classifier</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">BaseEstimator</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">val_split</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">5</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">n_bins</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">8</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">divergence</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">Callable</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">'HD'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">tol</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">1e-05</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">n_jobs</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/aggregative.html#DyS"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.aggregative.DyS" title="Link to this definition"></a></dt> +<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">quapy.method.aggregative.</span></span><span class="sig-name descname"><span class="pre">DyS</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">classifier</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">BaseEstimator</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">val_split</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">5</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">n_bins</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">8</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">divergence</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Union</span><span class="p"><span class="pre">[</span></span><span class="pre">str</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">Callable</span><span class="p"><span class="pre">]</span></span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">'HD'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">tol</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">1e-05</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">n_jobs</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/aggregative.html#DyS"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.aggregative.DyS" title="Permalink to this definition"></a></dt> <dd><p>Bases: <a class="reference internal" href="#quapy.method.aggregative.AggregativeSoftQuantifier" title="quapy.method.aggregative.AggregativeSoftQuantifier"><code class="xref py py-class docutils literal notranslate"><span class="pre">AggregativeSoftQuantifier</span></code></a>, <a class="reference internal" href="#quapy.method.aggregative.BinaryAggregativeQuantifier" title="quapy.method.aggregative.BinaryAggregativeQuantifier"><code class="xref py py-class docutils literal notranslate"><span class="pre">BinaryAggregativeQuantifier</span></code></a></p> <p><a class="reference external" href="https://ojs.aaai.org/index.php/AAAI/article/view/4376">DyS framework</a> (DyS). DyS is a generalization of HDy method, using a Ternary Search in order to find the prevalence that @@ -626,7 +743,7 @@ callable function computes the divergence between two distributions (two equally </dl> <dl class="py method"> <dt class="sig sig-object py" id="quapy.method.aggregative.DyS.aggregate"> -<span class="sig-name descname"><span class="pre">aggregate</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">classif_posteriors</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/aggregative.html#DyS.aggregate"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.aggregative.DyS.aggregate" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">aggregate</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">classif_posteriors</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/aggregative.html#DyS.aggregate"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.aggregative.DyS.aggregate" title="Permalink to this definition"></a></dt> <dd><p>Implements the aggregation of label predictions.</p> <dl class="field-list simple"> <dt class="field-odd">Parameters<span class="colon">:</span></dt> @@ -640,13 +757,13 @@ callable function computes the divergence between two distributions (two equally <dl class="py method"> <dt class="sig sig-object py" id="quapy.method.aggregative.DyS.aggregation_fit"> -<span class="sig-name descname"><span class="pre">aggregation_fit</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">classif_predictions</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="quapy.data.html#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><span class="pre">LabelledCollection</span></a></span></em>, <em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="quapy.data.html#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><span class="pre">LabelledCollection</span></a></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/aggregative.html#DyS.aggregation_fit"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.aggregative.DyS.aggregation_fit" title="Link to this definition"></a></dt> -<dd><p>Trains the aggregation function.</p> +<span class="sig-name descname"><span class="pre">aggregation_fit</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">classif_predictions</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="quapy.data.html#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><span class="pre">LabelledCollection</span></a></span></em>, <em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="quapy.data.html#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><span class="pre">LabelledCollection</span></a></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/aggregative.html#DyS.aggregation_fit"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.aggregative.DyS.aggregation_fit" title="Permalink to this definition"></a></dt> +<dd><p>Trains the aggregation function of DyS.</p> <dl class="field-list simple"> <dt class="field-odd">Parameters<span class="colon">:</span></dt> <dd class="field-odd"><ul class="simple"> -<li><p><strong>classif_predictions</strong> – a LabelledCollection containing the label predictions issued -by the classifier</p></li> +<li><p><strong>classif_predictions</strong> – a <a class="reference internal" href="quapy.data.html#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><code class="xref py py-class docutils literal notranslate"><span class="pre">quapy.data.base.LabelledCollection</span></code></a> containing, +as instances, the posterior probabilities issued by the classifier and, as labels, the true labels</p></li> <li><p><strong>data</strong> – a <a class="reference internal" href="quapy.data.html#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><code class="xref py py-class docutils literal notranslate"><span class="pre">quapy.data.base.LabelledCollection</span></code></a> consisting of the training data</p></li> </ul> </dd> @@ -657,7 +774,7 @@ by the classifier</p></li> <dl class="py class"> <dt class="sig sig-object py" id="quapy.method.aggregative.EMQ"> -<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">quapy.method.aggregative.</span></span><span class="sig-name descname"><span class="pre">EMQ</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">classifier</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">BaseEstimator</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">val_split</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">exact_train_prev</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">recalib</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">n_jobs</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/aggregative.html#EMQ"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.aggregative.EMQ" title="Link to this definition"></a></dt> +<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">quapy.method.aggregative.</span></span><span class="sig-name descname"><span class="pre">EMQ</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">classifier</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">BaseEstimator</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">val_split</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">exact_train_prev</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">recalib</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">n_jobs</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/aggregative.html#EMQ"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.aggregative.EMQ" title="Permalink to this definition"></a></dt> <dd><p>Bases: <a class="reference internal" href="#quapy.method.aggregative.AggregativeSoftQuantifier" title="quapy.method.aggregative.AggregativeSoftQuantifier"><code class="xref py py-class docutils literal notranslate"><span class="pre">AggregativeSoftQuantifier</span></code></a></p> <p><a class="reference external" href="https://ieeexplore.ieee.org/abstract/document/6789744">Expectation Maximization for Quantification</a> (EMQ), aka <cite>Saerens-Latinne-Decaestecker</cite> (SLD) algorithm. @@ -694,7 +811,7 @@ an integer <cite>k</cite> –the number of folds.</p></li> </dl> <dl class="py method"> <dt class="sig sig-object py" id="quapy.method.aggregative.EMQ.EM"> -<em class="property"><span class="pre">classmethod</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">EM</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">tr_prev</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">posterior_probabilities</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">epsilon</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.0001</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/aggregative.html#EMQ.EM"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.aggregative.EMQ.EM" title="Link to this definition"></a></dt> +<em class="property"><span class="pre">classmethod</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">EM</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">tr_prev</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">posterior_probabilities</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">epsilon</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.0001</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/aggregative.html#EMQ.EM"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.aggregative.EMQ.EM" title="Permalink to this definition"></a></dt> <dd><p>Computes the <cite>Expectation Maximization</cite> routine.</p> <dl class="field-list simple"> <dt class="field-odd">Parameters<span class="colon">:</span></dt> @@ -715,7 +832,7 @@ the corrected posterior probabilities (shape <cite>(n_instances, n_classes,)</ci <dl class="py method"> <dt class="sig sig-object py" id="quapy.method.aggregative.EMQ.EMQ_BCTS"> -<em class="property"><span class="pre">classmethod</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">EMQ_BCTS</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">classifier</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">BaseEstimator</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">n_jobs</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/aggregative.html#EMQ.EMQ_BCTS"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.aggregative.EMQ.EMQ_BCTS" title="Link to this definition"></a></dt> +<em class="property"><span class="pre">classmethod</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">EMQ_BCTS</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">classifier</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">BaseEstimator</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">n_jobs</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/aggregative.html#EMQ.EMQ_BCTS"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.aggregative.EMQ.EMQ_BCTS" title="Permalink to this definition"></a></dt> <dd><p>Constructs an instance of EMQ using the best configuration found in the <a class="reference external" href="http://proceedings.mlr.press/v119/alexandari20a.html">Alexandari et al. paper</a>, i.e., one that relies on Bias-Corrected Temperature Scaling (BCTS) as a recalibration function, and that uses an estimate of the training prevalence instead of the true training prevalence.</p> @@ -734,17 +851,17 @@ the true training prevalence.</p> <dl class="py attribute"> <dt class="sig sig-object py" id="quapy.method.aggregative.EMQ.EPSILON"> -<span class="sig-name descname"><span class="pre">EPSILON</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">0.0001</span></em><a class="headerlink" href="#quapy.method.aggregative.EMQ.EPSILON" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">EPSILON</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">0.0001</span></em><a class="headerlink" href="#quapy.method.aggregative.EMQ.EPSILON" title="Permalink to this definition"></a></dt> <dd></dd></dl> <dl class="py attribute"> <dt class="sig sig-object py" id="quapy.method.aggregative.EMQ.MAX_ITER"> -<span class="sig-name descname"><span class="pre">MAX_ITER</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">1000</span></em><a class="headerlink" href="#quapy.method.aggregative.EMQ.MAX_ITER" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">MAX_ITER</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">1000</span></em><a class="headerlink" href="#quapy.method.aggregative.EMQ.MAX_ITER" title="Permalink to this definition"></a></dt> <dd></dd></dl> <dl class="py method"> <dt class="sig sig-object py" id="quapy.method.aggregative.EMQ.aggregate"> -<span class="sig-name descname"><span class="pre">aggregate</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">classif_posteriors</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">epsilon</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.0001</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/aggregative.html#EMQ.aggregate"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.aggregative.EMQ.aggregate" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">aggregate</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">classif_posteriors</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">epsilon</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.0001</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/aggregative.html#EMQ.aggregate"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.aggregative.EMQ.aggregate" title="Permalink to this definition"></a></dt> <dd><p>Implements the aggregation of label predictions.</p> <dl class="field-list simple"> <dt class="field-odd">Parameters<span class="colon">:</span></dt> @@ -758,13 +875,14 @@ the true training prevalence.</p> <dl class="py method"> <dt class="sig sig-object py" id="quapy.method.aggregative.EMQ.aggregation_fit"> -<span class="sig-name descname"><span class="pre">aggregation_fit</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">classif_predictions</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="quapy.data.html#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><span class="pre">LabelledCollection</span></a></span></em>, <em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="quapy.data.html#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><span class="pre">LabelledCollection</span></a></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/aggregative.html#EMQ.aggregation_fit"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.aggregative.EMQ.aggregation_fit" title="Link to this definition"></a></dt> -<dd><p>Trains the aggregation function.</p> +<span class="sig-name descname"><span class="pre">aggregation_fit</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">classif_predictions</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="quapy.data.html#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><span class="pre">LabelledCollection</span></a></span></em>, <em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="quapy.data.html#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><span class="pre">LabelledCollection</span></a></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/aggregative.html#EMQ.aggregation_fit"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.aggregative.EMQ.aggregation_fit" title="Permalink to this definition"></a></dt> +<dd><p>Trains the aggregation function of EMQ. This comes down to recalibrating the posterior probabilities +ir requested.</p> <dl class="field-list simple"> <dt class="field-odd">Parameters<span class="colon">:</span></dt> <dd class="field-odd"><ul class="simple"> -<li><p><strong>classif_predictions</strong> – a LabelledCollection containing the label predictions issued -by the classifier</p></li> +<li><p><strong>classif_predictions</strong> – a <a class="reference internal" href="quapy.data.html#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><code class="xref py py-class docutils literal notranslate"><span class="pre">quapy.data.base.LabelledCollection</span></code></a> containing, +as instances, the posterior probabilities issued by the classifier and, as labels, the true labels</p></li> <li><p><strong>data</strong> – a <a class="reference internal" href="quapy.data.html#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><code class="xref py py-class docutils literal notranslate"><span class="pre">quapy.data.base.LabelledCollection</span></code></a> consisting of the training data</p></li> </ul> </dd> @@ -773,7 +891,7 @@ by the classifier</p></li> <dl class="py method"> <dt class="sig sig-object py" id="quapy.method.aggregative.EMQ.classify"> -<span class="sig-name descname"><span class="pre">classify</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">instances</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/aggregative.html#EMQ.classify"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.aggregative.EMQ.classify" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">classify</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">instances</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/aggregative.html#EMQ.classify"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.aggregative.EMQ.classify" title="Permalink to this definition"></a></dt> <dd><p>Provides the posterior probabilities for the given instances. If the classifier was required to be recalibrated, then these posteriors are recalibrated accordingly.</p> <dl class="field-list simple"> @@ -788,7 +906,7 @@ to be recalibrated, then these posteriors are recalibrated accordingly.</p> <dl class="py method"> <dt class="sig sig-object py" id="quapy.method.aggregative.EMQ.predict_proba"> -<span class="sig-name descname"><span class="pre">predict_proba</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">instances</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">epsilon</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.0001</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/aggregative.html#EMQ.predict_proba"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.aggregative.EMQ.predict_proba" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">predict_proba</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">instances</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">epsilon</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.0001</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/aggregative.html#EMQ.predict_proba"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.aggregative.EMQ.predict_proba" title="Permalink to this definition"></a></dt> <dd><p>Returns the posterior probabilities updated by the EM algorithm.</p> <dl class="field-list simple"> <dt class="field-odd">Parameters<span class="colon">:</span></dt> @@ -807,13 +925,13 @@ to be recalibrated, then these posteriors are recalibrated accordingly.</p> <dl class="py attribute"> <dt class="sig sig-object py" id="quapy.method.aggregative.ExpectationMaximizationQuantifier"> -<span class="sig-prename descclassname"><span class="pre">quapy.method.aggregative.</span></span><span class="sig-name descname"><span class="pre">ExpectationMaximizationQuantifier</span></span><a class="headerlink" href="#quapy.method.aggregative.ExpectationMaximizationQuantifier" title="Link to this definition"></a></dt> +<span class="sig-prename descclassname"><span class="pre">quapy.method.aggregative.</span></span><span class="sig-name descname"><span class="pre">ExpectationMaximizationQuantifier</span></span><a class="headerlink" href="#quapy.method.aggregative.ExpectationMaximizationQuantifier" title="Permalink to this definition"></a></dt> <dd><p>alias of <a class="reference internal" href="#quapy.method.aggregative.EMQ" title="quapy.method.aggregative.EMQ"><code class="xref py py-class docutils literal notranslate"><span class="pre">EMQ</span></code></a></p> </dd></dl> <dl class="py class"> <dt class="sig sig-object py" id="quapy.method.aggregative.HDy"> -<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">quapy.method.aggregative.</span></span><span class="sig-name descname"><span class="pre">HDy</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">classifier</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">BaseEstimator</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">val_split</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">5</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/aggregative.html#HDy"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.aggregative.HDy" title="Link to this definition"></a></dt> +<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">quapy.method.aggregative.</span></span><span class="sig-name descname"><span class="pre">HDy</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">classifier</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">BaseEstimator</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">val_split</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">5</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/aggregative.html#HDy"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.aggregative.HDy" title="Permalink to this definition"></a></dt> <dd><p>Bases: <a class="reference internal" href="#quapy.method.aggregative.AggregativeSoftQuantifier" title="quapy.method.aggregative.AggregativeSoftQuantifier"><code class="xref py py-class docutils literal notranslate"><span class="pre">AggregativeSoftQuantifier</span></code></a>, <a class="reference internal" href="#quapy.method.aggregative.BinaryAggregativeQuantifier" title="quapy.method.aggregative.BinaryAggregativeQuantifier"><code class="xref py py-class docutils literal notranslate"><span class="pre">BinaryAggregativeQuantifier</span></code></a></p> <p><a class="reference external" href="https://www.sciencedirect.com/science/article/pii/S0020025512004069">Hellinger Distance y</a> (HDy). HDy is a probabilistic method for training binary quantifiers, that models quantification as the problem of @@ -833,7 +951,7 @@ validation distribution, or a <a class="reference internal" href="quapy.data.htm </dl> <dl class="py method"> <dt class="sig sig-object py" id="quapy.method.aggregative.HDy.aggregate"> -<span class="sig-name descname"><span class="pre">aggregate</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">classif_posteriors</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/aggregative.html#HDy.aggregate"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.aggregative.HDy.aggregate" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">aggregate</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">classif_posteriors</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/aggregative.html#HDy.aggregate"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.aggregative.HDy.aggregate" title="Permalink to this definition"></a></dt> <dd><p>Implements the aggregation of label predictions.</p> <dl class="field-list simple"> <dt class="field-odd">Parameters<span class="colon">:</span></dt> @@ -847,21 +965,16 @@ validation distribution, or a <a class="reference internal" href="quapy.data.htm <dl class="py method"> <dt class="sig sig-object py" id="quapy.method.aggregative.HDy.aggregation_fit"> -<span class="sig-name descname"><span class="pre">aggregation_fit</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">classif_predictions</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="quapy.data.html#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><span class="pre">LabelledCollection</span></a></span></em>, <em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="quapy.data.html#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><span class="pre">LabelledCollection</span></a></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/aggregative.html#HDy.aggregation_fit"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.aggregative.HDy.aggregation_fit" title="Link to this definition"></a></dt> -<dd><p>Trains a HDy quantifier.</p> +<span class="sig-name descname"><span class="pre">aggregation_fit</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">classif_predictions</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="quapy.data.html#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><span class="pre">LabelledCollection</span></a></span></em>, <em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="quapy.data.html#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><span class="pre">LabelledCollection</span></a></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/aggregative.html#HDy.aggregation_fit"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.aggregative.HDy.aggregation_fit" title="Permalink to this definition"></a></dt> +<dd><p>Trains the aggregation function of HDy.</p> <dl class="field-list simple"> <dt class="field-odd">Parameters<span class="colon">:</span></dt> <dd class="field-odd"><ul class="simple"> -<li><p><strong>data</strong> – the training set</p></li> -<li><p><strong>fit_classifier</strong> – set to False to bypass the training (the learner is assumed to be already fit)</p></li> -<li><p><strong>val_split</strong> – either a float in (0,1) indicating the proportion of training instances to use for -validation (e.g., 0.3 for using 30% of the training set as validation data), or a -<a class="reference internal" href="quapy.data.html#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><code class="xref py py-class docutils literal notranslate"><span class="pre">quapy.data.base.LabelledCollection</span></code></a> indicating the validation set itself</p></li> +<li><p><strong>classif_predictions</strong> – a <a class="reference internal" href="quapy.data.html#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><code class="xref py py-class docutils literal notranslate"><span class="pre">quapy.data.base.LabelledCollection</span></code></a> containing, +as instances, the posterior probabilities issued by the classifier and, as labels, the true labels</p></li> +<li><p><strong>data</strong> – a <a class="reference internal" href="quapy.data.html#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><code class="xref py py-class docutils literal notranslate"><span class="pre">quapy.data.base.LabelledCollection</span></code></a> consisting of the training data</p></li> </ul> </dd> -<dt class="field-even">Returns<span class="colon">:</span></dt> -<dd class="field-even"><p>self</p> -</dd> </dl> </dd></dl> @@ -869,13 +982,13 @@ validation (e.g., 0.3 for using 30% of the training set as validation data), or <dl class="py attribute"> <dt class="sig sig-object py" id="quapy.method.aggregative.HellingerDistanceY"> -<span class="sig-prename descclassname"><span class="pre">quapy.method.aggregative.</span></span><span class="sig-name descname"><span class="pre">HellingerDistanceY</span></span><a class="headerlink" href="#quapy.method.aggregative.HellingerDistanceY" title="Link to this definition"></a></dt> +<span class="sig-prename descclassname"><span class="pre">quapy.method.aggregative.</span></span><span class="sig-name descname"><span class="pre">HellingerDistanceY</span></span><a class="headerlink" href="#quapy.method.aggregative.HellingerDistanceY" title="Permalink to this definition"></a></dt> <dd><p>alias of <a class="reference internal" href="#quapy.method.aggregative.HDy" title="quapy.method.aggregative.HDy"><code class="xref py py-class docutils literal notranslate"><span class="pre">HDy</span></code></a></p> </dd></dl> <dl class="py class"> <dt class="sig sig-object py" id="quapy.method.aggregative.OneVsAllAggregative"> -<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">quapy.method.aggregative.</span></span><span class="sig-name descname"><span class="pre">OneVsAllAggregative</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">binary_quantifier</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">n_jobs</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">parallel_backend</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'multiprocessing'</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/aggregative.html#OneVsAllAggregative"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.aggregative.OneVsAllAggregative" title="Link to this definition"></a></dt> +<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">quapy.method.aggregative.</span></span><span class="sig-name descname"><span class="pre">OneVsAllAggregative</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">binary_quantifier</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">n_jobs</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">parallel_backend</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'multiprocessing'</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/aggregative.html#OneVsAllAggregative"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.aggregative.OneVsAllAggregative" title="Permalink to this definition"></a></dt> <dd><p>Bases: <a class="reference internal" href="#quapy.method.base.OneVsAllGeneric" title="quapy.method.base.OneVsAllGeneric"><code class="xref py py-class docutils literal notranslate"><span class="pre">OneVsAllGeneric</span></code></a>, <a class="reference internal" href="#quapy.method.aggregative.AggregativeQuantifier" title="quapy.method.aggregative.AggregativeQuantifier"><code class="xref py py-class docutils literal notranslate"><span class="pre">AggregativeQuantifier</span></code></a></p> <p>Allows any binary quantifier to perform quantification on single-label datasets. The method maintains one binary quantifier for each class, and then l1-normalizes the outputs so that the @@ -896,7 +1009,7 @@ is removed and no longer available at predict time.</p></li> </dl> <dl class="py method"> <dt class="sig sig-object py" id="quapy.method.aggregative.OneVsAllAggregative.aggregate"> -<span class="sig-name descname"><span class="pre">aggregate</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">classif_predictions</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/aggregative.html#OneVsAllAggregative.aggregate"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.aggregative.OneVsAllAggregative.aggregate" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">aggregate</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">classif_predictions</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/aggregative.html#OneVsAllAggregative.aggregate"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.aggregative.OneVsAllAggregative.aggregate" title="Permalink to this definition"></a></dt> <dd><p>Implements the aggregation of label predictions.</p> <dl class="field-list simple"> <dt class="field-odd">Parameters<span class="colon">:</span></dt> @@ -910,7 +1023,7 @@ is removed and no longer available at predict time.</p></li> <dl class="py method"> <dt class="sig sig-object py" id="quapy.method.aggregative.OneVsAllAggregative.classify"> -<span class="sig-name descname"><span class="pre">classify</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">instances</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/aggregative.html#OneVsAllAggregative.classify"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.aggregative.OneVsAllAggregative.classify" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">classify</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">instances</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/aggregative.html#OneVsAllAggregative.classify"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.aggregative.OneVsAllAggregative.classify" title="Permalink to this definition"></a></dt> <dd><p>If the base quantifier is not probabilistic, returns a matrix of shape <cite>(n,m,)</cite> with <cite>n</cite> the number of instances and <cite>m</cite> the number of classes. The entry <cite>(i,j)</cite> is a binary value indicating whether instance <cite>i `belongs to class `j</cite>. The binary classifications are independent of each other, meaning that an instance @@ -933,7 +1046,7 @@ probabilities are independent of each other, meaning that, in general, they do n <dl class="py class"> <dt class="sig sig-object py" id="quapy.method.aggregative.PACC"> -<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">quapy.method.aggregative.</span></span><span class="sig-name descname"><span class="pre">PACC</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">classifier</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">BaseEstimator</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">val_split</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">5</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">n_jobs</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">solver</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'minimize'</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/aggregative.html#PACC"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.aggregative.PACC" title="Link to this definition"></a></dt> +<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">quapy.method.aggregative.</span></span><span class="sig-name descname"><span class="pre">PACC</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">classifier</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">BaseEstimator</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">val_split</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">5</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">solver</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Literal</span><span class="p"><span class="pre">[</span></span><span class="s"><span class="pre">'minimize'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'exact'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'exact-raise'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'exact-cc'</span></span><span class="p"><span class="pre">]</span></span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">'minimize'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">method</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Literal</span><span class="p"><span class="pre">[</span></span><span class="s"><span class="pre">'inversion'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'invariant-ratio'</span></span><span class="p"><span class="pre">]</span></span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">'inversion'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">clipping</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Literal</span><span class="p"><span class="pre">[</span></span><span class="s"><span class="pre">'clip'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'none'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'project'</span></span><span class="p"><span class="pre">]</span></span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">'clip'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">n_jobs</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/aggregative.html#PACC"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.aggregative.PACC" title="Permalink to this definition"></a></dt> <dd><p>Bases: <a class="reference internal" href="#quapy.method.aggregative.AggregativeSoftQuantifier" title="quapy.method.aggregative.AggregativeSoftQuantifier"><code class="xref py py-class docutils literal notranslate"><span class="pre">AggregativeSoftQuantifier</span></code></a></p> <p><a class="reference external" href="https://ieeexplore.ieee.org/abstract/document/5694031">Probabilistic Adjusted Classify & Count</a>, the probabilistic variant of ACC that relies on the posterior probabilities returned by a probabilistic classifier.</p> @@ -947,25 +1060,34 @@ be extracted from the training set; or as an integer (default 5), indicating tha are to be generated in a <cite>k</cite>-fold cross-validation manner (with this integer indicating the value for <cite>k</cite>). Alternatively, this set can be specified at fit time by indicating the exact set of data on which the predictions are to be generated.</p></li> -<li><p><strong>n_jobs</strong> – number of parallel workers</p></li> -<li><p><strong>solver</strong> – <p>indicates the method to be used for obtaining the final estimates. The choice -‘exact’ comes down to solving the system of linear equations <span class="math notranslate nohighlight">\(Ax=B\)</span> where <cite>A</cite> is a -matrix containing the class-conditional probabilities of the predictions (e.g., the tpr and fpr in -binary) and <cite>B</cite> is the vector of prevalence values estimated via CC, as <span class="math notranslate nohighlight">\(x=A^{-1}B\)</span>. This solution -might not exist for degenerated classifiers, in which case the method defaults to classify and count -(i.e., does not attempt any adjustment). -Another option is to search for the prevalence vector that minimizes the L2 norm of <span class="math notranslate nohighlight">\(|Ax-B|\)</span>. The latter -is achieved by indicating solver=’minimize’. This one generally works better, and is the default parameter. -More details about this can be consulted in <a class="reference external" href="https://lq-2022.github.io/proceedings/CompleteVolume.pdf">Bunse, M. “On Multi-Class Extensions of Adjusted Classify and -Count”, on proceedings of the 2nd International Workshop on Learning to Quantify: Methods and Applications -(LQ 2022), ECML/PKDD 2022, Grenoble (France)</a>.</p> +<li><p><strong>method</strong> (<em>str</em>) – <p>adjustment method to be used:</p> +<ul> +<li><p>’inversion’: matrix inversion method based on the matrix equality <span class="math notranslate nohighlight">\(P(C)=P(C|Y)P(Y)\)</span>, which tries to invert <cite>P(C|Y)</cite> matrix.</p></li> +<li><p>’invariant-ratio’: invariant ratio estimator of <a class="reference external" href="https://jmlr.org/papers/v20/18-456.html">Vaz et al.</a>, which replaces the last equation with the normalization condition.</p></li> +</ul> </p></li> +<li><p><strong>solver</strong> (<em>str</em>) – <p>the method to use for solving the system of linear equations. Valid options are:</p> +<ul> +<li><p>’exact-raise’: tries to solve the system using matrix inversion. Raises an error if the matrix has rank strictly less than <cite>n_classes</cite>.</p></li> +<li><p>’exact-cc’: if the matrix is not of full rank, returns <cite>p_c</cite> as the estimates, which corresponds to no adjustment (i.e., the classify and count method. See <a class="reference internal" href="#quapy.method.aggregative.CC" title="quapy.method.aggregative.CC"><code class="xref py py-class docutils literal notranslate"><span class="pre">quapy.method.aggregative.CC</span></code></a>)</p></li> +<li><p>’exact’: deprecated, defaults to ‘exact-cc’</p></li> +<li><p>’minimize’: minimizes the L2 norm of <span class="math notranslate nohighlight">\(|Ax-B|\)</span>. This one generally works better, and is the default parameter. More details about this can be consulted in <a class="reference external" href="https://lq-2022.github.io/proceedings/CompleteVolume.pdf">Bunse, M. “On Multi-Class Extensions of Adjusted Classify and Count”, on proceedings of the 2nd International Workshop on Learning to Quantify: Methods and Applications (LQ 2022), ECML/PKDD 2022, Grenoble (France)</a>.</p></li> +</ul> +</p></li> +<li><p><strong>clipping</strong> (<em>str</em>) – <p>the method to use for normalization.</p> +<ul> +<li><p>If <cite>None</cite> or <cite>“none”</cite>, no normalization is performed.</p></li> +<li><p>If <cite>“clip”</cite>, the values are clipped to the range [0,1] and normalized, so they sum up to 1.</p></li> +<li><p>If <cite>“project”</cite>, the values are projected onto the probability simplex.</p></li> +</ul> +</p></li> +<li><p><strong>n_jobs</strong> – number of parallel workers</p></li> </ul> </dd> </dl> <dl class="py method"> <dt class="sig sig-object py" id="quapy.method.aggregative.PACC.aggregate"> -<span class="sig-name descname"><span class="pre">aggregate</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">classif_posteriors</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/aggregative.html#PACC.aggregate"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.aggregative.PACC.aggregate" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">aggregate</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">classif_posteriors</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/aggregative.html#PACC.aggregate"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.aggregative.PACC.aggregate" title="Permalink to this definition"></a></dt> <dd><p>Implements the aggregation of label predictions.</p> <dl class="field-list simple"> <dt class="field-odd">Parameters<span class="colon">:</span></dt> @@ -979,25 +1101,29 @@ Count”, on proceedings of the 2nd International Workshop on Learning to Quanti <dl class="py method"> <dt class="sig sig-object py" id="quapy.method.aggregative.PACC.aggregation_fit"> -<span class="sig-name descname"><span class="pre">aggregation_fit</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">classif_predictions</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="quapy.data.html#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><span class="pre">LabelledCollection</span></a></span></em>, <em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="quapy.data.html#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><span class="pre">LabelledCollection</span></a></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/aggregative.html#PACC.aggregation_fit"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.aggregative.PACC.aggregation_fit" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">aggregation_fit</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">classif_predictions</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="quapy.data.html#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><span class="pre">LabelledCollection</span></a></span></em>, <em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="quapy.data.html#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><span class="pre">LabelledCollection</span></a></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/aggregative.html#PACC.aggregation_fit"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.aggregative.PACC.aggregation_fit" title="Permalink to this definition"></a></dt> <dd><p>Estimates the misclassification rates</p> <dl class="field-list simple"> <dt class="field-odd">Parameters<span class="colon">:</span></dt> -<dd class="field-odd"><p><strong>classif_predictions</strong> – classifier soft predictions with true labels</p> +<dd class="field-odd"><ul class="simple"> +<li><p><strong>classif_predictions</strong> – a <a class="reference internal" href="quapy.data.html#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><code class="xref py py-class docutils literal notranslate"><span class="pre">quapy.data.base.LabelledCollection</span></code></a> containing, +as instances, the posterior probabilities issued by the classifier and, as labels, the true labels</p></li> +<li><p><strong>data</strong> – a <a class="reference internal" href="quapy.data.html#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><code class="xref py py-class docutils literal notranslate"><span class="pre">quapy.data.base.LabelledCollection</span></code></a> consisting of the training data</p></li> +</ul> </dd> </dl> </dd></dl> <dl class="py method"> <dt class="sig sig-object py" id="quapy.method.aggregative.PACC.getPteCondEstim"> -<em class="property"><span class="pre">classmethod</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">getPteCondEstim</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">classes</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">y</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">y_</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/aggregative.html#PACC.getPteCondEstim"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.aggregative.PACC.getPteCondEstim" title="Link to this definition"></a></dt> +<em class="property"><span class="pre">classmethod</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">getPteCondEstim</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">classes</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">y</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">y_</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/aggregative.html#PACC.getPteCondEstim"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.aggregative.PACC.getPteCondEstim" title="Permalink to this definition"></a></dt> <dd></dd></dl> </dd></dl> <dl class="py class"> <dt class="sig sig-object py" id="quapy.method.aggregative.PCC"> -<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">quapy.method.aggregative.</span></span><span class="sig-name descname"><span class="pre">PCC</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">classifier</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">BaseEstimator</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/aggregative.html#PCC"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.aggregative.PCC" title="Link to this definition"></a></dt> +<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">quapy.method.aggregative.</span></span><span class="sig-name descname"><span class="pre">PCC</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">classifier</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">BaseEstimator</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/aggregative.html#PCC"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.aggregative.PCC" title="Permalink to this definition"></a></dt> <dd><p>Bases: <a class="reference internal" href="#quapy.method.aggregative.AggregativeSoftQuantifier" title="quapy.method.aggregative.AggregativeSoftQuantifier"><code class="xref py py-class docutils literal notranslate"><span class="pre">AggregativeSoftQuantifier</span></code></a></p> <p><a class="reference external" href="https://ieeexplore.ieee.org/abstract/document/5694031">Probabilistic Classify & Count</a>, the probabilistic variant of CC that relies on the posterior probabilities returned by a probabilistic classifier.</p> @@ -1008,7 +1134,7 @@ the probabilistic variant of CC that relies on the posterior probabilities retur </dl> <dl class="py method"> <dt class="sig sig-object py" id="quapy.method.aggregative.PCC.aggregate"> -<span class="sig-name descname"><span class="pre">aggregate</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">classif_posteriors</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/aggregative.html#PCC.aggregate"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.aggregative.PCC.aggregate" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">aggregate</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">classif_posteriors</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/aggregative.html#PCC.aggregate"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.aggregative.PCC.aggregate" title="Permalink to this definition"></a></dt> <dd><p>Implements the aggregation of label predictions.</p> <dl class="field-list simple"> <dt class="field-odd">Parameters<span class="colon">:</span></dt> @@ -1022,11 +1148,14 @@ the probabilistic variant of CC that relies on the posterior probabilities retur <dl class="py method"> <dt class="sig sig-object py" id="quapy.method.aggregative.PCC.aggregation_fit"> -<span class="sig-name descname"><span class="pre">aggregation_fit</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">classif_predictions</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="quapy.data.html#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><span class="pre">LabelledCollection</span></a></span></em>, <em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="quapy.data.html#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><span class="pre">LabelledCollection</span></a></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/aggregative.html#PCC.aggregation_fit"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.aggregative.PCC.aggregation_fit" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">aggregation_fit</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">classif_predictions</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="quapy.data.html#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><span class="pre">LabelledCollection</span></a></span></em>, <em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="quapy.data.html#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><span class="pre">LabelledCollection</span></a></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/aggregative.html#PCC.aggregation_fit"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.aggregative.PCC.aggregation_fit" title="Permalink to this definition"></a></dt> <dd><p>Nothing to do here!</p> <dl class="field-list simple"> <dt class="field-odd">Parameters<span class="colon">:</span></dt> -<dd class="field-odd"><p><strong>classif_predictions</strong> – this is actually None</p> +<dd class="field-odd"><ul class="simple"> +<li><p><strong>classif_predictions</strong> – not used</p></li> +<li><p><strong>data</strong> – not used</p></li> +</ul> </dd> </dl> </dd></dl> @@ -1035,25 +1164,25 @@ the probabilistic variant of CC that relies on the posterior probabilities retur <dl class="py attribute"> <dt class="sig sig-object py" id="quapy.method.aggregative.ProbabilisticAdjustedClassifyAndCount"> -<span class="sig-prename descclassname"><span class="pre">quapy.method.aggregative.</span></span><span class="sig-name descname"><span class="pre">ProbabilisticAdjustedClassifyAndCount</span></span><a class="headerlink" href="#quapy.method.aggregative.ProbabilisticAdjustedClassifyAndCount" title="Link to this definition"></a></dt> +<span class="sig-prename descclassname"><span class="pre">quapy.method.aggregative.</span></span><span class="sig-name descname"><span class="pre">ProbabilisticAdjustedClassifyAndCount</span></span><a class="headerlink" href="#quapy.method.aggregative.ProbabilisticAdjustedClassifyAndCount" title="Permalink to this definition"></a></dt> <dd><p>alias of <a class="reference internal" href="#quapy.method.aggregative.PACC" title="quapy.method.aggregative.PACC"><code class="xref py py-class docutils literal notranslate"><span class="pre">PACC</span></code></a></p> </dd></dl> <dl class="py attribute"> <dt class="sig sig-object py" id="quapy.method.aggregative.ProbabilisticClassifyAndCount"> -<span class="sig-prename descclassname"><span class="pre">quapy.method.aggregative.</span></span><span class="sig-name descname"><span class="pre">ProbabilisticClassifyAndCount</span></span><a class="headerlink" href="#quapy.method.aggregative.ProbabilisticClassifyAndCount" title="Link to this definition"></a></dt> +<span class="sig-prename descclassname"><span class="pre">quapy.method.aggregative.</span></span><span class="sig-name descname"><span class="pre">ProbabilisticClassifyAndCount</span></span><a class="headerlink" href="#quapy.method.aggregative.ProbabilisticClassifyAndCount" title="Permalink to this definition"></a></dt> <dd><p>alias of <a class="reference internal" href="#quapy.method.aggregative.PCC" title="quapy.method.aggregative.PCC"><code class="xref py py-class docutils literal notranslate"><span class="pre">PCC</span></code></a></p> </dd></dl> <dl class="py attribute"> <dt class="sig sig-object py" id="quapy.method.aggregative.SLD"> -<span class="sig-prename descclassname"><span class="pre">quapy.method.aggregative.</span></span><span class="sig-name descname"><span class="pre">SLD</span></span><a class="headerlink" href="#quapy.method.aggregative.SLD" title="Link to this definition"></a></dt> +<span class="sig-prename descclassname"><span class="pre">quapy.method.aggregative.</span></span><span class="sig-name descname"><span class="pre">SLD</span></span><a class="headerlink" href="#quapy.method.aggregative.SLD" title="Permalink to this definition"></a></dt> <dd><p>alias of <a class="reference internal" href="#quapy.method.aggregative.EMQ" title="quapy.method.aggregative.EMQ"><code class="xref py py-class docutils literal notranslate"><span class="pre">EMQ</span></code></a></p> </dd></dl> <dl class="py class"> <dt class="sig sig-object py" id="quapy.method.aggregative.SMM"> -<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">quapy.method.aggregative.</span></span><span class="sig-name descname"><span class="pre">SMM</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">classifier</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">BaseEstimator</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">val_split</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">5</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/aggregative.html#SMM"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.aggregative.SMM" title="Link to this definition"></a></dt> +<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">quapy.method.aggregative.</span></span><span class="sig-name descname"><span class="pre">SMM</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">classifier</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">BaseEstimator</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">val_split</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">5</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/aggregative.html#SMM"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.aggregative.SMM" title="Permalink to this definition"></a></dt> <dd><p>Bases: <a class="reference internal" href="#quapy.method.aggregative.AggregativeSoftQuantifier" title="quapy.method.aggregative.AggregativeSoftQuantifier"><code class="xref py py-class docutils literal notranslate"><span class="pre">AggregativeSoftQuantifier</span></code></a>, <a class="reference internal" href="#quapy.method.aggregative.BinaryAggregativeQuantifier" title="quapy.method.aggregative.BinaryAggregativeQuantifier"><code class="xref py py-class docutils literal notranslate"><span class="pre">BinaryAggregativeQuantifier</span></code></a></p> <p><a class="reference external" href="https://ieeexplore.ieee.org/document/9260028">SMM method</a> (SMM). SMM is a simplification of matching distribution methods where the representation of the examples @@ -1069,7 +1198,7 @@ validation distribution, or a <a class="reference internal" href="quapy.data.htm </dl> <dl class="py method"> <dt class="sig sig-object py" id="quapy.method.aggregative.SMM.aggregate"> -<span class="sig-name descname"><span class="pre">aggregate</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">classif_posteriors</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/aggregative.html#SMM.aggregate"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.aggregative.SMM.aggregate" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">aggregate</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">classif_posteriors</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/aggregative.html#SMM.aggregate"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.aggregative.SMM.aggregate" title="Permalink to this definition"></a></dt> <dd><p>Implements the aggregation of label predictions.</p> <dl class="field-list simple"> <dt class="field-odd">Parameters<span class="colon">:</span></dt> @@ -1083,13 +1212,13 @@ validation distribution, or a <a class="reference internal" href="quapy.data.htm <dl class="py method"> <dt class="sig sig-object py" id="quapy.method.aggregative.SMM.aggregation_fit"> -<span class="sig-name descname"><span class="pre">aggregation_fit</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">classif_predictions</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="quapy.data.html#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><span class="pre">LabelledCollection</span></a></span></em>, <em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="quapy.data.html#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><span class="pre">LabelledCollection</span></a></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/aggregative.html#SMM.aggregation_fit"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.aggregative.SMM.aggregation_fit" title="Link to this definition"></a></dt> -<dd><p>Trains the aggregation function.</p> +<span class="sig-name descname"><span class="pre">aggregation_fit</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">classif_predictions</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="quapy.data.html#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><span class="pre">LabelledCollection</span></a></span></em>, <em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="quapy.data.html#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><span class="pre">LabelledCollection</span></a></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/aggregative.html#SMM.aggregation_fit"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.aggregative.SMM.aggregation_fit" title="Permalink to this definition"></a></dt> +<dd><p>Trains the aggregation function of SMM.</p> <dl class="field-list simple"> <dt class="field-odd">Parameters<span class="colon">:</span></dt> <dd class="field-odd"><ul class="simple"> -<li><p><strong>classif_predictions</strong> – a LabelledCollection containing the label predictions issued -by the classifier</p></li> +<li><p><strong>classif_predictions</strong> – a <a class="reference internal" href="quapy.data.html#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><code class="xref py py-class docutils literal notranslate"><span class="pre">quapy.data.base.LabelledCollection</span></code></a> containing, +as instances, the posterior probabilities issued by the classifier and, as labels, the true labels</p></li> <li><p><strong>data</strong> – a <a class="reference internal" href="quapy.data.html#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><code class="xref py py-class docutils literal notranslate"><span class="pre">quapy.data.base.LabelledCollection</span></code></a> consisting of the training data</p></li> </ul> </dd> @@ -1100,7 +1229,7 @@ by the classifier</p></li> <dl class="py function"> <dt class="sig sig-object py" id="quapy.method.aggregative.newELM"> -<span class="sig-prename descclassname"><span class="pre">quapy.method.aggregative.</span></span><span class="sig-name descname"><span class="pre">newELM</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">svmperf_base</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">loss</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'01'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">C</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">1</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/aggregative.html#newELM"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.aggregative.newELM" title="Link to this definition"></a></dt> +<span class="sig-prename descclassname"><span class="pre">quapy.method.aggregative.</span></span><span class="sig-name descname"><span class="pre">newELM</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">svmperf_base</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">loss</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'01'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">C</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">1</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/aggregative.html#newELM"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.aggregative.newELM" title="Permalink to this definition"></a></dt> <dd><p>Explicit Loss Minimization (ELM) quantifiers. Quantifiers based on ELM represent a family of methods based on structured output learning; these quantifiers rely on classifiers that have been optimized using a quantification-oriented loss @@ -1130,7 +1259,7 @@ underlying classifier</p> <dl class="py function"> <dt class="sig sig-object py" id="quapy.method.aggregative.newSVMAE"> -<span class="sig-prename descclassname"><span class="pre">quapy.method.aggregative.</span></span><span class="sig-name descname"><span class="pre">newSVMAE</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">svmperf_base</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">C</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">1</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/aggregative.html#newSVMAE"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.aggregative.newSVMAE" title="Link to this definition"></a></dt> +<span class="sig-prename descclassname"><span class="pre">quapy.method.aggregative.</span></span><span class="sig-name descname"><span class="pre">newSVMAE</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">svmperf_base</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">C</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">1</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/aggregative.html#newSVMAE"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.aggregative.newSVMAE" title="Permalink to this definition"></a></dt> <dd><p>SVM(KLD) is an Explicit Loss Minimization (ELM) quantifier set to optimize for the Absolute Error as first used by <a class="reference external" href="https://arxiv.org/abs/2011.02552">Moreo and Sebastiani, 2021</a>. Equivalent to:</p> @@ -1161,7 +1290,7 @@ underlying classifier</p> <dl class="py function"> <dt class="sig sig-object py" id="quapy.method.aggregative.newSVMKLD"> -<span class="sig-prename descclassname"><span class="pre">quapy.method.aggregative.</span></span><span class="sig-name descname"><span class="pre">newSVMKLD</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">svmperf_base</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">C</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">1</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/aggregative.html#newSVMKLD"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.aggregative.newSVMKLD" title="Link to this definition"></a></dt> +<span class="sig-prename descclassname"><span class="pre">quapy.method.aggregative.</span></span><span class="sig-name descname"><span class="pre">newSVMKLD</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">svmperf_base</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">C</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">1</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/aggregative.html#newSVMKLD"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.aggregative.newSVMKLD" title="Permalink to this definition"></a></dt> <dd><p>SVM(KLD) is an Explicit Loss Minimization (ELM) quantifier set to optimize for the Kullback-Leibler Divergence normalized via the logistic function, as proposed by <a class="reference external" href="https://dl.acm.org/doi/abs/10.1145/2700406">Esuli et al. 2015</a>. @@ -1193,7 +1322,7 @@ underlying classifier</p> <dl class="py function"> <dt class="sig sig-object py" id="quapy.method.aggregative.newSVMQ"> -<span class="sig-prename descclassname"><span class="pre">quapy.method.aggregative.</span></span><span class="sig-name descname"><span class="pre">newSVMQ</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">svmperf_base</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">C</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">1</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/aggregative.html#newSVMQ"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.aggregative.newSVMQ" title="Link to this definition"></a></dt> +<span class="sig-prename descclassname"><span class="pre">quapy.method.aggregative.</span></span><span class="sig-name descname"><span class="pre">newSVMQ</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">svmperf_base</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">C</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">1</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/aggregative.html#newSVMQ"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.aggregative.newSVMQ" title="Permalink to this definition"></a></dt> <dd><p>SVM(Q) is an Explicit Loss Minimization (ELM) quantifier set to optimize for the <cite>Q</cite> loss combining a classification-oriented loss and a quantification-oriented loss, as proposed by <a class="reference external" href="https://www.sciencedirect.com/science/article/pii/S003132031400291X">Barranquero et al. 2015</a>. @@ -1225,7 +1354,7 @@ underlying classifier</p> <dl class="py function"> <dt class="sig sig-object py" id="quapy.method.aggregative.newSVMRAE"> -<span class="sig-prename descclassname"><span class="pre">quapy.method.aggregative.</span></span><span class="sig-name descname"><span class="pre">newSVMRAE</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">svmperf_base</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">C</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">1</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/aggregative.html#newSVMRAE"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.aggregative.newSVMRAE" title="Link to this definition"></a></dt> +<span class="sig-prename descclassname"><span class="pre">quapy.method.aggregative.</span></span><span class="sig-name descname"><span class="pre">newSVMRAE</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">svmperf_base</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">C</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">1</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/aggregative.html#newSVMRAE"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.aggregative.newSVMRAE" title="Permalink to this definition"></a></dt> <dd><p>SVM(KLD) is an Explicit Loss Minimization (ELM) quantifier set to optimize for the Relative Absolute Error as first used by <a class="reference external" href="https://arxiv.org/abs/2011.02552">Moreo and Sebastiani, 2021</a>. Equivalent to:</p> @@ -1254,19 +1383,19 @@ underlying classifier</p> </dl> </dd></dl> -<dl class="py class" id="module-quapy.method._kdey"> +<span class="target" id="module-quapy.method._kdey"></span><dl class="py class"> <dt class="sig sig-object py" id="quapy.method._kdey.KDEBase"> -<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">quapy.method._kdey.</span></span><span class="sig-name descname"><span class="pre">KDEBase</span></span><a class="reference internal" href="_modules/quapy/method/_kdey.html#KDEBase"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method._kdey.KDEBase" title="Link to this definition"></a></dt> +<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">quapy.method._kdey.</span></span><span class="sig-name descname"><span class="pre">KDEBase</span></span><a class="reference internal" href="_modules/quapy/method/_kdey.html#KDEBase"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method._kdey.KDEBase" title="Permalink to this definition"></a></dt> <dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">object</span></code></p> <p>Common ancestor for KDE-based methods. Implements some common routines.</p> <dl class="py attribute"> <dt class="sig sig-object py" id="quapy.method._kdey.KDEBase.BANDWIDTH_METHOD"> -<span class="sig-name descname"><span class="pre">BANDWIDTH_METHOD</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">['scott',</span> <span class="pre">'silverman']</span></em><a class="headerlink" href="#quapy.method._kdey.KDEBase.BANDWIDTH_METHOD" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">BANDWIDTH_METHOD</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">['scott',</span> <span class="pre">'silverman']</span></em><a class="headerlink" href="#quapy.method._kdey.KDEBase.BANDWIDTH_METHOD" title="Permalink to this definition"></a></dt> <dd></dd></dl> <dl class="py method"> <dt class="sig sig-object py" id="quapy.method._kdey.KDEBase.get_kde_function"> -<span class="sig-name descname"><span class="pre">get_kde_function</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">X</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">bandwidth</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/_kdey.html#KDEBase.get_kde_function"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method._kdey.KDEBase.get_kde_function" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">get_kde_function</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">X</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">bandwidth</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/_kdey.html#KDEBase.get_kde_function"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method._kdey.KDEBase.get_kde_function" title="Permalink to this definition"></a></dt> <dd><p>Wraps the KDE function from scikit-learn.</p> <dl class="field-list simple"> <dt class="field-odd">Parameters<span class="colon">:</span></dt> @@ -1283,7 +1412,7 @@ underlying classifier</p> <dl class="py method"> <dt class="sig sig-object py" id="quapy.method._kdey.KDEBase.get_mixture_components"> -<span class="sig-name descname"><span class="pre">get_mixture_components</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">X</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">y</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">n_classes</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">bandwidth</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/_kdey.html#KDEBase.get_mixture_components"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method._kdey.KDEBase.get_mixture_components" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">get_mixture_components</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">X</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">y</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">classes</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">bandwidth</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/_kdey.html#KDEBase.get_mixture_components"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method._kdey.KDEBase.get_mixture_components" title="Permalink to this definition"></a></dt> <dd><p>Returns an array containing the mixture components, i.e., the KDE functions for each class.</p> <dl class="field-list simple"> <dt class="field-odd">Parameters<span class="colon">:</span></dt> @@ -1302,7 +1431,7 @@ underlying classifier</p> <dl class="py method"> <dt class="sig sig-object py" id="quapy.method._kdey.KDEBase.pdf"> -<span class="sig-name descname"><span class="pre">pdf</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">kde</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">X</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/_kdey.html#KDEBase.pdf"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method._kdey.KDEBase.pdf" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">pdf</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">kde</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">X</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/_kdey.html#KDEBase.pdf"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method._kdey.KDEBase.pdf" title="Permalink to this definition"></a></dt> <dd><p>Wraps the density evalution of scikit-learn’s KDE. Scikit-learn returns log-scores (s), so this function returns <span class="math notranslate nohighlight">\(e^{s}\)</span></p> <dl class="field-list simple"> @@ -1322,7 +1451,7 @@ function returns <span class="math notranslate nohighlight">\(e^{s}\)</span></p> <dl class="py class"> <dt class="sig sig-object py" id="quapy.method._kdey.KDEyCS"> -<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">quapy.method._kdey.</span></span><span class="sig-name descname"><span class="pre">KDEyCS</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">classifier</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">BaseEstimator</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">val_split</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">10</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">bandwidth</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">n_jobs</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/_kdey.html#KDEyCS"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method._kdey.KDEyCS" title="Link to this definition"></a></dt> +<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">quapy.method._kdey.</span></span><span class="sig-name descname"><span class="pre">KDEyCS</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">classifier</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">BaseEstimator</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">val_split</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">10</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">bandwidth</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">n_jobs</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/_kdey.html#KDEyCS"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method._kdey.KDEyCS" title="Permalink to this definition"></a></dt> <dd><p>Bases: <a class="reference internal" href="#quapy.method.aggregative.AggregativeSoftQuantifier" title="quapy.method.aggregative.AggregativeSoftQuantifier"><code class="xref py py-class docutils literal notranslate"><span class="pre">AggregativeSoftQuantifier</span></code></a></p> <p>Kernel Density Estimation model for quantification (KDEy) relying on the Cauchy-Schwarz divergence (CS) as the divergence measure to be minimized. This method was first proposed in the paper @@ -1356,7 +1485,7 @@ on which the predictions are to be generated.</p></li> </dl> <dl class="py method"> <dt class="sig sig-object py" id="quapy.method._kdey.KDEyCS.aggregate"> -<span class="sig-name descname"><span class="pre">aggregate</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">posteriors</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">ndarray</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/_kdey.html#KDEyCS.aggregate"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method._kdey.KDEyCS.aggregate" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">aggregate</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">posteriors</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">ndarray</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/_kdey.html#KDEyCS.aggregate"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method._kdey.KDEyCS.aggregate" title="Permalink to this definition"></a></dt> <dd><p>Implements the aggregation of label predictions.</p> <dl class="field-list simple"> <dt class="field-odd">Parameters<span class="colon">:</span></dt> @@ -1370,13 +1499,13 @@ on which the predictions are to be generated.</p></li> <dl class="py method"> <dt class="sig sig-object py" id="quapy.method._kdey.KDEyCS.aggregation_fit"> -<span class="sig-name descname"><span class="pre">aggregation_fit</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">classif_predictions</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="quapy.data.html#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><span class="pre">LabelledCollection</span></a></span></em>, <em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="quapy.data.html#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><span class="pre">LabelledCollection</span></a></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/_kdey.html#KDEyCS.aggregation_fit"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method._kdey.KDEyCS.aggregation_fit" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">aggregation_fit</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">classif_predictions</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="quapy.data.html#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><span class="pre">LabelledCollection</span></a></span></em>, <em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="quapy.data.html#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><span class="pre">LabelledCollection</span></a></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/_kdey.html#KDEyCS.aggregation_fit"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method._kdey.KDEyCS.aggregation_fit" title="Permalink to this definition"></a></dt> <dd><p>Trains the aggregation function.</p> <dl class="field-list simple"> <dt class="field-odd">Parameters<span class="colon">:</span></dt> <dd class="field-odd"><ul class="simple"> -<li><p><strong>classif_predictions</strong> – a LabelledCollection containing the label predictions issued -by the classifier</p></li> +<li><p><strong>classif_predictions</strong> – a <a class="reference internal" href="quapy.data.html#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><code class="xref py py-class docutils literal notranslate"><span class="pre">quapy.data.base.LabelledCollection</span></code></a> containing, +as instances, the predictions issued by the classifier and, as labels, the true labels</p></li> <li><p><strong>data</strong> – a <a class="reference internal" href="quapy.data.html#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><code class="xref py py-class docutils literal notranslate"><span class="pre">quapy.data.base.LabelledCollection</span></code></a> consisting of the training data</p></li> </ul> </dd> @@ -1385,14 +1514,14 @@ by the classifier</p></li> <dl class="py method"> <dt class="sig sig-object py" id="quapy.method._kdey.KDEyCS.gram_matrix_mix_sum"> -<span class="sig-name descname"><span class="pre">gram_matrix_mix_sum</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">X</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">Y</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/_kdey.html#KDEyCS.gram_matrix_mix_sum"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method._kdey.KDEyCS.gram_matrix_mix_sum" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">gram_matrix_mix_sum</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">X</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">Y</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/_kdey.html#KDEyCS.gram_matrix_mix_sum"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method._kdey.KDEyCS.gram_matrix_mix_sum" title="Permalink to this definition"></a></dt> <dd></dd></dl> </dd></dl> <dl class="py class"> <dt class="sig sig-object py" id="quapy.method._kdey.KDEyHD"> -<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">quapy.method._kdey.</span></span><span class="sig-name descname"><span class="pre">KDEyHD</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">classifier</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">BaseEstimator</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">val_split</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">10</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">divergence</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">'HD'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">bandwidth</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">n_jobs</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">random_state</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">montecarlo_trials</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">10000</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/_kdey.html#KDEyHD"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method._kdey.KDEyHD" title="Link to this definition"></a></dt> +<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">quapy.method._kdey.</span></span><span class="sig-name descname"><span class="pre">KDEyHD</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">classifier</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">BaseEstimator</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">val_split</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">10</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">divergence</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">'HD'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">bandwidth</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">n_jobs</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">random_state</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">montecarlo_trials</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">10000</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/_kdey.html#KDEyHD"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method._kdey.KDEyHD" title="Permalink to this definition"></a></dt> <dd><p>Bases: <a class="reference internal" href="#quapy.method.aggregative.AggregativeSoftQuantifier" title="quapy.method.aggregative.AggregativeSoftQuantifier"><code class="xref py py-class docutils literal notranslate"><span class="pre">AggregativeSoftQuantifier</span></code></a>, <a class="reference internal" href="#quapy.method._kdey.KDEBase" title="quapy.method._kdey.KDEBase"><code class="xref py py-class docutils literal notranslate"><span class="pre">KDEBase</span></code></a></p> <p>Kernel Density Estimation model for quantification (KDEy) relying on the squared Hellinger Disntace (HD) as the divergence measure to be minimized. This method was first proposed in the paper @@ -1432,7 +1561,7 @@ on which the predictions are to be generated.</p></li> </dl> <dl class="py method"> <dt class="sig sig-object py" id="quapy.method._kdey.KDEyHD.aggregate"> -<span class="sig-name descname"><span class="pre">aggregate</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">posteriors</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">ndarray</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/_kdey.html#KDEyHD.aggregate"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method._kdey.KDEyHD.aggregate" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">aggregate</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">posteriors</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">ndarray</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/_kdey.html#KDEyHD.aggregate"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method._kdey.KDEyHD.aggregate" title="Permalink to this definition"></a></dt> <dd><p>Implements the aggregation of label predictions.</p> <dl class="field-list simple"> <dt class="field-odd">Parameters<span class="colon">:</span></dt> @@ -1446,13 +1575,13 @@ on which the predictions are to be generated.</p></li> <dl class="py method"> <dt class="sig sig-object py" id="quapy.method._kdey.KDEyHD.aggregation_fit"> -<span class="sig-name descname"><span class="pre">aggregation_fit</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">classif_predictions</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="quapy.data.html#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><span class="pre">LabelledCollection</span></a></span></em>, <em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="quapy.data.html#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><span class="pre">LabelledCollection</span></a></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/_kdey.html#KDEyHD.aggregation_fit"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method._kdey.KDEyHD.aggregation_fit" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">aggregation_fit</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">classif_predictions</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="quapy.data.html#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><span class="pre">LabelledCollection</span></a></span></em>, <em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="quapy.data.html#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><span class="pre">LabelledCollection</span></a></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/_kdey.html#KDEyHD.aggregation_fit"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method._kdey.KDEyHD.aggregation_fit" title="Permalink to this definition"></a></dt> <dd><p>Trains the aggregation function.</p> <dl class="field-list simple"> <dt class="field-odd">Parameters<span class="colon">:</span></dt> <dd class="field-odd"><ul class="simple"> -<li><p><strong>classif_predictions</strong> – a LabelledCollection containing the label predictions issued -by the classifier</p></li> +<li><p><strong>classif_predictions</strong> – a <a class="reference internal" href="quapy.data.html#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><code class="xref py py-class docutils literal notranslate"><span class="pre">quapy.data.base.LabelledCollection</span></code></a> containing, +as instances, the predictions issued by the classifier and, as labels, the true labels</p></li> <li><p><strong>data</strong> – a <a class="reference internal" href="quapy.data.html#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><code class="xref py py-class docutils literal notranslate"><span class="pre">quapy.data.base.LabelledCollection</span></code></a> consisting of the training data</p></li> </ul> </dd> @@ -1463,7 +1592,7 @@ by the classifier</p></li> <dl class="py class"> <dt class="sig sig-object py" id="quapy.method._kdey.KDEyML"> -<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">quapy.method._kdey.</span></span><span class="sig-name descname"><span class="pre">KDEyML</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">classifier</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">BaseEstimator</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">val_split</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">10</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">bandwidth</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">n_jobs</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">random_state</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/_kdey.html#KDEyML"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method._kdey.KDEyML" title="Link to this definition"></a></dt> +<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">quapy.method._kdey.</span></span><span class="sig-name descname"><span class="pre">KDEyML</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">classifier</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">BaseEstimator</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">val_split</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">10</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">bandwidth</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">n_jobs</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">random_state</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/_kdey.html#KDEyML"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method._kdey.KDEyML" title="Permalink to this definition"></a></dt> <dd><p>Bases: <a class="reference internal" href="#quapy.method.aggregative.AggregativeSoftQuantifier" title="quapy.method.aggregative.AggregativeSoftQuantifier"><code class="xref py py-class docutils literal notranslate"><span class="pre">AggregativeSoftQuantifier</span></code></a>, <a class="reference internal" href="#quapy.method._kdey.KDEBase" title="quapy.method._kdey.KDEBase"><code class="xref py py-class docutils literal notranslate"><span class="pre">KDEBase</span></code></a></p> <p>Kernel Density Estimation model for quantification (KDEy) relying on the Kullback-Leibler divergence (KLD) as the divergence measure to be minimized. This method was first proposed in the paper @@ -1500,7 +1629,7 @@ on which the predictions are to be generated.</p></li> </dl> <dl class="py method"> <dt class="sig sig-object py" id="quapy.method._kdey.KDEyML.aggregate"> -<span class="sig-name descname"><span class="pre">aggregate</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">posteriors</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">ndarray</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/_kdey.html#KDEyML.aggregate"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method._kdey.KDEyML.aggregate" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">aggregate</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">posteriors</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">ndarray</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/_kdey.html#KDEyML.aggregate"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method._kdey.KDEyML.aggregate" title="Permalink to this definition"></a></dt> <dd><p>Searches for the mixture model parameter (the sought prevalence values) that maximizes the likelihood of the data (i.e., that minimizes the negative log-likelihood)</p> <dl class="field-list simple"> @@ -1515,13 +1644,13 @@ of the data (i.e., that minimizes the negative log-likelihood)</p> <dl class="py method"> <dt class="sig sig-object py" id="quapy.method._kdey.KDEyML.aggregation_fit"> -<span class="sig-name descname"><span class="pre">aggregation_fit</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">classif_predictions</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="quapy.data.html#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><span class="pre">LabelledCollection</span></a></span></em>, <em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="quapy.data.html#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><span class="pre">LabelledCollection</span></a></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/_kdey.html#KDEyML.aggregation_fit"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method._kdey.KDEyML.aggregation_fit" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">aggregation_fit</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">classif_predictions</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="quapy.data.html#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><span class="pre">LabelledCollection</span></a></span></em>, <em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="quapy.data.html#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><span class="pre">LabelledCollection</span></a></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/_kdey.html#KDEyML.aggregation_fit"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method._kdey.KDEyML.aggregation_fit" title="Permalink to this definition"></a></dt> <dd><p>Trains the aggregation function.</p> <dl class="field-list simple"> <dt class="field-odd">Parameters<span class="colon">:</span></dt> <dd class="field-odd"><ul class="simple"> -<li><p><strong>classif_predictions</strong> – a LabelledCollection containing the label predictions issued -by the classifier</p></li> +<li><p><strong>classif_predictions</strong> – a <a class="reference internal" href="quapy.data.html#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><code class="xref py py-class docutils literal notranslate"><span class="pre">quapy.data.base.LabelledCollection</span></code></a> containing, +as instances, the predictions issued by the classifier and, as labels, the true labels</p></li> <li><p><strong>data</strong> – a <a class="reference internal" href="quapy.data.html#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><code class="xref py py-class docutils literal notranslate"><span class="pre">quapy.data.base.LabelledCollection</span></code></a> consisting of the training data</p></li> </ul> </dd> @@ -1530,9 +1659,9 @@ by the classifier</p></li> </dd></dl> -<dl class="py class" id="module-quapy.method._neural"> +<span class="target" id="module-quapy.method._neural"></span><dl class="py class"> <dt class="sig sig-object py" id="quapy.method._neural.QuaNetModule"> -<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">quapy.method._neural.</span></span><span class="sig-name descname"><span class="pre">QuaNetModule</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">doc_embedding_size</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">n_classes</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">stats_size</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">lstm_hidden_size</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">64</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">lstm_nlayers</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">ff_layers</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">[1024,</span> <span class="pre">512]</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">bidirectional</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">qdrop_p</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.5</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">order_by</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/_neural.html#QuaNetModule"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method._neural.QuaNetModule" title="Link to this definition"></a></dt> +<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">quapy.method._neural.</span></span><span class="sig-name descname"><span class="pre">QuaNetModule</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">doc_embedding_size</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">n_classes</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">stats_size</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">lstm_hidden_size</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">64</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">lstm_nlayers</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">ff_layers</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">[1024,</span> <span class="pre">512]</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">bidirectional</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">qdrop_p</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.5</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">order_by</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/_neural.html#QuaNetModule"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method._neural.QuaNetModule" title="Permalink to this definition"></a></dt> <dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">Module</span></code></p> <p>Implements the <a class="reference external" href="https://dl.acm.org/doi/abs/10.1145/3269206.3269287">QuaNet</a> forward pass. See <a class="reference internal" href="#quapy.method._neural.QuaNetTrainer" title="quapy.method._neural.QuaNetTrainer"><code class="xref py py-class docutils literal notranslate"><span class="pre">QuaNetTrainer</span></code></a> for training QuaNet.</p> @@ -1554,12 +1683,12 @@ quantification embedding</p></li> </dl> <dl class="py property"> <dt class="sig sig-object py" id="quapy.method._neural.QuaNetModule.device"> -<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">device</span></span><a class="headerlink" href="#quapy.method._neural.QuaNetModule.device" title="Link to this definition"></a></dt> +<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">device</span></span><a class="headerlink" href="#quapy.method._neural.QuaNetModule.device" title="Permalink to this definition"></a></dt> <dd></dd></dl> <dl class="py method"> <dt class="sig sig-object py" id="quapy.method._neural.QuaNetModule.forward"> -<span class="sig-name descname"><span class="pre">forward</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">doc_embeddings</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">doc_posteriors</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">statistics</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/_neural.html#QuaNetModule.forward"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method._neural.QuaNetModule.forward" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">forward</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">doc_embeddings</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">doc_posteriors</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">statistics</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/_neural.html#QuaNetModule.forward"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method._neural.QuaNetModule.forward" title="Permalink to this definition"></a></dt> <dd><p>Defines the computation performed at every call.</p> <p>Should be overridden by all subclasses.</p> <div class="admonition note"> @@ -1571,11 +1700,16 @@ registered hooks while the latter silently ignores them.</p> </div> </dd></dl> +<dl class="py attribute"> +<dt class="sig sig-object py" id="quapy.method._neural.QuaNetModule.training"> +<span class="sig-name descname"><span class="pre">training</span></span><em class="property"><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="pre">bool</span></em><a class="headerlink" href="#quapy.method._neural.QuaNetModule.training" title="Permalink to this definition"></a></dt> +<dd></dd></dl> + </dd></dl> <dl class="py class"> <dt class="sig sig-object py" id="quapy.method._neural.QuaNetTrainer"> -<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">quapy.method._neural.</span></span><span class="sig-name descname"><span class="pre">QuaNetTrainer</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">classifier</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">sample_size</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">n_epochs</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">100</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">tr_iter_per_poch</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">500</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">va_iter_per_poch</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">100</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">lr</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.001</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">lstm_hidden_size</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">64</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">lstm_nlayers</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">ff_layers</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">[1024,</span> <span class="pre">512]</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">bidirectional</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">qdrop_p</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.5</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">patience</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">10</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">checkpointdir</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'../checkpoint'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">checkpointname</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">device</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'cuda'</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/_neural.html#QuaNetTrainer"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method._neural.QuaNetTrainer" title="Link to this definition"></a></dt> +<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">quapy.method._neural.</span></span><span class="sig-name descname"><span class="pre">QuaNetTrainer</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">classifier</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">sample_size</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">n_epochs</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">100</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">tr_iter_per_poch</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">500</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">va_iter_per_poch</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">100</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">lr</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.001</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">lstm_hidden_size</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">64</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">lstm_nlayers</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">ff_layers</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">[1024,</span> <span class="pre">512]</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">bidirectional</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">qdrop_p</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.5</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">patience</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">10</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">checkpointdir</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'../checkpoint'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">checkpointname</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">device</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'cuda'</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/_neural.html#QuaNetTrainer"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method._neural.QuaNetTrainer" title="Permalink to this definition"></a></dt> <dd><p>Bases: <a class="reference internal" href="#quapy.method.base.BaseQuantifier" title="quapy.method.base.BaseQuantifier"><code class="xref py py-class docutils literal notranslate"><span class="pre">BaseQuantifier</span></code></a></p> <p>Implementation of <a class="reference external" href="https://dl.acm.org/doi/abs/10.1145/3269206.3269287">QuaNet</a>, a neural network for quantification. This implementation uses <a class="reference external" href="https://pytorch.org/">PyTorch</a> and can take advantage of GPU @@ -1630,24 +1764,24 @@ training phase (early stopping)</p></li> </dl> <dl class="py property"> <dt class="sig sig-object py" id="quapy.method._neural.QuaNetTrainer.classes_"> -<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">classes_</span></span><a class="headerlink" href="#quapy.method._neural.QuaNetTrainer.classes_" title="Link to this definition"></a></dt> +<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">classes_</span></span><a class="headerlink" href="#quapy.method._neural.QuaNetTrainer.classes_" title="Permalink to this definition"></a></dt> <dd></dd></dl> <dl class="py method"> <dt class="sig sig-object py" id="quapy.method._neural.QuaNetTrainer.clean_checkpoint"> -<span class="sig-name descname"><span class="pre">clean_checkpoint</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/_neural.html#QuaNetTrainer.clean_checkpoint"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method._neural.QuaNetTrainer.clean_checkpoint" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">clean_checkpoint</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/_neural.html#QuaNetTrainer.clean_checkpoint"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method._neural.QuaNetTrainer.clean_checkpoint" title="Permalink to this definition"></a></dt> <dd><p>Removes the checkpoint</p> </dd></dl> <dl class="py method"> <dt class="sig sig-object py" id="quapy.method._neural.QuaNetTrainer.clean_checkpoint_dir"> -<span class="sig-name descname"><span class="pre">clean_checkpoint_dir</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/_neural.html#QuaNetTrainer.clean_checkpoint_dir"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method._neural.QuaNetTrainer.clean_checkpoint_dir" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">clean_checkpoint_dir</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/_neural.html#QuaNetTrainer.clean_checkpoint_dir"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method._neural.QuaNetTrainer.clean_checkpoint_dir" title="Permalink to this definition"></a></dt> <dd><p>Removes anything contained in the checkpoint directory</p> </dd></dl> <dl class="py method"> <dt class="sig sig-object py" id="quapy.method._neural.QuaNetTrainer.fit"> -<span class="sig-name descname"><span class="pre">fit</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="quapy.data.html#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><span class="pre">LabelledCollection</span></a></span></em>, <em class="sig-param"><span class="n"><span class="pre">fit_classifier</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/_neural.html#QuaNetTrainer.fit"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method._neural.QuaNetTrainer.fit" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">fit</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="quapy.data.html#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><span class="pre">LabelledCollection</span></a></span></em>, <em class="sig-param"><span class="n"><span class="pre">fit_classifier</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/_neural.html#QuaNetTrainer.fit"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method._neural.QuaNetTrainer.fit" title="Permalink to this definition"></a></dt> <dd><p>Trains QuaNet.</p> <dl class="field-list simple"> <dt class="field-odd">Parameters<span class="colon">:</span></dt> @@ -1666,7 +1800,7 @@ training phase (early stopping)</p></li> <dl class="py method"> <dt class="sig sig-object py" id="quapy.method._neural.QuaNetTrainer.get_params"> -<span class="sig-name descname"><span class="pre">get_params</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">deep</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/_neural.html#QuaNetTrainer.get_params"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method._neural.QuaNetTrainer.get_params" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">get_params</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">deep</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/_neural.html#QuaNetTrainer.get_params"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method._neural.QuaNetTrainer.get_params" title="Permalink to this definition"></a></dt> <dd><p>Get parameters for this estimator.</p> <dl class="field-list simple"> <dt class="field-odd">Parameters<span class="colon">:</span></dt> @@ -1684,7 +1818,7 @@ contained subobjects that are estimators.</p> <dl class="py method"> <dt class="sig sig-object py" id="quapy.method._neural.QuaNetTrainer.quantify"> -<span class="sig-name descname"><span class="pre">quantify</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">instances</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/_neural.html#QuaNetTrainer.quantify"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method._neural.QuaNetTrainer.quantify" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">quantify</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">instances</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/_neural.html#QuaNetTrainer.quantify"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method._neural.QuaNetTrainer.quantify" title="Permalink to this definition"></a></dt> <dd><p>Generate class prevalence estimates for the sample’s instances</p> <dl class="field-list simple"> <dt class="field-odd">Parameters<span class="colon">:</span></dt> @@ -1698,7 +1832,7 @@ contained subobjects that are estimators.</p> <dl class="py method"> <dt class="sig sig-object py" id="quapy.method._neural.QuaNetTrainer.set_params"> -<span class="sig-name descname"><span class="pre">set_params</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">parameters</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/_neural.html#QuaNetTrainer.set_params"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method._neural.QuaNetTrainer.set_params" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">set_params</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">parameters</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/_neural.html#QuaNetTrainer.set_params"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method._neural.QuaNetTrainer.set_params" title="Permalink to this definition"></a></dt> <dd><p>Set the parameters of this estimator.</p> <p>The method works on simple estimators as well as on nested objects (such as <code class="xref py py-class docutils literal notranslate"><span class="pre">Pipeline</span></code>). The latter have @@ -1721,7 +1855,7 @@ possible to update each component of a nested object.</p> <dl class="py function"> <dt class="sig sig-object py" id="quapy.method._neural.mae_loss"> -<span class="sig-prename descclassname"><span class="pre">quapy.method._neural.</span></span><span class="sig-name descname"><span class="pre">mae_loss</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">output</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">target</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/_neural.html#mae_loss"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method._neural.mae_loss" title="Link to this definition"></a></dt> +<span class="sig-prename descclassname"><span class="pre">quapy.method._neural.</span></span><span class="sig-name descname"><span class="pre">mae_loss</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">output</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">target</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/_neural.html#mae_loss"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method._neural.mae_loss" title="Permalink to this definition"></a></dt> <dd><p>Torch-like wrapper for the Mean Absolute Error</p> <dl class="field-list simple"> <dt class="field-odd">Parameters<span class="colon">:</span></dt> @@ -1736,9 +1870,9 @@ possible to update each component of a nested object.</p> </dl> </dd></dl> -<dl class="py class" id="module-quapy.method._threshold_optim"> +<span class="target" id="module-quapy.method._threshold_optim"></span><dl class="py class"> <dt class="sig sig-object py" id="quapy.method._threshold_optim.MAX"> -<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">quapy.method._threshold_optim.</span></span><span class="sig-name descname"><span class="pre">MAX</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">classifier</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">BaseEstimator</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">val_split</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">5</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/_threshold_optim.html#MAX"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method._threshold_optim.MAX" title="Link to this definition"></a></dt> +<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">quapy.method._threshold_optim.</span></span><span class="sig-name descname"><span class="pre">MAX</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">classifier</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">BaseEstimator</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">val_split</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">5</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/_threshold_optim.html#MAX"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method._threshold_optim.MAX" title="Permalink to this definition"></a></dt> <dd><p>Bases: <a class="reference internal" href="#quapy.method._threshold_optim.ThresholdOptimization" title="quapy.method._threshold_optim.ThresholdOptimization"><code class="xref py py-class docutils literal notranslate"><span class="pre">ThresholdOptimization</span></code></a></p> <p>Threshold Optimization variant for <code class="xref py py-class docutils literal notranslate"><span class="pre">ACC</span></code> as proposed by <a class="reference external" href="https://dl.acm.org/doi/abs/10.1145/1150402.1150423">Forman 2006</a> and @@ -1760,7 +1894,7 @@ validation data, or as an integer, indicating that the misclassification rates s </dl> <dl class="py method"> <dt class="sig sig-object py" id="quapy.method._threshold_optim.MAX.condition"> -<span class="sig-name descname"><span class="pre">condition</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">tpr</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">fpr</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">float</span></span></span><a class="reference internal" href="_modules/quapy/method/_threshold_optim.html#MAX.condition"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method._threshold_optim.MAX.condition" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">condition</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">tpr</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">fpr</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">float</span></span></span><a class="reference internal" href="_modules/quapy/method/_threshold_optim.html#MAX.condition"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method._threshold_optim.MAX.condition" title="Permalink to this definition"></a></dt> <dd><p>Implements the criterion according to which the threshold should be selected. This function should return the (float) score to be minimized.</p> <dl class="field-list simple"> @@ -1780,7 +1914,7 @@ This function should return the (float) score to be minimized.</p> <dl class="py class"> <dt class="sig sig-object py" id="quapy.method._threshold_optim.MS"> -<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">quapy.method._threshold_optim.</span></span><span class="sig-name descname"><span class="pre">MS</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">classifier</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">BaseEstimator</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">val_split</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">5</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/_threshold_optim.html#MS"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method._threshold_optim.MS" title="Link to this definition"></a></dt> +<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">quapy.method._threshold_optim.</span></span><span class="sig-name descname"><span class="pre">MS</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">classifier</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">BaseEstimator</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">val_split</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">5</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/_threshold_optim.html#MS"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method._threshold_optim.MS" title="Permalink to this definition"></a></dt> <dd><p>Bases: <a class="reference internal" href="#quapy.method._threshold_optim.ThresholdOptimization" title="quapy.method._threshold_optim.ThresholdOptimization"><code class="xref py py-class docutils literal notranslate"><span class="pre">ThresholdOptimization</span></code></a></p> <p>Median Sweep. Threshold Optimization variant for <code class="xref py py-class docutils literal notranslate"><span class="pre">ACC</span></code> as proposed by <a class="reference external" href="https://dl.acm.org/doi/abs/10.1145/1150402.1150423">Forman 2006</a> and @@ -1802,7 +1936,7 @@ validation data, or as an integer, indicating that the misclassification rates s </dl> <dl class="py method"> <dt class="sig sig-object py" id="quapy.method._threshold_optim.MS.aggregate"> -<span class="sig-name descname"><span class="pre">aggregate</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">classif_predictions</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">ndarray</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/_threshold_optim.html#MS.aggregate"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method._threshold_optim.MS.aggregate" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">aggregate</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">classif_predictions</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">ndarray</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/_threshold_optim.html#MS.aggregate"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method._threshold_optim.MS.aggregate" title="Permalink to this definition"></a></dt> <dd><p>Implements the aggregation of label predictions.</p> <dl class="field-list simple"> <dt class="field-odd">Parameters<span class="colon">:</span></dt> @@ -1816,13 +1950,13 @@ validation data, or as an integer, indicating that the misclassification rates s <dl class="py method"> <dt class="sig sig-object py" id="quapy.method._threshold_optim.MS.aggregation_fit"> -<span class="sig-name descname"><span class="pre">aggregation_fit</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">classif_predictions</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="quapy.data.html#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><span class="pre">LabelledCollection</span></a></span></em>, <em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="quapy.data.html#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><span class="pre">LabelledCollection</span></a></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/_threshold_optim.html#MS.aggregation_fit"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method._threshold_optim.MS.aggregation_fit" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">aggregation_fit</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">classif_predictions</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="quapy.data.html#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><span class="pre">LabelledCollection</span></a></span></em>, <em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="quapy.data.html#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><span class="pre">LabelledCollection</span></a></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/_threshold_optim.html#MS.aggregation_fit"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method._threshold_optim.MS.aggregation_fit" title="Permalink to this definition"></a></dt> <dd><p>Trains the aggregation function.</p> <dl class="field-list simple"> <dt class="field-odd">Parameters<span class="colon">:</span></dt> <dd class="field-odd"><ul class="simple"> -<li><p><strong>classif_predictions</strong> – a LabelledCollection containing the label predictions issued -by the classifier</p></li> +<li><p><strong>classif_predictions</strong> – a <a class="reference internal" href="quapy.data.html#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><code class="xref py py-class docutils literal notranslate"><span class="pre">quapy.data.base.LabelledCollection</span></code></a> containing, +as instances, the predictions issued by the classifier and, as labels, the true labels</p></li> <li><p><strong>data</strong> – a <a class="reference internal" href="quapy.data.html#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><code class="xref py py-class docutils literal notranslate"><span class="pre">quapy.data.base.LabelledCollection</span></code></a> consisting of the training data</p></li> </ul> </dd> @@ -1831,7 +1965,7 @@ by the classifier</p></li> <dl class="py method"> <dt class="sig sig-object py" id="quapy.method._threshold_optim.MS.condition"> -<span class="sig-name descname"><span class="pre">condition</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">tpr</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">fpr</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">float</span></span></span><a class="reference internal" href="_modules/quapy/method/_threshold_optim.html#MS.condition"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method._threshold_optim.MS.condition" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">condition</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">tpr</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">fpr</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">float</span></span></span><a class="reference internal" href="_modules/quapy/method/_threshold_optim.html#MS.condition"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method._threshold_optim.MS.condition" title="Permalink to this definition"></a></dt> <dd><p>Implements the criterion according to which the threshold should be selected. This function should return the (float) score to be minimized.</p> <dl class="field-list simple"> @@ -1851,7 +1985,7 @@ This function should return the (float) score to be minimized.</p> <dl class="py class"> <dt class="sig sig-object py" id="quapy.method._threshold_optim.MS2"> -<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">quapy.method._threshold_optim.</span></span><span class="sig-name descname"><span class="pre">MS2</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">classifier</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">BaseEstimator</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">val_split</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">5</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/_threshold_optim.html#MS2"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method._threshold_optim.MS2" title="Link to this definition"></a></dt> +<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">quapy.method._threshold_optim.</span></span><span class="sig-name descname"><span class="pre">MS2</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">classifier</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">BaseEstimator</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">val_split</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">5</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/_threshold_optim.html#MS2"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method._threshold_optim.MS2" title="Permalink to this definition"></a></dt> <dd><p>Bases: <a class="reference internal" href="#quapy.method._threshold_optim.MS" title="quapy.method._threshold_optim.MS"><code class="xref py py-class docutils literal notranslate"><span class="pre">MS</span></code></a></p> <p>Median Sweep 2. Threshold Optimization variant for <code class="xref py py-class docutils literal notranslate"><span class="pre">ACC</span></code> as proposed by <a class="reference external" href="https://dl.acm.org/doi/abs/10.1145/1150402.1150423">Forman 2006</a> and @@ -1874,7 +2008,7 @@ validation data, or as an integer, indicating that the misclassification rates s </dl> <dl class="py method"> <dt class="sig sig-object py" id="quapy.method._threshold_optim.MS2.discard"> -<span class="sig-name descname"><span class="pre">discard</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">tpr</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">fpr</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">bool</span></span></span><a class="reference internal" href="_modules/quapy/method/_threshold_optim.html#MS2.discard"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method._threshold_optim.MS2.discard" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">discard</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">tpr</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">fpr</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">bool</span></span></span><a class="reference internal" href="_modules/quapy/method/_threshold_optim.html#MS2.discard"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method._threshold_optim.MS2.discard" title="Permalink to this definition"></a></dt> <dd><p>Indicates whether a combination of tpr and fpr should be discarded</p> <dl class="field-list simple"> <dt class="field-odd">Parameters<span class="colon">:</span></dt> @@ -1893,7 +2027,7 @@ validation data, or as an integer, indicating that the misclassification rates s <dl class="py class"> <dt class="sig sig-object py" id="quapy.method._threshold_optim.T50"> -<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">quapy.method._threshold_optim.</span></span><span class="sig-name descname"><span class="pre">T50</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">classifier</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">BaseEstimator</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">val_split</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">5</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/_threshold_optim.html#T50"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method._threshold_optim.T50" title="Link to this definition"></a></dt> +<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">quapy.method._threshold_optim.</span></span><span class="sig-name descname"><span class="pre">T50</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">classifier</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">BaseEstimator</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">val_split</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">5</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/_threshold_optim.html#T50"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method._threshold_optim.T50" title="Permalink to this definition"></a></dt> <dd><p>Bases: <a class="reference internal" href="#quapy.method._threshold_optim.ThresholdOptimization" title="quapy.method._threshold_optim.ThresholdOptimization"><code class="xref py py-class docutils literal notranslate"><span class="pre">ThresholdOptimization</span></code></a></p> <p>Threshold Optimization variant for <code class="xref py py-class docutils literal notranslate"><span class="pre">ACC</span></code> as proposed by <a class="reference external" href="https://dl.acm.org/doi/abs/10.1145/1150402.1150423">Forman 2006</a> and @@ -1915,7 +2049,7 @@ validation data, or as an integer, indicating that the misclassification rates s </dl> <dl class="py method"> <dt class="sig sig-object py" id="quapy.method._threshold_optim.T50.condition"> -<span class="sig-name descname"><span class="pre">condition</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">tpr</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">fpr</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">float</span></span></span><a class="reference internal" href="_modules/quapy/method/_threshold_optim.html#T50.condition"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method._threshold_optim.T50.condition" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">condition</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">tpr</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">fpr</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">float</span></span></span><a class="reference internal" href="_modules/quapy/method/_threshold_optim.html#T50.condition"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method._threshold_optim.T50.condition" title="Permalink to this definition"></a></dt> <dd><p>Implements the criterion according to which the threshold should be selected. This function should return the (float) score to be minimized.</p> <dl class="field-list simple"> @@ -1935,7 +2069,7 @@ This function should return the (float) score to be minimized.</p> <dl class="py class"> <dt class="sig sig-object py" id="quapy.method._threshold_optim.ThresholdOptimization"> -<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">quapy.method._threshold_optim.</span></span><span class="sig-name descname"><span class="pre">ThresholdOptimization</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">classifier</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">BaseEstimator</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">val_split</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">5</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">n_jobs</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/_threshold_optim.html#ThresholdOptimization"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method._threshold_optim.ThresholdOptimization" title="Link to this definition"></a></dt> +<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">quapy.method._threshold_optim.</span></span><span class="sig-name descname"><span class="pre">ThresholdOptimization</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">classifier</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">BaseEstimator</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">val_split</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">5</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">n_jobs</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/_threshold_optim.html#ThresholdOptimization"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method._threshold_optim.ThresholdOptimization" title="Permalink to this definition"></a></dt> <dd><p>Bases: <a class="reference internal" href="#quapy.method.aggregative.BinaryAggregativeQuantifier" title="quapy.method.aggregative.BinaryAggregativeQuantifier"><code class="xref py py-class docutils literal notranslate"><span class="pre">BinaryAggregativeQuantifier</span></code></a></p> <p>Abstract class of Threshold Optimization variants for <code class="xref py py-class docutils literal notranslate"><span class="pre">ACC</span></code> as proposed by <a class="reference external" href="https://dl.acm.org/doi/abs/10.1145/1150402.1150423">Forman 2006</a> and @@ -1959,7 +2093,7 @@ validation data, or as an integer, indicating that the misclassification rates s </dl> <dl class="py method"> <dt class="sig sig-object py" id="quapy.method._threshold_optim.ThresholdOptimization.aggregate"> -<span class="sig-name descname"><span class="pre">aggregate</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">classif_predictions</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">ndarray</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/_threshold_optim.html#ThresholdOptimization.aggregate"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method._threshold_optim.ThresholdOptimization.aggregate" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">aggregate</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">classif_predictions</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">ndarray</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/_threshold_optim.html#ThresholdOptimization.aggregate"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method._threshold_optim.ThresholdOptimization.aggregate" title="Permalink to this definition"></a></dt> <dd><p>Implements the aggregation of label predictions.</p> <dl class="field-list simple"> <dt class="field-odd">Parameters<span class="colon">:</span></dt> @@ -1973,18 +2107,18 @@ validation data, or as an integer, indicating that the misclassification rates s <dl class="py method"> <dt class="sig sig-object py" id="quapy.method._threshold_optim.ThresholdOptimization.aggregate_with_threshold"> -<span class="sig-name descname"><span class="pre">aggregate_with_threshold</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">classif_predictions</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">tprs</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">fprs</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">thresholds</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/_threshold_optim.html#ThresholdOptimization.aggregate_with_threshold"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method._threshold_optim.ThresholdOptimization.aggregate_with_threshold" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">aggregate_with_threshold</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">classif_predictions</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">tprs</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">fprs</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">thresholds</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/_threshold_optim.html#ThresholdOptimization.aggregate_with_threshold"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method._threshold_optim.ThresholdOptimization.aggregate_with_threshold" title="Permalink to this definition"></a></dt> <dd></dd></dl> <dl class="py method"> <dt class="sig sig-object py" id="quapy.method._threshold_optim.ThresholdOptimization.aggregation_fit"> -<span class="sig-name descname"><span class="pre">aggregation_fit</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">classif_predictions</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="quapy.data.html#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><span class="pre">LabelledCollection</span></a></span></em>, <em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="quapy.data.html#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><span class="pre">LabelledCollection</span></a></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/_threshold_optim.html#ThresholdOptimization.aggregation_fit"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method._threshold_optim.ThresholdOptimization.aggregation_fit" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">aggregation_fit</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">classif_predictions</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="quapy.data.html#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><span class="pre">LabelledCollection</span></a></span></em>, <em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="quapy.data.html#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><span class="pre">LabelledCollection</span></a></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/_threshold_optim.html#ThresholdOptimization.aggregation_fit"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method._threshold_optim.ThresholdOptimization.aggregation_fit" title="Permalink to this definition"></a></dt> <dd><p>Trains the aggregation function.</p> <dl class="field-list simple"> <dt class="field-odd">Parameters<span class="colon">:</span></dt> <dd class="field-odd"><ul class="simple"> -<li><p><strong>classif_predictions</strong> – a LabelledCollection containing the label predictions issued -by the classifier</p></li> +<li><p><strong>classif_predictions</strong> – a <a class="reference internal" href="quapy.data.html#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><code class="xref py py-class docutils literal notranslate"><span class="pre">quapy.data.base.LabelledCollection</span></code></a> containing, +as instances, the predictions issued by the classifier and, as labels, the true labels</p></li> <li><p><strong>data</strong> – a <a class="reference internal" href="quapy.data.html#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><code class="xref py py-class docutils literal notranslate"><span class="pre">quapy.data.base.LabelledCollection</span></code></a> consisting of the training data</p></li> </ul> </dd> @@ -1993,7 +2127,7 @@ by the classifier</p></li> <dl class="py method"> <dt class="sig sig-object py" id="quapy.method._threshold_optim.ThresholdOptimization.condition"> -<em class="property"><span class="pre">abstract</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">condition</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">tpr</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">fpr</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">float</span></span></span><a class="reference internal" href="_modules/quapy/method/_threshold_optim.html#ThresholdOptimization.condition"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method._threshold_optim.ThresholdOptimization.condition" title="Link to this definition"></a></dt> +<em class="property"><span class="pre">abstract</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">condition</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">tpr</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">fpr</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">float</span></span></span><a class="reference internal" href="_modules/quapy/method/_threshold_optim.html#ThresholdOptimization.condition"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method._threshold_optim.ThresholdOptimization.condition" title="Permalink to this definition"></a></dt> <dd><p>Implements the criterion according to which the threshold should be selected. This function should return the (float) score to be minimized.</p> <dl class="field-list simple"> @@ -2011,7 +2145,7 @@ This function should return the (float) score to be minimized.</p> <dl class="py method"> <dt class="sig sig-object py" id="quapy.method._threshold_optim.ThresholdOptimization.discard"> -<span class="sig-name descname"><span class="pre">discard</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">tpr</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">fpr</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">bool</span></span></span><a class="reference internal" href="_modules/quapy/method/_threshold_optim.html#ThresholdOptimization.discard"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method._threshold_optim.ThresholdOptimization.discard" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">discard</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">tpr</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">fpr</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">bool</span></span></span><a class="reference internal" href="_modules/quapy/method/_threshold_optim.html#ThresholdOptimization.discard"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method._threshold_optim.ThresholdOptimization.discard" title="Permalink to this definition"></a></dt> <dd><p>Indicates whether a combination of tpr and fpr should be discarded</p> <dl class="field-list simple"> <dt class="field-odd">Parameters<span class="colon">:</span></dt> @@ -2030,7 +2164,7 @@ This function should return the (float) score to be minimized.</p> <dl class="py class"> <dt class="sig sig-object py" id="quapy.method._threshold_optim.X"> -<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">quapy.method._threshold_optim.</span></span><span class="sig-name descname"><span class="pre">X</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">classifier</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">BaseEstimator</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">val_split</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">5</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/_threshold_optim.html#X"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method._threshold_optim.X" title="Link to this definition"></a></dt> +<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">quapy.method._threshold_optim.</span></span><span class="sig-name descname"><span class="pre">X</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">classifier</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">BaseEstimator</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">val_split</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">5</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/_threshold_optim.html#X"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method._threshold_optim.X" title="Permalink to this definition"></a></dt> <dd><p>Bases: <a class="reference internal" href="#quapy.method._threshold_optim.ThresholdOptimization" title="quapy.method._threshold_optim.ThresholdOptimization"><code class="xref py py-class docutils literal notranslate"><span class="pre">ThresholdOptimization</span></code></a></p> <p>Threshold Optimization variant for <code class="xref py py-class docutils literal notranslate"><span class="pre">ACC</span></code> as proposed by <a class="reference external" href="https://dl.acm.org/doi/abs/10.1145/1150402.1150423">Forman 2006</a> and @@ -2052,7 +2186,7 @@ validation data, or as an integer, indicating that the misclassification rates s </dl> <dl class="py method"> <dt class="sig sig-object py" id="quapy.method._threshold_optim.X.condition"> -<span class="sig-name descname"><span class="pre">condition</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">tpr</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">fpr</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">float</span></span></span><a class="reference internal" href="_modules/quapy/method/_threshold_optim.html#X.condition"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method._threshold_optim.X.condition" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">condition</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">tpr</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">fpr</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">float</span></span></span><a class="reference internal" href="_modules/quapy/method/_threshold_optim.html#X.condition"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method._threshold_optim.X.condition" title="Permalink to this definition"></a></dt> <dd><p>Implements the criterion according to which the threshold should be selected. This function should return the (float) score to be minimized.</p> <dl class="field-list simple"> @@ -2072,17 +2206,17 @@ This function should return the (float) score to be minimized.</p> </section> <section id="module-quapy.method.base"> -<span id="quapy-method-base-module"></span><h2>quapy.method.base module<a class="headerlink" href="#module-quapy.method.base" title="Link to this heading"></a></h2> +<span id="quapy-method-base-module"></span><h2>quapy.method.base module<a class="headerlink" href="#module-quapy.method.base" title="Permalink to this heading"></a></h2> <dl class="py class"> <dt class="sig sig-object py" id="quapy.method.base.BaseQuantifier"> -<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">quapy.method.base.</span></span><span class="sig-name descname"><span class="pre">BaseQuantifier</span></span><a class="reference internal" href="_modules/quapy/method/base.html#BaseQuantifier"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.base.BaseQuantifier" title="Link to this definition"></a></dt> +<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">quapy.method.base.</span></span><span class="sig-name descname"><span class="pre">BaseQuantifier</span></span><a class="reference internal" href="_modules/quapy/method/base.html#BaseQuantifier"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.base.BaseQuantifier" title="Permalink to this definition"></a></dt> <dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">BaseEstimator</span></code></p> <p>Abstract Quantifier. A quantifier is defined as an object of a class that implements the method <a class="reference internal" href="#quapy.method.base.BaseQuantifier.fit" title="quapy.method.base.BaseQuantifier.fit"><code class="xref py py-meth docutils literal notranslate"><span class="pre">fit()</span></code></a> on <a class="reference internal" href="quapy.data.html#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><code class="xref py py-class docutils literal notranslate"><span class="pre">quapy.data.base.LabelledCollection</span></code></a>, the method <a class="reference internal" href="#quapy.method.base.BaseQuantifier.quantify" title="quapy.method.base.BaseQuantifier.quantify"><code class="xref py py-meth docutils literal notranslate"><span class="pre">quantify()</span></code></a>, and the <code class="xref py py-meth docutils literal notranslate"><span class="pre">set_params()</span></code> and <code class="xref py py-meth docutils literal notranslate"><span class="pre">get_params()</span></code> for model selection (see <a class="reference internal" href="quapy.html#quapy.model_selection.GridSearchQ" title="quapy.model_selection.GridSearchQ"><code class="xref py py-meth docutils literal notranslate"><span class="pre">quapy.model_selection.GridSearchQ()</span></code></a>)</p> <dl class="py method"> <dt class="sig sig-object py" id="quapy.method.base.BaseQuantifier.fit"> -<em class="property"><span class="pre">abstract</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">fit</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="quapy.data.html#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><span class="pre">LabelledCollection</span></a></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/base.html#BaseQuantifier.fit"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.base.BaseQuantifier.fit" title="Link to this definition"></a></dt> +<em class="property"><span class="pre">abstract</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">fit</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="quapy.data.html#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><span class="pre">LabelledCollection</span></a></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/base.html#BaseQuantifier.fit"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.base.BaseQuantifier.fit" title="Permalink to this definition"></a></dt> <dd><p>Trains a quantifier.</p> <dl class="field-list simple"> <dt class="field-odd">Parameters<span class="colon">:</span></dt> @@ -2096,7 +2230,7 @@ This function should return the (float) score to be minimized.</p> <dl class="py method"> <dt class="sig sig-object py" id="quapy.method.base.BaseQuantifier.quantify"> -<em class="property"><span class="pre">abstract</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">quantify</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">instances</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/base.html#BaseQuantifier.quantify"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.base.BaseQuantifier.quantify" title="Link to this definition"></a></dt> +<em class="property"><span class="pre">abstract</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">quantify</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">instances</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/base.html#BaseQuantifier.quantify"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.base.BaseQuantifier.quantify" title="Permalink to this definition"></a></dt> <dd><p>Generate class prevalence estimates for the sample’s instances</p> <dl class="field-list simple"> <dt class="field-odd">Parameters<span class="colon">:</span></dt> @@ -2112,7 +2246,7 @@ This function should return the (float) score to be minimized.</p> <dl class="py class"> <dt class="sig sig-object py" id="quapy.method.base.BinaryQuantifier"> -<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">quapy.method.base.</span></span><span class="sig-name descname"><span class="pre">BinaryQuantifier</span></span><a class="reference internal" href="_modules/quapy/method/base.html#BinaryQuantifier"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.base.BinaryQuantifier" title="Link to this definition"></a></dt> +<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">quapy.method.base.</span></span><span class="sig-name descname"><span class="pre">BinaryQuantifier</span></span><a class="reference internal" href="_modules/quapy/method/base.html#BinaryQuantifier"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.base.BinaryQuantifier" title="Permalink to this definition"></a></dt> <dd><p>Bases: <a class="reference internal" href="#quapy.method.base.BaseQuantifier" title="quapy.method.base.BaseQuantifier"><code class="xref py py-class docutils literal notranslate"><span class="pre">BaseQuantifier</span></code></a></p> <p>Abstract class of binary quantifiers, i.e., quantifiers estimating class prevalence values for only two classes (typically, to be interpreted as one class and its complement).</p> @@ -2120,24 +2254,24 @@ This function should return the (float) score to be minimized.</p> <dl class="py class"> <dt class="sig sig-object py" id="quapy.method.base.OneVsAll"> -<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">quapy.method.base.</span></span><span class="sig-name descname"><span class="pre">OneVsAll</span></span><a class="reference internal" href="_modules/quapy/method/base.html#OneVsAll"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.base.OneVsAll" title="Link to this definition"></a></dt> +<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">quapy.method.base.</span></span><span class="sig-name descname"><span class="pre">OneVsAll</span></span><a class="reference internal" href="_modules/quapy/method/base.html#OneVsAll"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.base.OneVsAll" title="Permalink to this definition"></a></dt> <dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">object</span></code></p> </dd></dl> <dl class="py class"> <dt class="sig sig-object py" id="quapy.method.base.OneVsAllGeneric"> -<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">quapy.method.base.</span></span><span class="sig-name descname"><span class="pre">OneVsAllGeneric</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">binary_quantifier</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">n_jobs</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/base.html#OneVsAllGeneric"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.base.OneVsAllGeneric" title="Link to this definition"></a></dt> +<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">quapy.method.base.</span></span><span class="sig-name descname"><span class="pre">OneVsAllGeneric</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">binary_quantifier</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">n_jobs</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/base.html#OneVsAllGeneric"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.base.OneVsAllGeneric" title="Permalink to this definition"></a></dt> <dd><p>Bases: <a class="reference internal" href="#quapy.method.base.OneVsAll" title="quapy.method.base.OneVsAll"><code class="xref py py-class docutils literal notranslate"><span class="pre">OneVsAll</span></code></a>, <a class="reference internal" href="#quapy.method.base.BaseQuantifier" title="quapy.method.base.BaseQuantifier"><code class="xref py py-class docutils literal notranslate"><span class="pre">BaseQuantifier</span></code></a></p> <p>Allows any binary quantifier to perform quantification on single-label datasets. The method maintains one binary quantifier for each class, and then l1-normalizes the outputs so that the class prevelence values sum up to 1.</p> <dl class="py property"> <dt class="sig sig-object py" id="quapy.method.base.OneVsAllGeneric.classes_"> -<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">classes_</span></span><a class="headerlink" href="#quapy.method.base.OneVsAllGeneric.classes_" title="Link to this definition"></a></dt> +<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">classes_</span></span><a class="headerlink" href="#quapy.method.base.OneVsAllGeneric.classes_" title="Permalink to this definition"></a></dt> <dd></dd></dl> <dl class="py method"> <dt class="sig sig-object py" id="quapy.method.base.OneVsAllGeneric.fit"> -<span class="sig-name descname"><span class="pre">fit</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="quapy.data.html#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><span class="pre">LabelledCollection</span></a></span></em>, <em class="sig-param"><span class="n"><span class="pre">fit_classifier</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/base.html#OneVsAllGeneric.fit"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.base.OneVsAllGeneric.fit" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">fit</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="quapy.data.html#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><span class="pre">LabelledCollection</span></a></span></em>, <em class="sig-param"><span class="n"><span class="pre">fit_classifier</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/base.html#OneVsAllGeneric.fit"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.base.OneVsAllGeneric.fit" title="Permalink to this definition"></a></dt> <dd><p>Trains a quantifier.</p> <dl class="field-list simple"> <dt class="field-odd">Parameters<span class="colon">:</span></dt> @@ -2151,7 +2285,7 @@ quantifier for each class, and then l1-normalizes the outputs so that the class <dl class="py method"> <dt class="sig sig-object py" id="quapy.method.base.OneVsAllGeneric.quantify"> -<span class="sig-name descname"><span class="pre">quantify</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">instances</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/base.html#OneVsAllGeneric.quantify"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.base.OneVsAllGeneric.quantify" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">quantify</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">instances</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/base.html#OneVsAllGeneric.quantify"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.base.OneVsAllGeneric.quantify" title="Permalink to this definition"></a></dt> <dd><p>Generate class prevalence estimates for the sample’s instances</p> <dl class="field-list simple"> <dt class="field-odd">Parameters<span class="colon">:</span></dt> @@ -2167,15 +2301,15 @@ quantifier for each class, and then l1-normalizes the outputs so that the class <dl class="py function"> <dt class="sig sig-object py" id="quapy.method.base.newOneVsAll"> -<span class="sig-prename descclassname"><span class="pre">quapy.method.base.</span></span><span class="sig-name descname"><span class="pre">newOneVsAll</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">binary_quantifier</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">n_jobs</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/base.html#newOneVsAll"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.base.newOneVsAll" title="Link to this definition"></a></dt> +<span class="sig-prename descclassname"><span class="pre">quapy.method.base.</span></span><span class="sig-name descname"><span class="pre">newOneVsAll</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">binary_quantifier</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">n_jobs</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/base.html#newOneVsAll"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.base.newOneVsAll" title="Permalink to this definition"></a></dt> <dd></dd></dl> </section> <section id="module-quapy.method.meta"> -<span id="quapy-method-meta-module"></span><h2>quapy.method.meta module<a class="headerlink" href="#module-quapy.method.meta" title="Link to this heading"></a></h2> +<span id="quapy-method-meta-module"></span><h2>quapy.method.meta module<a class="headerlink" href="#module-quapy.method.meta" title="Permalink to this heading"></a></h2> <dl class="py function"> <dt class="sig sig-object py" id="quapy.method.meta.EACC"> -<span class="sig-prename descclassname"><span class="pre">quapy.method.meta.</span></span><span class="sig-name descname"><span class="pre">EACC</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">classifier</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">param_grid</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">optim</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">param_mod_sel</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/meta.html#EACC"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.meta.EACC" title="Link to this definition"></a></dt> +<span class="sig-prename descclassname"><span class="pre">quapy.method.meta.</span></span><span class="sig-name descname"><span class="pre">EACC</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">classifier</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">param_grid</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">optim</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">param_mod_sel</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/meta.html#EACC"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.meta.EACC" title="Permalink to this definition"></a></dt> <dd><p>Implements an ensemble of <a class="reference internal" href="#quapy.method.aggregative.ACC" title="quapy.method.aggregative.ACC"><code class="xref py py-class docutils literal notranslate"><span class="pre">quapy.method.aggregative.ACC</span></code></a> quantifiers, as used by <a class="reference external" href="https://www.sciencedirect.com/science/article/pii/S1566253517303652">Pérez-Gállego et al., 2019</a>.</p> <p>Equivalent to:</p> @@ -2202,7 +2336,7 @@ quantifier for each class, and then l1-normalizes the outputs so that the class <dl class="py function"> <dt class="sig sig-object py" id="quapy.method.meta.ECC"> -<span class="sig-prename descclassname"><span class="pre">quapy.method.meta.</span></span><span class="sig-name descname"><span class="pre">ECC</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">classifier</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">param_grid</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">optim</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">param_mod_sel</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/meta.html#ECC"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.meta.ECC" title="Link to this definition"></a></dt> +<span class="sig-prename descclassname"><span class="pre">quapy.method.meta.</span></span><span class="sig-name descname"><span class="pre">ECC</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">classifier</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">param_grid</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">optim</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">param_mod_sel</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/meta.html#ECC"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.meta.ECC" title="Permalink to this definition"></a></dt> <dd><p>Implements an ensemble of <a class="reference internal" href="#quapy.method.aggregative.CC" title="quapy.method.aggregative.CC"><code class="xref py py-class docutils literal notranslate"><span class="pre">quapy.method.aggregative.CC</span></code></a> quantifiers, as used by <a class="reference external" href="https://www.sciencedirect.com/science/article/pii/S1566253517303652">Pérez-Gállego et al., 2019</a>.</p> <p>Equivalent to:</p> @@ -2229,7 +2363,7 @@ quantifier for each class, and then l1-normalizes the outputs so that the class <dl class="py function"> <dt class="sig sig-object py" id="quapy.method.meta.EEMQ"> -<span class="sig-prename descclassname"><span class="pre">quapy.method.meta.</span></span><span class="sig-name descname"><span class="pre">EEMQ</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">classifier</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">param_grid</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">optim</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">param_mod_sel</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/meta.html#EEMQ"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.meta.EEMQ" title="Link to this definition"></a></dt> +<span class="sig-prename descclassname"><span class="pre">quapy.method.meta.</span></span><span class="sig-name descname"><span class="pre">EEMQ</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">classifier</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">param_grid</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">optim</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">param_mod_sel</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/meta.html#EEMQ"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.meta.EEMQ" title="Permalink to this definition"></a></dt> <dd><p>Implements an ensemble of <a class="reference internal" href="#quapy.method.aggregative.EMQ" title="quapy.method.aggregative.EMQ"><code class="xref py py-class docutils literal notranslate"><span class="pre">quapy.method.aggregative.EMQ</span></code></a> quantifiers.</p> <p>Equivalent to:</p> <div class="doctest highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">ensembleFactory</span><span class="p">(</span><span class="n">classifier</span><span class="p">,</span> <span class="n">EMQ</span><span class="p">,</span> <span class="n">param_grid</span><span class="p">,</span> <span class="n">optim</span><span class="p">,</span> <span class="n">param_mod_sel</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span> @@ -2255,7 +2389,7 @@ quantifier for each class, and then l1-normalizes the outputs so that the class <dl class="py function"> <dt class="sig sig-object py" id="quapy.method.meta.EHDy"> -<span class="sig-prename descclassname"><span class="pre">quapy.method.meta.</span></span><span class="sig-name descname"><span class="pre">EHDy</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">classifier</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">param_grid</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">optim</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">param_mod_sel</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/meta.html#EHDy"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.meta.EHDy" title="Link to this definition"></a></dt> +<span class="sig-prename descclassname"><span class="pre">quapy.method.meta.</span></span><span class="sig-name descname"><span class="pre">EHDy</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">classifier</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">param_grid</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">optim</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">param_mod_sel</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/meta.html#EHDy"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.meta.EHDy" title="Permalink to this definition"></a></dt> <dd><p>Implements an ensemble of <a class="reference internal" href="#quapy.method.aggregative.HDy" title="quapy.method.aggregative.HDy"><code class="xref py py-class docutils literal notranslate"><span class="pre">quapy.method.aggregative.HDy</span></code></a> quantifiers, as used by <a class="reference external" href="https://www.sciencedirect.com/science/article/pii/S1566253517303652">Pérez-Gállego et al., 2019</a>.</p> <p>Equivalent to:</p> @@ -2282,7 +2416,7 @@ quantifier for each class, and then l1-normalizes the outputs so that the class <dl class="py function"> <dt class="sig sig-object py" id="quapy.method.meta.EPACC"> -<span class="sig-prename descclassname"><span class="pre">quapy.method.meta.</span></span><span class="sig-name descname"><span class="pre">EPACC</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">classifier</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">param_grid</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">optim</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">param_mod_sel</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/meta.html#EPACC"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.meta.EPACC" title="Link to this definition"></a></dt> +<span class="sig-prename descclassname"><span class="pre">quapy.method.meta.</span></span><span class="sig-name descname"><span class="pre">EPACC</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">classifier</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">param_grid</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">optim</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">param_mod_sel</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/meta.html#EPACC"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.meta.EPACC" title="Permalink to this definition"></a></dt> <dd><p>Implements an ensemble of <a class="reference internal" href="#quapy.method.aggregative.PACC" title="quapy.method.aggregative.PACC"><code class="xref py py-class docutils literal notranslate"><span class="pre">quapy.method.aggregative.PACC</span></code></a> quantifiers.</p> <p>Equivalent to:</p> <div class="doctest highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">ensembleFactory</span><span class="p">(</span><span class="n">classifier</span><span class="p">,</span> <span class="n">PACC</span><span class="p">,</span> <span class="n">param_grid</span><span class="p">,</span> <span class="n">optim</span><span class="p">,</span> <span class="n">param_mod_sel</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span> @@ -2308,11 +2442,11 @@ quantifier for each class, and then l1-normalizes the outputs so that the class <dl class="py class"> <dt class="sig sig-object py" id="quapy.method.meta.Ensemble"> -<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">quapy.method.meta.</span></span><span class="sig-name descname"><span class="pre">Ensemble</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">quantifier</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="#quapy.method.base.BaseQuantifier" title="quapy.method.base.BaseQuantifier"><span class="pre">BaseQuantifier</span></a></span></em>, <em class="sig-param"><span class="n"><span class="pre">size</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">50</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">red_size</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">25</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">min_pos</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">5</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">policy</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'ave'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">max_sample_size</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">val_split</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="quapy.data.html#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><span class="pre">LabelledCollection</span></a><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">float</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">n_jobs</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">verbose</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/meta.html#Ensemble"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.meta.Ensemble" title="Link to this definition"></a></dt> +<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">quapy.method.meta.</span></span><span class="sig-name descname"><span class="pre">Ensemble</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">quantifier</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="#quapy.method.base.BaseQuantifier" title="quapy.method.base.BaseQuantifier"><span class="pre">BaseQuantifier</span></a></span></em>, <em class="sig-param"><span class="n"><span class="pre">size</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">50</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">red_size</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">25</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">min_pos</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">5</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">policy</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'ave'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">max_sample_size</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">val_split</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Optional</span><span class="p"><span class="pre">[</span></span><span class="pre">Union</span><span class="p"><span class="pre">[</span></span><a class="reference internal" href="quapy.data.html#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><span class="pre">LabelledCollection</span></a><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">float</span><span class="p"><span class="pre">]</span></span><span class="p"><span class="pre">]</span></span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">n_jobs</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">verbose</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/meta.html#Ensemble"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.meta.Ensemble" title="Permalink to this definition"></a></dt> <dd><p>Bases: <a class="reference internal" href="#quapy.method.base.BaseQuantifier" title="quapy.method.base.BaseQuantifier"><code class="xref py py-class docutils literal notranslate"><span class="pre">BaseQuantifier</span></code></a></p> <dl class="py attribute"> <dt class="sig sig-object py" id="quapy.method.meta.Ensemble.VALID_POLICIES"> -<span class="sig-name descname"><span class="pre">VALID_POLICIES</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">{'ave',</span> <span class="pre">'ds',</span> <span class="pre">'mae',</span> <span class="pre">'mkld',</span> <span class="pre">'mnae',</span> <span class="pre">'mnkld',</span> <span class="pre">'mnrae',</span> <span class="pre">'mrae',</span> <span class="pre">'mse',</span> <span class="pre">'ptr'}</span></em><a class="headerlink" href="#quapy.method.meta.Ensemble.VALID_POLICIES" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">VALID_POLICIES</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">{'ave',</span> <span class="pre">'ds',</span> <span class="pre">'mae',</span> <span class="pre">'mkld',</span> <span class="pre">'mnae',</span> <span class="pre">'mnkld',</span> <span class="pre">'mnrae',</span> <span class="pre">'mrae',</span> <span class="pre">'mse',</span> <span class="pre">'ptr'}</span></em><a class="headerlink" href="#quapy.method.meta.Ensemble.VALID_POLICIES" title="Permalink to this definition"></a></dt> <dd><p>Implementation of the Ensemble methods for quantification described by <a class="reference external" href="https://www.sciencedirect.com/science/article/pii/S1566253516300628">Pérez-Gállego et al., 2017</a> and @@ -2357,7 +2491,7 @@ validation split, or a <a class="reference internal" href="quapy.data.html#quapy <dl class="py property"> <dt class="sig sig-object py" id="quapy.method.meta.Ensemble.aggregative"> -<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">aggregative</span></span><a class="headerlink" href="#quapy.method.meta.Ensemble.aggregative" title="Link to this definition"></a></dt> +<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">aggregative</span></span><a class="headerlink" href="#quapy.method.meta.Ensemble.aggregative" title="Permalink to this definition"></a></dt> <dd><p>Indicates that the quantifier is not aggregative.</p> <dl class="field-list simple"> <dt class="field-odd">Returns<span class="colon">:</span></dt> @@ -2368,7 +2502,7 @@ validation split, or a <a class="reference internal" href="quapy.data.html#quapy <dl class="py method"> <dt class="sig sig-object py" id="quapy.method.meta.Ensemble.fit"> -<span class="sig-name descname"><span class="pre">fit</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="quapy.data.html#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><span class="pre">LabelledCollection</span></a></span></em>, <em class="sig-param"><span class="n"><span class="pre">val_split</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="quapy.data.html#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><span class="pre">LabelledCollection</span></a><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">float</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/meta.html#Ensemble.fit"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.meta.Ensemble.fit" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">fit</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="quapy.data.html#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><span class="pre">LabelledCollection</span></a></span></em>, <em class="sig-param"><span class="n"><span class="pre">val_split</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Optional</span><span class="p"><span class="pre">[</span></span><span class="pre">Union</span><span class="p"><span class="pre">[</span></span><a class="reference internal" href="quapy.data.html#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><span class="pre">LabelledCollection</span></a><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">float</span><span class="p"><span class="pre">]</span></span><span class="p"><span class="pre">]</span></span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/meta.html#Ensemble.fit"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.meta.Ensemble.fit" title="Permalink to this definition"></a></dt> <dd><p>Trains a quantifier.</p> <dl class="field-list simple"> <dt class="field-odd">Parameters<span class="colon">:</span></dt> @@ -2382,7 +2516,7 @@ validation split, or a <a class="reference internal" href="quapy.data.html#quapy <dl class="py method"> <dt class="sig sig-object py" id="quapy.method.meta.Ensemble.get_params"> -<span class="sig-name descname"><span class="pre">get_params</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">deep</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/meta.html#Ensemble.get_params"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.meta.Ensemble.get_params" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">get_params</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">deep</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/meta.html#Ensemble.get_params"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.meta.Ensemble.get_params" title="Permalink to this definition"></a></dt> <dd><p>This function should not be used within <a class="reference internal" href="quapy.html#quapy.model_selection.GridSearchQ" title="quapy.model_selection.GridSearchQ"><code class="xref py py-class docutils literal notranslate"><span class="pre">quapy.model_selection.GridSearchQ</span></code></a> (is here for compatibility with the abstract class). Instead, use <cite>Ensemble(GridSearchQ(q),…)</cite>, with <cite>q</cite> a Quantifier (recommended), or @@ -2400,7 +2534,7 @@ classification (not recommended).</p> <dl class="py property"> <dt class="sig sig-object py" id="quapy.method.meta.Ensemble.probabilistic"> -<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">probabilistic</span></span><a class="headerlink" href="#quapy.method.meta.Ensemble.probabilistic" title="Link to this definition"></a></dt> +<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">probabilistic</span></span><a class="headerlink" href="#quapy.method.meta.Ensemble.probabilistic" title="Permalink to this definition"></a></dt> <dd><p>Indicates that the quantifier is not probabilistic.</p> <dl class="field-list simple"> <dt class="field-odd">Returns<span class="colon">:</span></dt> @@ -2411,7 +2545,7 @@ classification (not recommended).</p> <dl class="py method"> <dt class="sig sig-object py" id="quapy.method.meta.Ensemble.quantify"> -<span class="sig-name descname"><span class="pre">quantify</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">instances</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/meta.html#Ensemble.quantify"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.meta.Ensemble.quantify" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">quantify</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">instances</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/meta.html#Ensemble.quantify"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.meta.Ensemble.quantify" title="Permalink to this definition"></a></dt> <dd><p>Generate class prevalence estimates for the sample’s instances</p> <dl class="field-list simple"> <dt class="field-odd">Parameters<span class="colon">:</span></dt> @@ -2425,7 +2559,7 @@ classification (not recommended).</p> <dl class="py method"> <dt class="sig sig-object py" id="quapy.method.meta.Ensemble.set_params"> -<span class="sig-name descname"><span class="pre">set_params</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">parameters</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/meta.html#Ensemble.set_params"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.meta.Ensemble.set_params" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">set_params</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">parameters</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/meta.html#Ensemble.set_params"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.meta.Ensemble.set_params" title="Permalink to this definition"></a></dt> <dd><p>This function should not be used within <a class="reference internal" href="quapy.html#quapy.model_selection.GridSearchQ" title="quapy.model_selection.GridSearchQ"><code class="xref py py-class docutils literal notranslate"><span class="pre">quapy.model_selection.GridSearchQ</span></code></a> (is here for compatibility with the abstract class). Instead, use <cite>Ensemble(GridSearchQ(q),…)</cite>, with <cite>q</cite> a Quantifier (recommended), or @@ -2445,7 +2579,7 @@ classification (not recommended).</p> <dl class="py class"> <dt class="sig sig-object py" id="quapy.method.meta.MedianEstimator"> -<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">quapy.method.meta.</span></span><span class="sig-name descname"><span class="pre">MedianEstimator</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">base_quantifier</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="#quapy.method.base.BinaryQuantifier" title="quapy.method.base.BinaryQuantifier"><span class="pre">BinaryQuantifier</span></a></span></em>, <em class="sig-param"><span class="n"><span class="pre">param_grid</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">dict</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">random_state</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">n_jobs</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/meta.html#MedianEstimator"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.meta.MedianEstimator" title="Link to this definition"></a></dt> +<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">quapy.method.meta.</span></span><span class="sig-name descname"><span class="pre">MedianEstimator</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">base_quantifier</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="#quapy.method.base.BinaryQuantifier" title="quapy.method.base.BinaryQuantifier"><span class="pre">BinaryQuantifier</span></a></span></em>, <em class="sig-param"><span class="n"><span class="pre">param_grid</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">dict</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">random_state</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">n_jobs</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/meta.html#MedianEstimator"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.meta.MedianEstimator" title="Permalink to this definition"></a></dt> <dd><p>Bases: <a class="reference internal" href="#quapy.method.base.BinaryQuantifier" title="quapy.method.base.BinaryQuantifier"><code class="xref py py-class docutils literal notranslate"><span class="pre">BinaryQuantifier</span></code></a></p> <p>This method is a meta-quantifier that returns, as the estimated class prevalence values, the median of the estimation returned by differently (hyper)parameterized base quantifiers. @@ -2463,7 +2597,7 @@ i.e., in cases of binary quantification.</p> </dl> <dl class="py method"> <dt class="sig sig-object py" id="quapy.method.meta.MedianEstimator.fit"> -<span class="sig-name descname"><span class="pre">fit</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">training</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="quapy.data.html#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><span class="pre">LabelledCollection</span></a></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/meta.html#MedianEstimator.fit"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.meta.MedianEstimator.fit" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">fit</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">training</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="quapy.data.html#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><span class="pre">LabelledCollection</span></a></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/meta.html#MedianEstimator.fit"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.meta.MedianEstimator.fit" title="Permalink to this definition"></a></dt> <dd><p>Trains a quantifier.</p> <dl class="field-list simple"> <dt class="field-odd">Parameters<span class="colon">:</span></dt> @@ -2477,7 +2611,7 @@ i.e., in cases of binary quantification.</p> <dl class="py method"> <dt class="sig sig-object py" id="quapy.method.meta.MedianEstimator.get_params"> -<span class="sig-name descname"><span class="pre">get_params</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">deep</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/meta.html#MedianEstimator.get_params"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.meta.MedianEstimator.get_params" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">get_params</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">deep</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/meta.html#MedianEstimator.get_params"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.meta.MedianEstimator.get_params" title="Permalink to this definition"></a></dt> <dd><p>Get parameters for this estimator.</p> <dl class="field-list simple"> <dt class="field-odd">Parameters<span class="colon">:</span></dt> @@ -2495,7 +2629,7 @@ contained subobjects that are estimators.</p> <dl class="py method"> <dt class="sig sig-object py" id="quapy.method.meta.MedianEstimator.quantify"> -<span class="sig-name descname"><span class="pre">quantify</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">instances</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/meta.html#MedianEstimator.quantify"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.meta.MedianEstimator.quantify" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">quantify</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">instances</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/meta.html#MedianEstimator.quantify"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.meta.MedianEstimator.quantify" title="Permalink to this definition"></a></dt> <dd><p>Generate class prevalence estimates for the sample’s instances</p> <dl class="field-list simple"> <dt class="field-odd">Parameters<span class="colon">:</span></dt> @@ -2509,7 +2643,7 @@ contained subobjects that are estimators.</p> <dl class="py method"> <dt class="sig sig-object py" id="quapy.method.meta.MedianEstimator.set_params"> -<span class="sig-name descname"><span class="pre">set_params</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">params</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/meta.html#MedianEstimator.set_params"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.meta.MedianEstimator.set_params" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">set_params</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">params</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/meta.html#MedianEstimator.set_params"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.meta.MedianEstimator.set_params" title="Permalink to this definition"></a></dt> <dd><p>Set the parameters of this estimator.</p> <p>The method works on simple estimators as well as on nested objects (such as <code class="xref py py-class docutils literal notranslate"><span class="pre">Pipeline</span></code>). The latter have @@ -2532,7 +2666,7 @@ possible to update each component of a nested object.</p> <dl class="py class"> <dt class="sig sig-object py" id="quapy.method.meta.MedianEstimator2"> -<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">quapy.method.meta.</span></span><span class="sig-name descname"><span class="pre">MedianEstimator2</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">base_quantifier</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="#quapy.method.base.BinaryQuantifier" title="quapy.method.base.BinaryQuantifier"><span class="pre">BinaryQuantifier</span></a></span></em>, <em class="sig-param"><span class="n"><span class="pre">param_grid</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">dict</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">random_state</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">n_jobs</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/meta.html#MedianEstimator2"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.meta.MedianEstimator2" title="Link to this definition"></a></dt> +<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">quapy.method.meta.</span></span><span class="sig-name descname"><span class="pre">MedianEstimator2</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">base_quantifier</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="#quapy.method.base.BinaryQuantifier" title="quapy.method.base.BinaryQuantifier"><span class="pre">BinaryQuantifier</span></a></span></em>, <em class="sig-param"><span class="n"><span class="pre">param_grid</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">dict</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">random_state</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">n_jobs</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/meta.html#MedianEstimator2"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.meta.MedianEstimator2" title="Permalink to this definition"></a></dt> <dd><p>Bases: <a class="reference internal" href="#quapy.method.base.BinaryQuantifier" title="quapy.method.base.BinaryQuantifier"><code class="xref py py-class docutils literal notranslate"><span class="pre">BinaryQuantifier</span></code></a></p> <p>This method is a meta-quantifier that returns, as the estimated class prevalence values, the median of the estimation returned by differently (hyper)parameterized base quantifiers. @@ -2550,7 +2684,7 @@ i.e., in cases of binary quantification.</p> </dl> <dl class="py method"> <dt class="sig sig-object py" id="quapy.method.meta.MedianEstimator2.fit"> -<span class="sig-name descname"><span class="pre">fit</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">training</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="quapy.data.html#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><span class="pre">LabelledCollection</span></a></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/meta.html#MedianEstimator2.fit"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.meta.MedianEstimator2.fit" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">fit</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">training</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="quapy.data.html#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><span class="pre">LabelledCollection</span></a></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/meta.html#MedianEstimator2.fit"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.meta.MedianEstimator2.fit" title="Permalink to this definition"></a></dt> <dd><p>Trains a quantifier.</p> <dl class="field-list simple"> <dt class="field-odd">Parameters<span class="colon">:</span></dt> @@ -2564,7 +2698,7 @@ i.e., in cases of binary quantification.</p> <dl class="py method"> <dt class="sig sig-object py" id="quapy.method.meta.MedianEstimator2.get_params"> -<span class="sig-name descname"><span class="pre">get_params</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">deep</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/meta.html#MedianEstimator2.get_params"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.meta.MedianEstimator2.get_params" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">get_params</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">deep</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/meta.html#MedianEstimator2.get_params"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.meta.MedianEstimator2.get_params" title="Permalink to this definition"></a></dt> <dd><p>Get parameters for this estimator.</p> <dl class="field-list simple"> <dt class="field-odd">Parameters<span class="colon">:</span></dt> @@ -2582,7 +2716,7 @@ contained subobjects that are estimators.</p> <dl class="py method"> <dt class="sig sig-object py" id="quapy.method.meta.MedianEstimator2.quantify"> -<span class="sig-name descname"><span class="pre">quantify</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">instances</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/meta.html#MedianEstimator2.quantify"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.meta.MedianEstimator2.quantify" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">quantify</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">instances</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/meta.html#MedianEstimator2.quantify"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.meta.MedianEstimator2.quantify" title="Permalink to this definition"></a></dt> <dd><p>Generate class prevalence estimates for the sample’s instances</p> <dl class="field-list simple"> <dt class="field-odd">Parameters<span class="colon">:</span></dt> @@ -2596,7 +2730,7 @@ contained subobjects that are estimators.</p> <dl class="py method"> <dt class="sig sig-object py" id="quapy.method.meta.MedianEstimator2.set_params"> -<span class="sig-name descname"><span class="pre">set_params</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">params</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/meta.html#MedianEstimator2.set_params"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.meta.MedianEstimator2.set_params" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">set_params</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">params</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/meta.html#MedianEstimator2.set_params"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.meta.MedianEstimator2.set_params" title="Permalink to this definition"></a></dt> <dd><p>Set the parameters of this estimator.</p> <p>The method works on simple estimators as well as on nested objects (such as <code class="xref py py-class docutils literal notranslate"><span class="pre">Pipeline</span></code>). The latter have @@ -2619,7 +2753,7 @@ possible to update each component of a nested object.</p> <dl class="py function"> <dt class="sig sig-object py" id="quapy.method.meta.ensembleFactory"> -<span class="sig-prename descclassname"><span class="pre">quapy.method.meta.</span></span><span class="sig-name descname"><span class="pre">ensembleFactory</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">classifier</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">base_quantifier_class</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">param_grid</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">optim</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">param_model_sel</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">dict</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/meta.html#ensembleFactory"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.meta.ensembleFactory" title="Link to this definition"></a></dt> +<span class="sig-prename descclassname"><span class="pre">quapy.method.meta.</span></span><span class="sig-name descname"><span class="pre">ensembleFactory</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">classifier</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">base_quantifier_class</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">param_grid</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">optim</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">param_model_sel</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Optional</span><span class="p"><span class="pre">[</span></span><span class="pre">dict</span><span class="p"><span class="pre">]</span></span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/meta.html#ensembleFactory"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.meta.ensembleFactory" title="Permalink to this definition"></a></dt> <dd><p>Ensemble factory. Provides a unified interface for instantiating ensembles that can be optimized (via model selection for quantification) for a given evaluation metric using <a class="reference internal" href="quapy.html#quapy.model_selection.GridSearchQ" title="quapy.model_selection.GridSearchQ"><code class="xref py py-class docutils literal notranslate"><span class="pre">quapy.model_selection.GridSearchQ</span></code></a>. If the evaluation metric is classification-oriented @@ -2669,7 +2803,7 @@ in terms of this error.</p> <dl class="py function"> <dt class="sig sig-object py" id="quapy.method.meta.get_probability_distribution"> -<span class="sig-prename descclassname"><span class="pre">quapy.method.meta.</span></span><span class="sig-name descname"><span class="pre">get_probability_distribution</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">posterior_probabilities</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">bins</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">8</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/meta.html#get_probability_distribution"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.meta.get_probability_distribution" title="Link to this definition"></a></dt> +<span class="sig-prename descclassname"><span class="pre">quapy.method.meta.</span></span><span class="sig-name descname"><span class="pre">get_probability_distribution</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">posterior_probabilities</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">bins</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">8</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/meta.html#get_probability_distribution"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.meta.get_probability_distribution" title="Permalink to this definition"></a></dt> <dd><p>Gets a histogram out of the posterior probabilities (only for the binary case).</p> <dl class="field-list simple"> <dt class="field-odd">Parameters<span class="colon">:</span></dt> @@ -2686,10 +2820,10 @@ in terms of this error.</p> </section> <section id="module-quapy.method.non_aggregative"> -<span id="quapy-method-non-aggregative-module"></span><h2>quapy.method.non_aggregative module<a class="headerlink" href="#module-quapy.method.non_aggregative" title="Link to this heading"></a></h2> +<span id="quapy-method-non-aggregative-module"></span><h2>quapy.method.non_aggregative module<a class="headerlink" href="#module-quapy.method.non_aggregative" title="Permalink to this heading"></a></h2> <dl class="py class"> <dt class="sig sig-object py" id="quapy.method.non_aggregative.DMx"> -<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">quapy.method.non_aggregative.</span></span><span class="sig-name descname"><span class="pre">DMx</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">nbins</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">8</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">divergence</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">Callable</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">'HD'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">cdf</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">search</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'optim_minimize'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">n_jobs</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/non_aggregative.html#DMx"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.non_aggregative.DMx" title="Link to this definition"></a></dt> +<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">quapy.method.non_aggregative.</span></span><span class="sig-name descname"><span class="pre">DMx</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">nbins</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">8</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">divergence</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Union</span><span class="p"><span class="pre">[</span></span><span class="pre">str</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">Callable</span><span class="p"><span class="pre">]</span></span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">'HD'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">cdf</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">search</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'optim_minimize'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">n_jobs</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/non_aggregative.html#DMx"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.non_aggregative.DMx" title="Permalink to this definition"></a></dt> <dd><p>Bases: <a class="reference internal" href="#quapy.method.base.BaseQuantifier" title="quapy.method.base.BaseQuantifier"><code class="xref py py-class docutils literal notranslate"><span class="pre">BaseQuantifier</span></code></a></p> <p>Generic Distribution Matching quantifier for binary or multiclass quantification based on the space of covariates. This implementation takes the number of bins, the divergence, and the possibility to work on CDF as hyperparameters.</p> @@ -2707,7 +2841,7 @@ Distance)</p></li> </dl> <dl class="py method"> <dt class="sig sig-object py" id="quapy.method.non_aggregative.DMx.HDx"> -<em class="property"><span class="pre">classmethod</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">HDx</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">n_jobs</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/non_aggregative.html#DMx.HDx"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.non_aggregative.DMx.HDx" title="Link to this definition"></a></dt> +<em class="property"><span class="pre">classmethod</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">HDx</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">n_jobs</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/non_aggregative.html#DMx.HDx"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.non_aggregative.DMx.HDx" title="Permalink to this definition"></a></dt> <dd><p><a class="reference external" href="https://www.sciencedirect.com/science/article/pii/S0020025512004069">Hellinger Distance x</a> (HDx). HDx is a method for training binary quantifiers, that models quantification as the problem of minimizing the average divergence (in terms of the Hellinger Distance) across the feature-specific normalized @@ -2729,7 +2863,7 @@ González-Castro, Alaiz-Rodríguez, Alegre (2013)</p> <dl class="py method"> <dt class="sig sig-object py" id="quapy.method.non_aggregative.DMx.fit"> -<span class="sig-name descname"><span class="pre">fit</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="quapy.data.html#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><span class="pre">LabelledCollection</span></a></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/non_aggregative.html#DMx.fit"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.non_aggregative.DMx.fit" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">fit</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="quapy.data.html#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><span class="pre">LabelledCollection</span></a></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/non_aggregative.html#DMx.fit"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.non_aggregative.DMx.fit" title="Permalink to this definition"></a></dt> <dd><p>Generates the validation distributions out of the training data (covariates). The validation distributions have shape <cite>(n, nfeats, nbins)</cite>, with <cite>n</cite> the number of classes, <cite>nfeats</cite> the number of features, and <cite>nbins</cite> the number of bins. @@ -2745,7 +2879,7 @@ training data labelled with class <cite>i</cite>, and <cite>dij[k]</cite> is the <dl class="py method"> <dt class="sig sig-object py" id="quapy.method.non_aggregative.DMx.quantify"> -<span class="sig-name descname"><span class="pre">quantify</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">instances</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/non_aggregative.html#DMx.quantify"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.non_aggregative.DMx.quantify" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">quantify</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">instances</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/non_aggregative.html#DMx.quantify"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.non_aggregative.DMx.quantify" title="Permalink to this definition"></a></dt> <dd><p>Searches for the mixture model parameter (the sought prevalence values) that yields a validation distribution (the mixture) that best matches the test distribution, in terms of the divergence measure of choice. The matching is computed as the average dissimilarity (in terms of the dissimilarity measure of choice) @@ -2764,13 +2898,13 @@ between all feature-specific discrete distributions.</p> <dl class="py attribute"> <dt class="sig sig-object py" id="quapy.method.non_aggregative.DistributionMatchingX"> -<span class="sig-prename descclassname"><span class="pre">quapy.method.non_aggregative.</span></span><span class="sig-name descname"><span class="pre">DistributionMatchingX</span></span><a class="headerlink" href="#quapy.method.non_aggregative.DistributionMatchingX" title="Link to this definition"></a></dt> +<span class="sig-prename descclassname"><span class="pre">quapy.method.non_aggregative.</span></span><span class="sig-name descname"><span class="pre">DistributionMatchingX</span></span><a class="headerlink" href="#quapy.method.non_aggregative.DistributionMatchingX" title="Permalink to this definition"></a></dt> <dd><p>alias of <a class="reference internal" href="#quapy.method.non_aggregative.DMx" title="quapy.method.non_aggregative.DMx"><code class="xref py py-class docutils literal notranslate"><span class="pre">DMx</span></code></a></p> </dd></dl> <dl class="py class"> <dt class="sig sig-object py" id="quapy.method.non_aggregative.MaximumLikelihoodPrevalenceEstimation"> -<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">quapy.method.non_aggregative.</span></span><span class="sig-name descname"><span class="pre">MaximumLikelihoodPrevalenceEstimation</span></span><a class="reference internal" href="_modules/quapy/method/non_aggregative.html#MaximumLikelihoodPrevalenceEstimation"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.non_aggregative.MaximumLikelihoodPrevalenceEstimation" title="Link to this definition"></a></dt> +<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">quapy.method.non_aggregative.</span></span><span class="sig-name descname"><span class="pre">MaximumLikelihoodPrevalenceEstimation</span></span><a class="reference internal" href="_modules/quapy/method/non_aggregative.html#MaximumLikelihoodPrevalenceEstimation"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.non_aggregative.MaximumLikelihoodPrevalenceEstimation" title="Permalink to this definition"></a></dt> <dd><p>Bases: <a class="reference internal" href="#quapy.method.base.BaseQuantifier" title="quapy.method.base.BaseQuantifier"><code class="xref py py-class docutils literal notranslate"><span class="pre">BaseQuantifier</span></code></a></p> <p>The <cite>Maximum Likelihood Prevalence Estimation</cite> (MLPE) method is a lazy method that assumes there is no prior probability shift between training and test instances (put it other way, that the i.i.d. assumpion holds). @@ -2779,7 +2913,7 @@ itself) the class prevalence seen during training. This method is considered to any quantification method should beat.</p> <dl class="py method"> <dt class="sig sig-object py" id="quapy.method.non_aggregative.MaximumLikelihoodPrevalenceEstimation.fit"> -<span class="sig-name descname"><span class="pre">fit</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="quapy.data.html#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><span class="pre">LabelledCollection</span></a></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/non_aggregative.html#MaximumLikelihoodPrevalenceEstimation.fit"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.non_aggregative.MaximumLikelihoodPrevalenceEstimation.fit" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">fit</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="quapy.data.html#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><span class="pre">LabelledCollection</span></a></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/non_aggregative.html#MaximumLikelihoodPrevalenceEstimation.fit"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.non_aggregative.MaximumLikelihoodPrevalenceEstimation.fit" title="Permalink to this definition"></a></dt> <dd><p>Computes the training prevalence and stores it.</p> <dl class="field-list simple"> <dt class="field-odd">Parameters<span class="colon">:</span></dt> @@ -2793,7 +2927,7 @@ any quantification method should beat.</p> <dl class="py method"> <dt class="sig sig-object py" id="quapy.method.non_aggregative.MaximumLikelihoodPrevalenceEstimation.quantify"> -<span class="sig-name descname"><span class="pre">quantify</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">instances</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/non_aggregative.html#MaximumLikelihoodPrevalenceEstimation.quantify"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.non_aggregative.MaximumLikelihoodPrevalenceEstimation.quantify" title="Link to this definition"></a></dt> +<span class="sig-name descname"><span class="pre">quantify</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">instances</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/non_aggregative.html#MaximumLikelihoodPrevalenceEstimation.quantify"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.non_aggregative.MaximumLikelihoodPrevalenceEstimation.quantify" title="Permalink to this definition"></a></dt> <dd><p>Ignores the input instances and returns, as the class prevalence estimantes, the training prevalence.</p> <dl class="field-list simple"> <dt class="field-odd">Parameters<span class="colon">:</span></dt> @@ -2807,9 +2941,48 @@ any quantification method should beat.</p> </dd></dl> +<dl class="py class"> +<dt class="sig sig-object py" id="quapy.method.non_aggregative.ReadMe"> +<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">quapy.method.non_aggregative.</span></span><span class="sig-name descname"><span class="pre">ReadMe</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">bootstrap_trials</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">100</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">bootstrap_range</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">100</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">bagging_trials</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">100</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">bagging_range</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">25</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">vectorizer_kwargs</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/non_aggregative.html#ReadMe"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.non_aggregative.ReadMe" title="Permalink to this definition"></a></dt> +<dd><p>Bases: <a class="reference internal" href="#quapy.method.base.BaseQuantifier" title="quapy.method.base.BaseQuantifier"><code class="xref py py-class docutils literal notranslate"><span class="pre">BaseQuantifier</span></code></a></p> +<dl class="py method"> +<dt class="sig sig-object py" id="quapy.method.non_aggregative.ReadMe.fit"> +<span class="sig-name descname"><span class="pre">fit</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="quapy.data.html#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><span class="pre">LabelledCollection</span></a></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/non_aggregative.html#ReadMe.fit"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.non_aggregative.ReadMe.fit" title="Permalink to this definition"></a></dt> +<dd><p>Trains a quantifier.</p> +<dl class="field-list simple"> +<dt class="field-odd">Parameters<span class="colon">:</span></dt> +<dd class="field-odd"><p><strong>data</strong> – a <a class="reference internal" href="quapy.data.html#quapy.data.base.LabelledCollection" title="quapy.data.base.LabelledCollection"><code class="xref py py-class docutils literal notranslate"><span class="pre">quapy.data.base.LabelledCollection</span></code></a> consisting of the training data</p> +</dd> +<dt class="field-even">Returns<span class="colon">:</span></dt> +<dd class="field-even"><p>self</p> +</dd> +</dl> +</dd></dl> + +<dl class="py method"> +<dt class="sig sig-object py" id="quapy.method.non_aggregative.ReadMe.quantify"> +<span class="sig-name descname"><span class="pre">quantify</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">instances</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/non_aggregative.html#ReadMe.quantify"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.non_aggregative.ReadMe.quantify" title="Permalink to this definition"></a></dt> +<dd><p>Generate class prevalence estimates for the sample’s instances</p> +<dl class="field-list simple"> +<dt class="field-odd">Parameters<span class="colon">:</span></dt> +<dd class="field-odd"><p><strong>instances</strong> – array-like</p> +</dd> +<dt class="field-even">Returns<span class="colon">:</span></dt> +<dd class="field-even"><p><cite>np.ndarray</cite> of shape <cite>(n_classes,)</cite> with class prevalence estimates.</p> +</dd> +</dl> +</dd></dl> + +<dl class="py method"> +<dt class="sig sig-object py" id="quapy.method.non_aggregative.ReadMe.std_constrained_linear_ls"> +<span class="sig-name descname"><span class="pre">std_constrained_linear_ls</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">X</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">class_cond_X</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">dict</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/quapy/method/non_aggregative.html#ReadMe.std_constrained_linear_ls"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#quapy.method.non_aggregative.ReadMe.std_constrained_linear_ls" title="Permalink to this definition"></a></dt> +<dd></dd></dl> + +</dd></dl> + </section> <section id="module-quapy.method"> -<span id="module-contents"></span><h2>Module contents<a class="headerlink" href="#module-quapy.method" title="Link to this heading"></a></h2> +<span id="module-contents"></span><h2>Module contents<a class="headerlink" href="#module-quapy.method" title="Permalink to this heading"></a></h2> </section> </section> diff --git a/docs/build/html/search.html b/docs/build/html/search.html index ba1b54d..bf88dae 100644 --- a/docs/build/html/search.html +++ b/docs/build/html/search.html @@ -1,11 +1,11 @@ <!DOCTYPE html> -<html class="writer-html5" lang="en" data-content_root="./"> +<html class="writer-html5" lang="en"> <head> <meta charset="utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> - <title>Search — QuaPy: A Python-based open-source framework for quantification 0.1.8 documentation</title> - <link rel="stylesheet" type="text/css" href="_static/pygments.css?v=92fd9be5" /> - <link rel="stylesheet" type="text/css" href="_static/css/theme.css?v=19f00094" /> + <title>Search — QuaPy: A Python-based open-source framework for quantification 0.1.9 documentation</title> + <link rel="stylesheet" type="text/css" href="_static/pygments.css" /> + <link rel="stylesheet" type="text/css" href="_static/css/theme.css" /> @@ -13,11 +13,12 @@ <script src="_static/js/html5shiv.min.js"></script> <![endif]--> - <script src="_static/jquery.js?v=5d32c60e"></script> - <script src="_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script> - <script src="_static/documentation_options.js?v=22607128"></script> - <script src="_static/doctools.js?v=9a2dae69"></script> - <script src="_static/sphinx_highlight.js?v=dc90522c"></script> + <script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script> + <script src="_static/jquery.js"></script> + <script src="_static/underscore.js"></script> + <script src="_static/_sphinx_javascript_frameworks_compat.js"></script> + <script src="_static/doctools.js"></script> + <script src="_static/sphinx_highlight.js"></script> <script src="_static/js/theme.js"></script> <script src="_static/searchtools.js"></script> <script src="_static/language_data.js"></script> diff --git a/docs/build/html/searchindex.js b/docs/build/html/searchindex.js index a2b126d..7f2792c 100644 --- a/docs/build/html/searchindex.js +++ b/docs/build/html/searchindex.js @@ -1 +1 @@ -Search.setIndex({"alltitles": {"Contents": [[1, "contents"]], "GitHub": [[1, "github"]], "Indices and tables": [[1, "indices-and-tables"]], "Installation": [[1, "installation"]], "Module contents": [[3, "module-quapy"], [4, "module-quapy.classification"], [5, "module-quapy.data"], [6, "module-quapy.method"]], "Submodules": [[3, "submodules"], [4, "submodules"], [5, "submodules"], [6, "submodules"]], "Subpackages": [[3, "subpackages"]], "Welcome to QuaPy\u2019s documentation!": [[1, "welcome-to-quapy-s-documentation"]], "quapy": [[0, "module-quapy"], [2, "quapy"]], "quapy package": [[3, "quapy-package"]], "quapy.classification package": [[4, "quapy-classification-package"]], "quapy.classification.calibration module": [[4, "module-quapy.classification.calibration"]], "quapy.classification.methods module": [[4, "module-quapy.classification.methods"]], "quapy.classification.neural module": [[4, "module-quapy.classification.neural"]], "quapy.classification.svmperf module": [[4, "module-quapy.classification.svmperf"]], "quapy.data package": [[5, "quapy-data-package"]], "quapy.data.base module": [[5, "module-quapy.data.base"]], "quapy.data.datasets module": [[5, "module-quapy.data.datasets"]], "quapy.data.preprocessing module": [[5, "module-quapy.data.preprocessing"]], "quapy.data.reader module": [[5, "module-quapy.data.reader"]], "quapy.error module": [[3, "module-quapy.error"]], "quapy.evaluation module": [[3, "module-quapy.evaluation"]], "quapy.functional module": [[3, "module-quapy.functional"]], "quapy.method package": [[6, "quapy-method-package"]], "quapy.method.aggregative module": [[6, "module-quapy.method.aggregative"]], "quapy.method.base module": [[6, "module-quapy.method.base"]], "quapy.method.meta module": [[6, "module-quapy.method.meta"]], "quapy.method.non_aggregative module": [[6, "module-quapy.method.non_aggregative"]], "quapy.model_selection module": [[3, "module-quapy.model_selection"]], "quapy.plot module": [[3, "module-quapy.plot"]], "quapy.protocol module": [[3, "module-quapy.protocol"]], "quapy.util module": [[3, "module-quapy.util"]]}, "docnames": ["generated/quapy", "index", "modules", "quapy", "quapy.classification", "quapy.data", "quapy.method"], "envversion": {"sphinx": 61, "sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.viewcode": 1}, "filenames": ["generated/quapy.rst", "index.rst", "modules.rst", "quapy.rst", "quapy.classification.rst", "quapy.data.rst", "quapy.method.rst"], "indexentries": {"absolute_error() (in module quapy.error)": [[3, "quapy.error.absolute_error"]], "abstractprotocol (class in quapy.protocol)": [[3, "quapy.protocol.AbstractProtocol"]], "abstractstochasticseededprotocol (class in quapy.protocol)": [[3, "quapy.protocol.AbstractStochasticSeededProtocol"]], "acc_error() (in module quapy.error)": [[3, "quapy.error.acc_error"]], "acce() (in module quapy.error)": [[3, "quapy.error.acce"]], "adjusted_quantification() (in module quapy.functional)": [[3, "quapy.functional.adjusted_quantification"]], "ae() (in module quapy.error)": [[3, "quapy.error.ae"]], "app (class in quapy.protocol)": [[3, "quapy.protocol.APP"]], "argmin_prevalence() (in module quapy.functional)": [[3, "quapy.functional.argmin_prevalence"]], "artificialprevalenceprotocol (in module quapy.protocol)": [[3, "quapy.protocol.ArtificialPrevalenceProtocol"]], "as_binary_prevalence() (in module quapy.functional)": [[3, "quapy.functional.as_binary_prevalence"]], "best_model() (quapy.model_selection.gridsearchq method)": [[3, "quapy.model_selection.GridSearchQ.best_model"]], "binary_bias_bins() (in module quapy.plot)": [[3, "quapy.plot.binary_bias_bins"]], "binary_bias_global() (in module quapy.plot)": [[3, "quapy.plot.binary_bias_global"]], "binary_diagonal() (in module quapy.plot)": [[3, "quapy.plot.binary_diagonal"]], "brokenbar_supremacy_by_drift() (in module quapy.plot)": [[3, "quapy.plot.brokenbar_supremacy_by_drift"]], "check_prevalence_vector() (in module quapy.functional)": [[3, "quapy.functional.check_prevalence_vector"]], "collator() (quapy.protocol.abstractstochasticseededprotocol method)": [[3, "quapy.protocol.AbstractStochasticSeededProtocol.collator"]], "configstatus (class in quapy.model_selection)": [[3, "quapy.model_selection.ConfigStatus"]], "create_if_not_exist() (in module quapy.util)": [[3, "quapy.util.create_if_not_exist"]], "create_parent_dir() (in module quapy.util)": [[3, "quapy.util.create_parent_dir"]], "cross_val_predict() (in module quapy.model_selection)": [[3, "quapy.model_selection.cross_val_predict"]], "domainmixer (class in quapy.protocol)": [[3, "quapy.protocol.DomainMixer"]], "download_file() (in module quapy.util)": [[3, "quapy.util.download_file"]], "download_file_if_not_exists() (in module quapy.util)": [[3, "quapy.util.download_file_if_not_exists"]], "earlystop (class in quapy.util)": [[3, "quapy.util.EarlyStop"]], "error (quapy.model_selection.status attribute)": [[3, "quapy.model_selection.Status.ERROR"]], "error_by_drift() (in module quapy.plot)": [[3, "quapy.plot.error_by_drift"]], "evaluate() (in module quapy.evaluation)": [[3, "quapy.evaluation.evaluate"]], "evaluate_on_samples() (in module quapy.evaluation)": [[3, "quapy.evaluation.evaluate_on_samples"]], "evaluation_report() (in module quapy.evaluation)": [[3, "quapy.evaluation.evaluation_report"]], "expand_grid() (in module quapy.model_selection)": [[3, "quapy.model_selection.expand_grid"]], "f1_error() (in module quapy.error)": [[3, "quapy.error.f1_error"]], "f1e() (in module quapy.error)": [[3, "quapy.error.f1e"]], "failed() (quapy.model_selection.configstatus method)": [[3, "quapy.model_selection.ConfigStatus.failed"]], "fit() (quapy.model_selection.gridsearchq method)": [[3, "quapy.model_selection.GridSearchQ.fit"]], "from_name() (in module quapy.error)": [[3, "quapy.error.from_name"]], "get_collator() (quapy.protocol.onlabelledcollectionprotocol class method)": [[3, "quapy.protocol.OnLabelledCollectionProtocol.get_collator"]], "get_divergence() (in module quapy.functional)": [[3, "quapy.functional.get_divergence"]], "get_labelled_collection() (quapy.protocol.onlabelledcollectionprotocol method)": [[3, "quapy.protocol.OnLabelledCollectionProtocol.get_labelled_collection"]], "get_nprevpoints_approximation() (in module quapy.functional)": [[3, "quapy.functional.get_nprevpoints_approximation"]], "get_params() (quapy.model_selection.gridsearchq method)": [[3, "quapy.model_selection.GridSearchQ.get_params"]], "get_quapy_home() (in module quapy.util)": [[3, "quapy.util.get_quapy_home"]], "gridsearchq (class in quapy.model_selection)": [[3, "quapy.model_selection.GridSearchQ"]], "group_params() (in module quapy.model_selection)": [[3, "quapy.model_selection.group_params"]], "hellingerdistance() (in module quapy.functional)": [[3, "quapy.functional.HellingerDistance"]], "invalid (quapy.model_selection.status attribute)": [[3, "quapy.model_selection.Status.INVALID"]], "iterateprotocol (class in quapy.protocol)": [[3, "quapy.protocol.IterateProtocol"]], "kld() (in module quapy.error)": [[3, "quapy.error.kld"]], "linear_search() (in module quapy.functional)": [[3, "quapy.functional.linear_search"]], "mae() (in module quapy.error)": [[3, "quapy.error.mae"]], "map_parallel() (in module quapy.util)": [[3, "quapy.util.map_parallel"]], "mean_absolute_error() (in module quapy.error)": [[3, "quapy.error.mean_absolute_error"]], "mean_normalized_absolute_error() (in module quapy.error)": [[3, "quapy.error.mean_normalized_absolute_error"]], "mean_normalized_relative_absolute_error() (in module quapy.error)": [[3, "quapy.error.mean_normalized_relative_absolute_error"]], "mean_relative_absolute_error() (in module quapy.error)": [[3, "quapy.error.mean_relative_absolute_error"]], "mkld() (in module quapy.error)": [[3, "quapy.error.mkld"]], "mnae() (in module quapy.error)": [[3, "quapy.error.mnae"]], "mnkld() (in module quapy.error)": [[3, "quapy.error.mnkld"]], "mnrae() (in module quapy.error)": [[3, "quapy.error.mnrae"]], "module": [[0, "module-quapy"], [3, "module-quapy"], [3, "module-quapy.error"], [3, "module-quapy.evaluation"], [3, "module-quapy.functional"], [3, "module-quapy.model_selection"], [3, "module-quapy.plot"], [3, "module-quapy.protocol"], [3, "module-quapy.util"]], "mrae() (in module quapy.error)": [[3, "quapy.error.mrae"]], "mse() (in module quapy.error)": [[3, "quapy.error.mse"]], "nae() (in module quapy.error)": [[3, "quapy.error.nae"]], "naturalprevalenceprotocol (in module quapy.protocol)": [[3, "quapy.protocol.NaturalPrevalenceProtocol"]], "nkld() (in module quapy.error)": [[3, "quapy.error.nkld"]], "normalize_prevalence() (in module quapy.functional)": [[3, "quapy.functional.normalize_prevalence"]], "normalized_absolute_error() (in module quapy.error)": [[3, "quapy.error.normalized_absolute_error"]], "normalized_relative_absolute_error() (in module quapy.error)": [[3, "quapy.error.normalized_relative_absolute_error"]], "npp (class in quapy.protocol)": [[3, "quapy.protocol.NPP"]], "nrae() (in module quapy.error)": [[3, "quapy.error.nrae"]], "num_prevalence_combinations() (in module quapy.functional)": [[3, "quapy.functional.num_prevalence_combinations"]], "on_preclassified_instances() (quapy.protocol.onlabelledcollectionprotocol method)": [[3, "quapy.protocol.OnLabelledCollectionProtocol.on_preclassified_instances"]], "onlabelledcollectionprotocol (class in quapy.protocol)": [[3, "quapy.protocol.OnLabelledCollectionProtocol"]], "optim_minimize() (in module quapy.functional)": [[3, "quapy.functional.optim_minimize"]], "parallel() (in module quapy.util)": [[3, "quapy.util.parallel"]], "pickled_resource() (in module quapy.util)": [[3, "quapy.util.pickled_resource"]], "prediction() (in module quapy.evaluation)": [[3, "quapy.evaluation.prediction"]], "prevalence_from_labels() (in module quapy.functional)": [[3, "quapy.functional.prevalence_from_labels"]], "prevalence_from_probabilities() (in module quapy.functional)": [[3, "quapy.functional.prevalence_from_probabilities"]], "prevalence_grid() (quapy.protocol.app method)": [[3, "quapy.protocol.APP.prevalence_grid"]], "prevalence_linspace() (in module quapy.functional)": [[3, "quapy.functional.prevalence_linspace"]], "quantify() (quapy.model_selection.gridsearchq method)": [[3, "quapy.model_selection.GridSearchQ.quantify"]], "quapy": [[0, "module-quapy"], [3, "module-quapy"]], "quapy.error": [[3, "module-quapy.error"]], "quapy.evaluation": [[3, "module-quapy.evaluation"]], "quapy.functional": [[3, "module-quapy.functional"]], "quapy.model_selection": [[3, "module-quapy.model_selection"]], "quapy.plot": [[3, "module-quapy.plot"]], "quapy.protocol": [[3, "module-quapy.protocol"]], "quapy.util": [[3, "module-quapy.util"]], "rae() (in module quapy.error)": [[3, "quapy.error.rae"]], "random_state (quapy.protocol.abstractstochasticseededprotocol property)": [[3, "quapy.protocol.AbstractStochasticSeededProtocol.random_state"]], "relative_absolute_error() (in module quapy.error)": [[3, "quapy.error.relative_absolute_error"]], "return_types (quapy.protocol.onlabelledcollectionprotocol attribute)": [[3, "quapy.protocol.OnLabelledCollectionProtocol.RETURN_TYPES"]], "sample() (quapy.protocol.abstractstochasticseededprotocol method)": [[3, "quapy.protocol.AbstractStochasticSeededProtocol.sample"]], "sample() (quapy.protocol.app method)": [[3, "quapy.protocol.APP.sample"]], "sample() (quapy.protocol.domainmixer method)": [[3, "quapy.protocol.DomainMixer.sample"]], "sample() (quapy.protocol.npp method)": [[3, "quapy.protocol.NPP.sample"]], "sample() (quapy.protocol.upp method)": [[3, "quapy.protocol.UPP.sample"]], "samples_parameters() (quapy.protocol.abstractstochasticseededprotocol method)": [[3, "quapy.protocol.AbstractStochasticSeededProtocol.samples_parameters"]], "samples_parameters() (quapy.protocol.app method)": [[3, "quapy.protocol.APP.samples_parameters"]], "samples_parameters() (quapy.protocol.domainmixer method)": [[3, "quapy.protocol.DomainMixer.samples_parameters"]], "samples_parameters() (quapy.protocol.npp method)": [[3, "quapy.protocol.NPP.samples_parameters"]], "samples_parameters() (quapy.protocol.upp method)": [[3, "quapy.protocol.UPP.samples_parameters"]], "save_text_file() (in module quapy.util)": [[3, "quapy.util.save_text_file"]], "se() (in module quapy.error)": [[3, "quapy.error.se"]], "set_params() (quapy.model_selection.gridsearchq method)": [[3, "quapy.model_selection.GridSearchQ.set_params"]], "smooth() (in module quapy.error)": [[3, "quapy.error.smooth"]], "status (class in quapy.model_selection)": [[3, "quapy.model_selection.Status"]], "strprev() (in module quapy.functional)": [[3, "quapy.functional.strprev"]], "success (quapy.model_selection.status attribute)": [[3, "quapy.model_selection.Status.SUCCESS"]], "success() (quapy.model_selection.configstatus method)": [[3, "quapy.model_selection.ConfigStatus.success"]], "temp_seed() (in module quapy.util)": [[3, "quapy.util.temp_seed"]], "timeout (quapy.model_selection.status attribute)": [[3, "quapy.model_selection.Status.TIMEOUT"]], "timeout() (in module quapy.util)": [[3, "quapy.util.timeout"]], "topsoedistance() (in module quapy.functional)": [[3, "quapy.functional.TopsoeDistance"]], "total() (quapy.protocol.abstractprotocol method)": [[3, "quapy.protocol.AbstractProtocol.total"]], "total() (quapy.protocol.app method)": [[3, "quapy.protocol.APP.total"]], "total() (quapy.protocol.domainmixer method)": [[3, "quapy.protocol.DomainMixer.total"]], "total() (quapy.protocol.iterateprotocol method)": [[3, "quapy.protocol.IterateProtocol.total"]], "total() (quapy.protocol.npp method)": [[3, "quapy.protocol.NPP.total"]], "total() (quapy.protocol.upp method)": [[3, "quapy.protocol.UPP.total"]], "uniform_prevalence_sampling() (in module quapy.functional)": [[3, "quapy.functional.uniform_prevalence_sampling"]], "uniform_simplex_sampling() (in module quapy.functional)": [[3, "quapy.functional.uniform_simplex_sampling"]], "uniformprevalenceprotocol (in module quapy.protocol)": [[3, "quapy.protocol.UniformPrevalenceProtocol"]], "upp (class in quapy.protocol)": [[3, "quapy.protocol.UPP"]]}, "objects": {"": [[3, 0, 0, "-", "quapy"]], "quapy": [[4, 0, 0, "-", "classification"], [5, 0, 0, "-", "data"], [3, 0, 0, "-", "error"], [3, 0, 0, "-", "evaluation"], [3, 0, 0, "-", "functional"], [6, 0, 0, "-", "method"], [3, 0, 0, "-", "model_selection"], [3, 0, 0, "-", "plot"], [3, 0, 0, "-", "protocol"], [3, 0, 0, "-", "util"]], "quapy.classification": [[4, 0, 0, "-", "calibration"], [4, 0, 0, "-", "methods"], [4, 0, 0, "-", "neural"], [4, 0, 0, "-", "svmperf"]], "quapy.classification.calibration": [[4, 1, 1, "", "BCTSCalibration"], [4, 1, 1, "", "NBVSCalibration"], [4, 1, 1, "", "RecalibratedProbabilisticClassifier"], [4, 1, 1, "", "RecalibratedProbabilisticClassifierBase"], [4, 1, 1, "", "TSCalibration"], [4, 1, 1, "", "VSCalibration"]], "quapy.classification.calibration.RecalibratedProbabilisticClassifierBase": [[4, 2, 1, "", "classes_"], [4, 3, 1, "", "fit"], [4, 3, 1, "", "fit_cv"], [4, 3, 1, "", "fit_tr_val"], [4, 3, 1, "", "predict"], [4, 3, 1, "", "predict_proba"]], "quapy.classification.methods": [[4, 1, 1, "", "LowRankLogisticRegression"]], "quapy.classification.methods.LowRankLogisticRegression": [[4, 3, 1, "", "fit"], [4, 3, 1, "", "get_params"], [4, 3, 1, "", "predict"], [4, 3, 1, "", "predict_proba"], [4, 3, 1, "", "set_params"], [4, 3, 1, "", "transform"]], "quapy.classification.neural": [[4, 1, 1, "", "CNNnet"], [4, 1, 1, "", "LSTMnet"], [4, 1, 1, "", "NeuralClassifierTrainer"], [4, 1, 1, "", "TextClassifierNet"], [4, 1, 1, "", "TorchDataset"]], "quapy.classification.neural.CNNnet": [[4, 3, 1, "", "document_embedding"], [4, 3, 1, "", "get_params"], [4, 2, 1, "", "vocabulary_size"]], "quapy.classification.neural.LSTMnet": [[4, 3, 1, "", "document_embedding"], [4, 3, 1, "", "get_params"], [4, 2, 1, "", "vocabulary_size"]], "quapy.classification.neural.NeuralClassifierTrainer": [[4, 2, 1, "", "device"], [4, 3, 1, "", "fit"], [4, 3, 1, "", "get_params"], [4, 3, 1, "", "predict"], [4, 3, 1, "", "predict_proba"], [4, 3, 1, "", "reset_net_params"], [4, 3, 1, "", "set_params"], [4, 3, 1, "", "transform"]], "quapy.classification.neural.TextClassifierNet": [[4, 3, 1, "", "dimensions"], [4, 3, 1, "", "document_embedding"], [4, 3, 1, "", "forward"], [4, 3, 1, "", "get_params"], [4, 3, 1, "", "predict_proba"], [4, 2, 1, "", "vocabulary_size"], [4, 3, 1, "", "xavier_uniform"]], "quapy.classification.neural.TorchDataset": [[4, 3, 1, "", "asDataloader"]], "quapy.classification.svmperf": [[4, 1, 1, "", "SVMperf"]], "quapy.classification.svmperf.SVMperf": [[4, 3, 1, "", "decision_function"], [4, 3, 1, "", "fit"], [4, 3, 1, "", "predict"], [4, 4, 1, "", "valid_losses"]], "quapy.data": [[5, 0, 0, "-", "base"], [5, 0, 0, "-", "datasets"], [5, 0, 0, "-", "preprocessing"], [5, 0, 0, "-", "reader"]], "quapy.data.base": [[5, 1, 1, "", "Dataset"], [5, 1, 1, "", "LabelledCollection"]], "quapy.data.base.Dataset": [[5, 3, 1, "", "SplitStratified"], [5, 2, 1, "", "binary"], [5, 2, 1, "", "classes_"], [5, 3, 1, "", "kFCV"], [5, 3, 1, "", "load"], [5, 2, 1, "", "n_classes"], [5, 3, 1, "", "reduce"], [5, 3, 1, "", "stats"], [5, 2, 1, "", "train_test"], [5, 2, 1, "", "vocabulary_size"]], "quapy.data.base.LabelledCollection": [[5, 2, 1, "", "X"], [5, 2, 1, "", "Xp"], [5, 2, 1, "", "Xy"], [5, 2, 1, "", "binary"], [5, 3, 1, "", "counts"], [5, 3, 1, "", "join"], [5, 3, 1, "", "kFCV"], [5, 3, 1, "", "load"], [5, 2, 1, "", "n_classes"], [5, 2, 1, "", "p"], [5, 3, 1, "", "prevalence"], [5, 3, 1, "", "sampling"], [5, 3, 1, "", "sampling_from_index"], [5, 3, 1, "", "sampling_index"], [5, 3, 1, "", "split_random"], [5, 3, 1, "", "split_stratified"], [5, 3, 1, "", "stats"], [5, 3, 1, "", "uniform_sampling"], [5, 3, 1, "", "uniform_sampling_index"], [5, 2, 1, "", "y"]], "quapy.data.datasets": [[5, 5, 1, "", "fetch_IFCB"], [5, 5, 1, "", "fetch_UCIBinaryDataset"], [5, 5, 1, "", "fetch_UCIBinaryLabelledCollection"], [5, 5, 1, "", "fetch_UCIMulticlassDataset"], [5, 5, 1, "", "fetch_UCIMulticlassLabelledCollection"], [5, 5, 1, "", "fetch_lequa2022"], [5, 5, 1, "", "fetch_reviews"], [5, 5, 1, "", "fetch_twitter"], [5, 5, 1, "", "warn"]], "quapy.data.preprocessing": [[5, 1, 1, "", "IndexTransformer"], [5, 5, 1, "", "index"], [5, 5, 1, "", "reduce_columns"], [5, 5, 1, "", "standardize"], [5, 5, 1, "", "text2tfidf"]], "quapy.data.preprocessing.IndexTransformer": [[5, 3, 1, "", "add_word"], [5, 3, 1, "", "fit"], [5, 3, 1, "", "fit_transform"], [5, 3, 1, "", "transform"], [5, 3, 1, "", "vocabulary_size"]], "quapy.data.reader": [[5, 5, 1, "", "binarize"], [5, 5, 1, "", "from_csv"], [5, 5, 1, "", "from_sparse"], [5, 5, 1, "", "from_text"], [5, 5, 1, "", "reindex_labels"]], "quapy.error": [[3, 5, 1, "", "absolute_error"], [3, 5, 1, "", "acc_error"], [3, 5, 1, "", "acce"], [3, 5, 1, "", "ae"], [3, 5, 1, "", "f1_error"], [3, 5, 1, "", "f1e"], [3, 5, 1, "", "from_name"], [3, 5, 1, "", "kld"], [3, 5, 1, "", "mae"], [3, 5, 1, "", "mean_absolute_error"], [3, 5, 1, "", "mean_normalized_absolute_error"], [3, 5, 1, "", "mean_normalized_relative_absolute_error"], [3, 5, 1, "", "mean_relative_absolute_error"], [3, 5, 1, "", "mkld"], [3, 5, 1, "", "mnae"], [3, 5, 1, "", "mnkld"], [3, 5, 1, "", "mnrae"], [3, 5, 1, "", "mrae"], [3, 5, 1, "", "mse"], [3, 5, 1, "", "nae"], [3, 5, 1, "", "nkld"], [3, 5, 1, "", "normalized_absolute_error"], [3, 5, 1, "", "normalized_relative_absolute_error"], [3, 5, 1, "", "nrae"], [3, 5, 1, "", "rae"], [3, 5, 1, "", "relative_absolute_error"], [3, 5, 1, "", "se"], [3, 5, 1, "", "smooth"]], "quapy.evaluation": [[3, 5, 1, "", "evaluate"], [3, 5, 1, "", "evaluate_on_samples"], [3, 5, 1, "", "evaluation_report"], [3, 5, 1, "", "prediction"]], "quapy.functional": [[3, 5, 1, "", "HellingerDistance"], [3, 5, 1, "", "TopsoeDistance"], [3, 5, 1, "", "adjusted_quantification"], [3, 5, 1, "", "argmin_prevalence"], [3, 5, 1, "", "as_binary_prevalence"], [3, 5, 1, "", "check_prevalence_vector"], [3, 5, 1, "", "get_divergence"], [3, 5, 1, "", "get_nprevpoints_approximation"], [3, 5, 1, "", "linear_search"], [3, 5, 1, "", "normalize_prevalence"], [3, 5, 1, "", "num_prevalence_combinations"], [3, 5, 1, "", "optim_minimize"], [3, 5, 1, "", "prevalence_from_labels"], [3, 5, 1, "", "prevalence_from_probabilities"], [3, 5, 1, "", "prevalence_linspace"], [3, 5, 1, "", "strprev"], [3, 5, 1, "", "uniform_prevalence_sampling"], [3, 5, 1, "", "uniform_simplex_sampling"]], "quapy.method": [[6, 0, 0, "-", "_kdey"], [6, 0, 0, "-", "_neural"], [6, 0, 0, "-", "_threshold_optim"], [6, 0, 0, "-", "aggregative"], [6, 0, 0, "-", "base"], [6, 0, 0, "-", "meta"], [6, 0, 0, "-", "non_aggregative"]], "quapy.method._kdey": [[6, 1, 1, "", "KDEBase"], [6, 1, 1, "", "KDEyCS"], [6, 1, 1, "", "KDEyHD"], [6, 1, 1, "", "KDEyML"]], "quapy.method._kdey.KDEBase": [[6, 4, 1, "", "BANDWIDTH_METHOD"], [6, 3, 1, "", "get_kde_function"], [6, 3, 1, "", "get_mixture_components"], [6, 3, 1, "", "pdf"]], "quapy.method._kdey.KDEyCS": [[6, 3, 1, "", "aggregate"], [6, 3, 1, "", "aggregation_fit"], [6, 3, 1, "", "gram_matrix_mix_sum"]], "quapy.method._kdey.KDEyHD": [[6, 3, 1, "", "aggregate"], [6, 3, 1, "", "aggregation_fit"]], "quapy.method._kdey.KDEyML": [[6, 3, 1, "", "aggregate"], [6, 3, 1, "", "aggregation_fit"]], "quapy.method._neural": [[6, 1, 1, "", "QuaNetModule"], [6, 1, 1, "", "QuaNetTrainer"], [6, 5, 1, "", "mae_loss"]], "quapy.method._neural.QuaNetModule": [[6, 2, 1, "", "device"], [6, 3, 1, "", "forward"]], "quapy.method._neural.QuaNetTrainer": [[6, 2, 1, "", "classes_"], [6, 3, 1, "", "clean_checkpoint"], [6, 3, 1, "", "clean_checkpoint_dir"], [6, 3, 1, "", "fit"], [6, 3, 1, "", "get_params"], [6, 3, 1, "", "quantify"], [6, 3, 1, "", "set_params"]], "quapy.method._threshold_optim": [[6, 1, 1, "", "MAX"], [6, 1, 1, "", "MS"], [6, 1, 1, "", "MS2"], [6, 1, 1, "", "T50"], [6, 1, 1, "", "ThresholdOptimization"], [6, 1, 1, "", "X"]], "quapy.method._threshold_optim.MAX": [[6, 3, 1, "", "condition"]], "quapy.method._threshold_optim.MS": [[6, 3, 1, "", "aggregate"], [6, 3, 1, "", "aggregation_fit"], [6, 3, 1, "", "condition"]], "quapy.method._threshold_optim.MS2": [[6, 3, 1, "", "discard"]], "quapy.method._threshold_optim.T50": [[6, 3, 1, "", "condition"]], "quapy.method._threshold_optim.ThresholdOptimization": [[6, 3, 1, "", "aggregate"], [6, 3, 1, "", "aggregate_with_threshold"], [6, 3, 1, "", "aggregation_fit"], [6, 3, 1, "", "condition"], [6, 3, 1, "", "discard"]], "quapy.method._threshold_optim.X": [[6, 3, 1, "", "condition"]], "quapy.method.aggregative": [[6, 1, 1, "", "ACC"], [6, 4, 1, "", "AdjustedClassifyAndCount"], [6, 1, 1, "", "AggregativeCrispQuantifier"], [6, 1, 1, "", "AggregativeMedianEstimator"], [6, 1, 1, "", "AggregativeQuantifier"], [6, 1, 1, "", "AggregativeSoftQuantifier"], [6, 1, 1, "", "BinaryAggregativeQuantifier"], [6, 1, 1, "", "CC"], [6, 4, 1, "", "ClassifyAndCount"], [6, 1, 1, "", "DMy"], [6, 4, 1, "", "DistributionMatchingY"], [6, 1, 1, "", "DyS"], [6, 1, 1, "", "EMQ"], [6, 4, 1, "", "ExpectationMaximizationQuantifier"], [6, 1, 1, "", "HDy"], [6, 4, 1, "", "HellingerDistanceY"], [6, 1, 1, "", "OneVsAllAggregative"], [6, 1, 1, "", "PACC"], [6, 1, 1, "", "PCC"], [6, 4, 1, "", "ProbabilisticAdjustedClassifyAndCount"], [6, 4, 1, "", "ProbabilisticClassifyAndCount"], [6, 4, 1, "", "SLD"], [6, 1, 1, "", "SMM"], [6, 5, 1, "", "newELM"], [6, 5, 1, "", "newSVMAE"], [6, 5, 1, "", "newSVMKLD"], [6, 5, 1, "", "newSVMQ"], [6, 5, 1, "", "newSVMRAE"]], "quapy.method.aggregative.ACC": [[6, 3, 1, "", "aggregate"], [6, 3, 1, "", "aggregation_fit"], [6, 3, 1, "", "getPteCondEstim"], [6, 3, 1, "", "solve_adjustment"]], "quapy.method.aggregative.AggregativeMedianEstimator": [[6, 3, 1, "", "fit"], [6, 3, 1, "", "get_params"], [6, 3, 1, "", "quantify"], [6, 3, 1, "", "set_params"]], "quapy.method.aggregative.AggregativeQuantifier": [[6, 3, 1, "", "aggregate"], [6, 3, 1, "", "aggregation_fit"], [6, 2, 1, "", "classes_"], [6, 2, 1, "", "classifier"], [6, 3, 1, "", "classifier_fit_predict"], [6, 3, 1, "", "classify"], [6, 3, 1, "", "fit"], [6, 3, 1, "", "quantify"], [6, 2, 1, "", "val_split"], [6, 4, 1, "", "val_split_"]], "quapy.method.aggregative.BinaryAggregativeQuantifier": [[6, 3, 1, "", "fit"], [6, 2, 1, "", "neg_label"], [6, 2, 1, "", "pos_label"]], "quapy.method.aggregative.CC": [[6, 3, 1, "", "aggregate"], [6, 3, 1, "", "aggregation_fit"]], "quapy.method.aggregative.DMy": [[6, 3, 1, "", "aggregate"], [6, 3, 1, "", "aggregation_fit"]], "quapy.method.aggregative.DyS": [[6, 3, 1, "", "aggregate"], [6, 3, 1, "", "aggregation_fit"]], "quapy.method.aggregative.EMQ": [[6, 3, 1, "", "EM"], [6, 3, 1, "", "EMQ_BCTS"], [6, 4, 1, "", "EPSILON"], [6, 4, 1, "", "MAX_ITER"], [6, 3, 1, "", "aggregate"], [6, 3, 1, "", "aggregation_fit"], [6, 3, 1, "", "classify"], [6, 3, 1, "", "predict_proba"]], "quapy.method.aggregative.HDy": [[6, 3, 1, "", "aggregate"], [6, 3, 1, "", "aggregation_fit"]], "quapy.method.aggregative.OneVsAllAggregative": [[6, 3, 1, "", "aggregate"], [6, 3, 1, "", "classify"]], "quapy.method.aggregative.PACC": [[6, 3, 1, "", "aggregate"], [6, 3, 1, "", "aggregation_fit"], [6, 3, 1, "", "getPteCondEstim"]], "quapy.method.aggregative.PCC": [[6, 3, 1, "", "aggregate"], [6, 3, 1, "", "aggregation_fit"]], "quapy.method.aggregative.SMM": [[6, 3, 1, "", "aggregate"], [6, 3, 1, "", "aggregation_fit"]], "quapy.method.base": [[6, 1, 1, "", "BaseQuantifier"], [6, 1, 1, "", "BinaryQuantifier"], [6, 1, 1, "", "OneVsAll"], [6, 1, 1, "", "OneVsAllGeneric"], [6, 5, 1, "", "newOneVsAll"]], "quapy.method.base.BaseQuantifier": [[6, 3, 1, "", "fit"], [6, 3, 1, "", "quantify"]], "quapy.method.base.OneVsAllGeneric": [[6, 2, 1, "", "classes_"], [6, 3, 1, "", "fit"], [6, 3, 1, "", "quantify"]], "quapy.method.meta": [[6, 5, 1, "", "EACC"], [6, 5, 1, "", "ECC"], [6, 5, 1, "", "EEMQ"], [6, 5, 1, "", "EHDy"], [6, 5, 1, "", "EPACC"], [6, 1, 1, "", "Ensemble"], [6, 1, 1, "", "MedianEstimator"], [6, 1, 1, "", "MedianEstimator2"], [6, 5, 1, "", "ensembleFactory"], [6, 5, 1, "", "get_probability_distribution"]], "quapy.method.meta.Ensemble": [[6, 4, 1, "", "VALID_POLICIES"], [6, 2, 1, "", "aggregative"], [6, 3, 1, "", "fit"], [6, 3, 1, "", "get_params"], [6, 2, 1, "", "probabilistic"], [6, 3, 1, "", "quantify"], [6, 3, 1, "", "set_params"]], "quapy.method.meta.MedianEstimator": [[6, 3, 1, "", "fit"], [6, 3, 1, "", "get_params"], [6, 3, 1, "", "quantify"], [6, 3, 1, "", "set_params"]], "quapy.method.meta.MedianEstimator2": [[6, 3, 1, "", "fit"], [6, 3, 1, "", "get_params"], [6, 3, 1, "", "quantify"], [6, 3, 1, "", "set_params"]], "quapy.method.non_aggregative": [[6, 1, 1, "", "DMx"], [6, 4, 1, "", "DistributionMatchingX"], [6, 1, 1, "", "MaximumLikelihoodPrevalenceEstimation"]], "quapy.method.non_aggregative.DMx": [[6, 3, 1, "", "HDx"], [6, 3, 1, "", "fit"], [6, 3, 1, "", "quantify"]], "quapy.method.non_aggregative.MaximumLikelihoodPrevalenceEstimation": [[6, 3, 1, "", "fit"], [6, 3, 1, "", "quantify"]], "quapy.model_selection": [[3, 1, 1, "", "ConfigStatus"], [3, 1, 1, "", "GridSearchQ"], [3, 1, 1, "", "Status"], [3, 5, 1, "", "cross_val_predict"], [3, 5, 1, "", "expand_grid"], [3, 5, 1, "", "group_params"]], "quapy.model_selection.ConfigStatus": [[3, 3, 1, "", "failed"], [3, 3, 1, "", "success"]], "quapy.model_selection.GridSearchQ": [[3, 3, 1, "", "best_model"], [3, 3, 1, "", "fit"], [3, 3, 1, "", "get_params"], [3, 3, 1, "", "quantify"], [3, 3, 1, "", "set_params"]], "quapy.model_selection.Status": [[3, 4, 1, "", "ERROR"], [3, 4, 1, "", "INVALID"], [3, 4, 1, "", "SUCCESS"], [3, 4, 1, "", "TIMEOUT"]], "quapy.plot": [[3, 5, 1, "", "binary_bias_bins"], [3, 5, 1, "", "binary_bias_global"], [3, 5, 1, "", "binary_diagonal"], [3, 5, 1, "", "brokenbar_supremacy_by_drift"], [3, 5, 1, "", "error_by_drift"]], "quapy.protocol": [[3, 1, 1, "", "APP"], [3, 1, 1, "", "AbstractProtocol"], [3, 1, 1, "", "AbstractStochasticSeededProtocol"], [3, 4, 1, "", "ArtificialPrevalenceProtocol"], [3, 1, 1, "", "DomainMixer"], [3, 1, 1, "", "IterateProtocol"], [3, 1, 1, "", "NPP"], [3, 4, 1, "", "NaturalPrevalenceProtocol"], [3, 1, 1, "", "OnLabelledCollectionProtocol"], [3, 1, 1, "", "UPP"], [3, 4, 1, "", "UniformPrevalenceProtocol"]], "quapy.protocol.APP": [[3, 3, 1, "", "prevalence_grid"], [3, 3, 1, "", "sample"], [3, 3, 1, "", "samples_parameters"], [3, 3, 1, "", "total"]], "quapy.protocol.AbstractProtocol": [[3, 3, 1, "", "total"]], "quapy.protocol.AbstractStochasticSeededProtocol": [[3, 3, 1, "", "collator"], [3, 2, 1, "", "random_state"], [3, 3, 1, "", "sample"], [3, 3, 1, "", "samples_parameters"]], "quapy.protocol.DomainMixer": [[3, 3, 1, "", "sample"], [3, 3, 1, "", "samples_parameters"], [3, 3, 1, "", "total"]], "quapy.protocol.IterateProtocol": [[3, 3, 1, "", "total"]], "quapy.protocol.NPP": [[3, 3, 1, "", "sample"], [3, 3, 1, "", "samples_parameters"], [3, 3, 1, "", "total"]], "quapy.protocol.OnLabelledCollectionProtocol": [[3, 4, 1, "", "RETURN_TYPES"], [3, 3, 1, "", "get_collator"], [3, 3, 1, "", "get_labelled_collection"], [3, 3, 1, "", "on_preclassified_instances"]], "quapy.protocol.UPP": [[3, 3, 1, "", "sample"], [3, 3, 1, "", "samples_parameters"], [3, 3, 1, "", "total"]], "quapy.util": [[3, 1, 1, "", "EarlyStop"], [3, 5, 1, "", "create_if_not_exist"], [3, 5, 1, "", "create_parent_dir"], [3, 5, 1, "", "download_file"], [3, 5, 1, "", "download_file_if_not_exists"], [3, 5, 1, "", "get_quapy_home"], [3, 5, 1, "", "map_parallel"], [3, 5, 1, "", "parallel"], [3, 5, 1, "", "pickled_resource"], [3, 5, 1, "", "save_text_file"], [3, 5, 1, "", "temp_seed"], [3, 5, 1, "", "timeout"]]}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "property", "Python property"], "3": ["py", "method", "Python method"], "4": ["py", "attribute", "Python attribute"], "5": ["py", "function", "Python function"]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:property", "3": "py:method", "4": "py:attribute", "5": "py:function"}, "terms": {"": [3, 4, 5, 6], "0": [3, 4, 5, 6], "0001": 6, "001": [4, 6], "005": 3, "01": [3, 4, 6], "05": [3, 6], "063": 5, "08": 3, "081": 5, "1": [3, 4, 5, 6], "10": [3, 4, 6], "100": [3, 4, 5, 6], "1000": [5, 6], "10000": [3, 6], "10036244": [], "1024": 6, "11": 3, "110": 6, "1145": 6, "12": 4, "13": 4, "15": [3, 5], "19": 5, "1e": [3, 4, 6], "2": [3, 5, 6], "20": [3, 6], "200": 4, "2006": 6, "2008": 6, "2013": 6, "2015": [4, 6], "2016": [5, 6], "2017": [5, 6], "2018": 5, "2019": [5, 6], "2020": 4, "2021": 6, "2022": [5, 6], "21": 3, "21591": 5, "22": [4, 5], "222": 4, "23": 4, "232": 4, "24": 4, "25": [3, 4, 6], "256": 4, "26": 4, "27": 4, "27th": 5, "28": 5, "286": 5, "2dx": 6, "2frac": 3, "2nd": 6, "2t": 3, "2tp": 3, "3": [3, 4, 5, 6], "30": [5, 6], "300": 4, "3219819": 6, "3220059": 6, "3227": 3, "33": 3, "34": [5, 6], "3821": 5, "4": [3, 5], "40": 6, "4403": 5, "45": 5, "5": [3, 4, 5, 6], "50": [3, 6], "500": 6, "512": [4, 6], "5fcvx2": 5, "6": 5, "64": [4, 6], "66": 6, "67": 3, "7": [3, 4, 6], "75": 3, "8": [5, 6], "86": 5, "87": 5, "9": 3, "90": 3, "919": 5, "937": 5, "95": 3, "99": 3, "A": [3, 4, 5, 6], "By": 3, "For": [3, 5, 6], "If": [3, 5, 6], "In": [3, 4, 5, 6], "It": [3, 5], "No": [4, 6], "On": 6, "One": 6, "The": [3, 4, 5, 6], "These": [4, 6], "To": 5, "_": [3, 5, 6], "__": 6, "_f": 6, "_i": 6, "_ifcb": 5, "_kdei": 6, "_lequa2022": 5, "_neural": 6, "_threshold_optim": 6, "abc": 6, "about": [3, 5, 6], "abov": 3, "absolut": [3, 6], "absolute_error": [1, 2, 3], "abstent": 4, "abstract": [3, 4, 5, 6], "abstractprotocol": [1, 2, 3, 5], "abstractstochasticseededprotocol": [1, 2, 3], "acc": [1, 2, 3, 6], "acc_error": [1, 2, 3], "access": [5, 6], "accommod": 3, "accord": [3, 4, 5, 6], "accordingli": 6, "accuraci": [3, 6], "achiev": 6, "acm": [5, 6], "across": [3, 6], "act": 3, "actual": [5, 6], "ad": 3, "adapt": [3, 4], "add": [3, 5], "add_word": [1, 3, 5], "addit": 3, "adher": 3, "adjust": [3, 6], "adjusted_quantif": [1, 2, 3], "adjustedclassifyandcount": [1, 3, 6], "admit": 6, "adopt": 5, "advanc": 3, "advantag": 6, "ae": [1, 2, 3], "after": [3, 6], "afterward": [4, 6], "again": 3, "aggr_speedup": 3, "aggreg": [1, 2, 3], "aggregate_with_threshold": [1, 3, 6], "aggregation_fit": [1, 3, 6], "aggregative_method": [], "aggregativecrispquantifi": [1, 3, 6], "aggregativemedianestim": [1, 3, 6], "aggregativequantifi": [1, 3, 6], "aggregativesoftquantifi": [1, 3, 6], "aka": [5, 6], "akin": [3, 6], "al": [4, 5, 6], "alaiz": 6, "alegr": 6, "alexandari": [4, 6], "algorithm": [3, 5, 6], "alia": [3, 5, 6], "all": [3, 4, 5, 6], "alloc": [3, 4], "allow": [3, 4, 5, 6], "along": [3, 6], "alpha": 6, "alpha_i": 6, "alreadi": [3, 6], "also": [3, 4, 6], "altern": [3, 6], "although": 6, "alwai": 6, "amount": 3, "an": [3, 4, 5, 6], "analysi": 5, "ancestor": 6, "ani": [3, 4, 5, 6], "anoth": [3, 6], "anotherdir": 3, "anyth": 6, "anywher": 3, "api": 1, "app": [1, 2, 3, 6], "appli": [3, 4, 5, 6], "applic": 6, "approach": 6, "approxim": [3, 4], "ar": [3, 4, 5, 6], "archiv": 5, "archive_filenam": 3, "arg": [3, 4, 5, 6], "argmax": 3, "argmin_preval": [1, 2, 3], "args_i": 3, "argument": [3, 5, 6], "around": [5, 6], "arrai": [3, 4, 5, 6], "artifici": 3, "artificialprevalenceprotocol": [1, 2, 3], "as_binary_preval": [1, 2, 3], "asarrai": 3, "asdataload": [1, 3, 4], "assert": 5, "assign": [3, 5], "associ": 3, "assum": 6, "assumpion": 6, "attach": 5, "attempt": 6, "attribut": 6, "author": 6, "auto": 3, "automat": 4, "av": 6, "avail": [4, 5, 6], "averag": [3, 5, 6], "avoid": 3, "ax": 6, "axi": 3, "b": [3, 5, 6], "backend": [3, 6], "balanc": 6, "band": 3, "bandwidth": 6, "bandwidth_method": [1, 3, 6], "bar": 3, "barranquero": [4, 6], "base": [1, 2, 3, 4], "base_method": [], "base_quantifi": 6, "base_quantifier_class": 6, "baseestim": [4, 6], "basequantifi": [1, 3, 6], "basic": [5, 6], "batch": 4, "batch_siz": 4, "batch_size_test": 4, "bct": [4, 6], "bctscalibr": [1, 3, 4], "bean": 5, "beat": [4, 6], "been": [3, 4, 5, 6], "befor": [3, 4, 5, 6], "beforehand": 3, "begin": 3, "behaviour": 3, "being": [3, 6], "belong": 6, "below": [3, 5], "benchmark": [], "best": [3, 4, 6], "best_epoch": 3, "best_model": [1, 2, 3], "best_scor": 3, "better": 6, "between": [3, 4, 6], "bia": [3, 4, 6], "bidirect": 6, "bin": [3, 6], "binar": [1, 3, 5], "binari": [1, 3, 4, 5, 6], "binary_bias_bin": [1, 2, 3], "binary_bias_glob": [1, 2, 3], "binary_diagon": [1, 2, 3], "binary_quantifi": 6, "binaryaggregativequantifi": [1, 3, 6], "binaryquantifi": [1, 3, 6], "binom": 3, "block": 3, "boldsymbol": 6, "bool": [3, 6], "boolean": [3, 5, 6], "both": 5, "bound": [3, 6], "box": 3, "brief": 5, "bring": 6, "broken": 3, "brokenbar_supremacy_by_drift": [1, 2, 3], "buns": 6, "bypass": 6, "c": [3, 4, 5, 6], "calcul": 3, "calibr": [1, 2, 3], "calibratorfactori": 4, "call": [3, 5, 6], "callabl": [3, 5, 6], "can": [3, 5, 6], "cannot": 6, "care": 6, "carlo": 6, "carri": [3, 5, 6], "case": [3, 4, 5, 6], "castano": 5, "castro": 6, "categor": 5, "categori": 3, "cauchi": 6, "cc": [1, 3, 6], "cdf": 6, "cell": 6, "center": 6, "central": 3, "ch": 6, "chang": 5, "channel": 6, "characteriz": 5, "charg": [3, 5], "chart": 3, "check": 3, "check_dataframe_format": [], "check_file_format": [], "check_prevalence_vector": [1, 2, 3], "checkpoint": [4, 6], "checkpointdir": 6, "checkpointnam": 6, "checkpointpath": 4, "child": 3, "choic": 6, "choos": 6, "chosen": 3, "class": [3, 4, 5, 6], "class2int": 5, "class_weight": 6, "classes_": [1, 3, 4, 5, 6], "classif": [1, 2, 3, 5, 6], "classif_posterior": 6, "classif_predict": 6, "classifi": [1, 3, 4, 6], "classification_fit": 6, "classifier_fit_predict": [1, 3, 6], "classifier_net": 4, "classifiermixin": 4, "classifyandcount": [1, 3, 6], "classmethod": [3, 5, 6], "classnam": 5, "classs": 3, "clean_checkpoint": [1, 3, 6], "clean_checkpoint_dir": [1, 3, 6], "clef": 5, "clip": 3, "clip_if_necessari": 3, "close": [3, 5, 6], "closest": 6, "cm": 3, "cnn": 6, "cnnnet": [1, 3, 4, 6], "code": 4, "codefram": 5, "codifi": 5, "col": 5, "collat": [1, 2, 3], "collect": [3, 4, 5, 6], "collet": 5, "color": 3, "colormap": 3, "column": [3, 5], "com": [1, 3], "combin": [3, 6], "combinations_budget": 3, "come": [3, 5, 6], "common": 6, "compar": 3, "compat": 6, "competit": 5, "complement": 6, "complet": [3, 6], "compon": [3, 4, 6], "comput": [3, 6], "conceptu": 6, "condit": [1, 3, 6], "conduct": 3, "confer": [4, 5], "confid": 3, "configstatu": [1, 2, 3], "configur": [3, 6], "conform": 5, "connect": 6, "consecut": [3, 4, 5, 6], "consid": [3, 4, 5, 6], "consist": [3, 4, 5, 6], "constrain": [3, 5], "construct": 6, "consult": 6, "contain": [1, 3, 4, 5, 6], "contanin": 3, "content": 2, "context": 3, "control": 3, "conveni": 3, "converg": 6, "convert": [3, 4, 5, 6], "convolut": 4, "copi": [3, 5], "correct": [4, 6], "correctli": 3, "correspond": [5, 6], "count": [1, 3, 5, 6], "counter": 5, "countvector": 5, "covari": [5, 6], "cover": [3, 4], "coz": 5, "cpu": [4, 6], "creat": [3, 6], "create_if_not_exist": [1, 2, 3], "create_parent_dir": [1, 2, 3], "crip": 6, "crisp": [3, 6], "criteria": 5, "criterion": 6, "cross": [3, 4, 5, 6], "cross_val_predict": [1, 2, 3], "csr": 5, "csr_matrix": 5, "csv": 5, "cuda": [4, 6], "cumberson": 3, "current": [3, 4, 5, 6], "custom": [3, 5], "d": 6, "d_": 3, "dat": 4, "data": [1, 2, 3, 4, 6], "data_hom": 5, "datafram": 3, "dataload": 4, "datapoint": 6, "dataset": [1, 2, 3, 4, 6], "dataset_nam": 5, "deactiv": 3, "decaesteck": 6, "decai": 4, "decid": [3, 5], "decis": [3, 4, 6], "decision_funct": [1, 3, 4, 6], "decomposit": 4, "dedic": 5, "deep": [3, 6], "def": 3, "default": [3, 4, 5, 6], "defin": [3, 4, 5, 6], "degener": 6, "del": 5, "delai": 3, "delet": 4, "deliv": 6, "delta": 6, "denomin": 6, "dens": 6, "densiti": [3, 6], "depend": [3, 6], "describ": [3, 6], "descript": 5, "desir": [3, 5], "destin": 3, "detail": [4, 5, 6], "determin": 3, "determinist": 3, "devel": 5, "deviat": [3, 5], "devic": [1, 3, 4, 6], "df": [], "di": 6, "diagon": 3, "dict": [3, 5, 6], "dictionari": [3, 4, 5, 6], "differ": [3, 5, 6], "dij": 6, "dimens": [1, 3, 4, 5, 6], "dimension": [3, 4, 5, 6], "dir": [3, 6], "directori": [3, 4, 5, 6], "discard": [1, 3, 6], "discret": [3, 6], "disjoint": 4, "disk": [3, 5], "disntac": 6, "displai": [3, 4], "displaystyl": 3, "dissimilar": 6, "distanc": [3, 6], "distant": 3, "distribut": [3, 5, 6], "distributionmatch": [], "distributionmatchingi": [1, 3, 6], "distributionmatchingx": [1, 3, 6], "diverg": [3, 6], "divid": 3, "dl": 6, "dmx": [1, 3, 6], "dmy": [1, 3, 6], "do": [3, 4, 5, 6], "doc_embed": 6, "doc_embedding_s": 6, "doc_posterior": 6, "document": [4, 5, 6], "document_embed": [1, 3, 4], "doe": [3, 6], "doi": 6, "domain": 3, "domaina": 3, "domainb": 3, "domainmix": [1, 2, 3], "dot": 3, "dowload": 3, "down": [3, 5, 6], "download": [3, 5], "download_fil": [1, 2, 3], "download_file_if_not_exist": [1, 2, 3], "draw": 3, "drawn": [3, 5], "drop": 4, "drop_p": 4, "dropout": [4, 6], "dry": 5, "dtype": 5, "dump": 5, "dure": 6, "dx": 6, "dy": [1, 3, 6], "dynam": [4, 5, 6], "e": [3, 4, 5, 6], "eacc": [1, 3, 6], "each": [3, 4, 5, 6], "earli": [3, 4, 6], "earlystop": [1, 2, 3], "easili": 4, "ecc": [1, 3, 6], "ecml": 6, "edu": 5, "eemq": [1, 3, 6], "ehdi": [1, 3, 6], "either": [3, 6], "element": [3, 5, 6], "elm": 6, "em": [1, 3, 6], "emb": 4, "embed": [4, 6], "embed_s": 4, "embedding_s": 4, "emploi": 6, "empti": 5, "emq": [1, 3, 6], "emq_bct": [1, 3, 6], "enabl": 4, "encod": 5, "end": [3, 6], "end_msg": 3, "endeavour": 3, "endow": 3, "enforc": 3, "ensembl": [1, 3, 5, 6], "ensemblefactori": [1, 3, 6], "ensur": 3, "entir": 3, "entri": 6, "enum": 3, "enumer": 3, "environ": [3, 6], "ep": 3, "epacc": [1, 3, 6], "epoch": [3, 4, 6], "epsilon": [1, 3, 6], "equal": [3, 6], "equat": 6, "equidist": 3, "equival": 6, "err_nam": 3, "error": [1, 2, 4, 6], "error_by_drift": [1, 2, 3], "error_metr": 3, "error_nam": 3, "especi": 3, "establish": 3, "estim": [3, 4, 5, 6], "estim_prev": 3, "estim_preval": 6, "estimant": 6, "esuli": [4, 5, 6], "et": [4, 5, 6], "evaltestcas": [], "evalu": [1, 2, 4, 5, 6], "evaluate_on_sampl": [1, 2, 3], "evaluation_report": [1, 2, 3], "evalut": 6, "even": 3, "eventu": [4, 5], "everi": [3, 6], "exact": [5, 6], "exact_train_prev": 6, "exampl": [3, 4, 5, 6], "exce": 3, "except": [3, 6], "exhaust": 3, "exist": [3, 6], "exist_ok": 3, "expand": 3, "expand_grid": [1, 2, 3], "expect": 6, "expectationmaximizationquantifi": [1, 3, 6], "experi": [3, 5], "explicit": 6, "explor": 3, "express": 5, "extend": [3, 6], "extens": 6, "extract": [3, 5, 6], "f": [5, 6], "f1": [3, 4], "f1_error": [1, 2, 3], "f1e": [1, 2, 3], "f_1": 3, "factor": 3, "factori": 6, "fail": [1, 2, 3, 6], "fals": [3, 4, 5, 6], "famili": 6, "far": [3, 4, 5], "fare": 3, "fast": [3, 5], "faster": 5, "feat1": 5, "feat2": 5, "featn": 5, "featur": [5, 6], "feature_extract": 5, "fetch_ifcb": [1, 3, 5], "fetch_lequa2022": [1, 3, 5], "fetch_review": [1, 3, 5, 6], "fetch_twitt": [1, 3, 5], "fetch_ucibinarydataset": [1, 3, 5], "fetch_ucibinarylabelledcollect": [1, 3, 5], "fetch_ucilabelledcollect": 5, "fetch_ucimulticlassdataset": [1, 3, 5], "fetch_ucimulticlasslabelledcollect": [1, 3, 5], "ff": 6, "ff_layer": 6, "file": [3, 4, 5, 6], "filenam": 3, "final": 6, "find": 6, "first": [3, 5, 6], "fit": [1, 2, 3, 4, 5, 6], "fit_classifi": 6, "fit_cv": [1, 3, 4], "fit_tr_val": [1, 3, 4], "fit_transform": [1, 3, 5], "flag": 3, "float": [3, 4, 5, 6], "fn": 3, "fold": [3, 5, 6], "folder": [5, 6], "follow": [3, 5, 6], "fomart": 5, "for_model_select": 5, "forc": 3, "form": [3, 5, 6], "forman": 6, "format": [3, 5, 6], "former": 6, "forward": [1, 3, 4, 6], "found": [3, 4, 5, 6], "fp": 3, "fpr": [3, 6], "frac": [3, 6], "fraction": 6, "framework": [1, 6], "franc": 6, "frequenc": [5, 6], "from": [3, 4, 5, 6], "from_csv": [1, 3, 5], "from_nam": [1, 2, 3], "from_spars": [1, 3, 5], "from_text": [1, 3, 5], "full": [3, 5], "fulli": 3, "func": 3, "function": [1, 2, 4, 5, 6], "further": [4, 5, 6], "fusion": 5, "g": [3, 5, 6], "gain": 3, "gao": [5, 6], "gap": 5, "gasp": 5, "gen": 3, "gener": [3, 4, 5, 6], "generation_func": 3, "get": [3, 4, 5, 6], "get_col": [1, 2, 3], "get_diverg": [1, 2, 3], "get_kde_funct": [1, 3, 6], "get_labelled_collect": [1, 2, 3], "get_mixture_compon": [1, 3, 6], "get_nprevpoints_approxim": [1, 2, 3], "get_param": [1, 2, 3, 4, 6], "get_probability_distribut": [1, 3, 6], "get_quapy_hom": [1, 2, 3], "getptecondestim": [1, 3, 6], "github": [], "give": 6, "given": [3, 4, 5, 6], "global": 3, "goal": 6, "goe": 3, "gonz\u00e1lez": [5, 6], "got": 6, "gpu": [4, 6], "gram_matrix_mix_sum": [1, 3, 6], "greater": 5, "grenobl": 6, "grid": [3, 6], "gridsearchcv": 6, "gridsearchq": [1, 2, 3, 6], "ground": 6, "ground_truth_path": [], "group_param": [1, 2, 3], "guarante": [3, 5, 6], "guid": 5, "g\u00e1llego": [5, 6], "h": 6, "ha": [3, 4, 5, 6], "had": 5, "handl": 3, "hard": [3, 4, 6], "harmon": 3, "hat": [3, 6], "have": [3, 5, 6], "hcr": 5, "hd": [3, 6], "hdx": [1, 3, 6], "hdy": [1, 3, 6], "held": [3, 4, 6], "helling": 6, "hellingerdist": [1, 2, 3], "hellingerdistancei": [1, 3, 6], "hellingh": 3, "help": 6, "helper": 3, "henc": [3, 5, 6], "here": 6, "heurist": 6, "hidden": [4, 6], "hidden_s": 4, "hierarchytestcas": [], "high": 3, "highlight": 3, "hightlight": 3, "histogram": 6, "hlt": 1, "hold": [3, 6], "home": [3, 5], "hook": 6, "host": 1, "host_fold": 4, "how": [3, 5, 6], "howev": 3, "hp": 5, "hsosik": [], "html": 5, "http": [1, 3, 5, 6], "hyper": [3, 4, 6], "hyperparamet": [3, 6], "i": [1, 3, 4, 5, 6], "ic": 5, "id": 5, "ifcb": 5, "ifcb_zenodo": [], "ifcbtestsampl": 5, "ifcbtrainsamplesfromdir": 5, "ignor": [3, 5, 6], "ii": 3, "iid": 6, "imdb": 5, "implement": [3, 4, 5, 6], "implicit": 3, "import": [5, 6], "impos": 3, "improv": [3, 4, 6], "in_plac": 3, "includ": [1, 5, 6], "inconveni": 3, "independ": [3, 6], "index": [1, 3, 4, 5, 6], "indextransform": [1, 3, 5], "indic": [3, 4, 5, 6], "individu": 5, "ineffici": 3, "infer": 5, "inform": [3, 4, 5, 6], "infrequ": 5, "inherit": 3, "initi": [4, 6], "inplac": [5, 6], "input": [3, 4, 5, 6], "instal": [4, 6], "instanc": [3, 4, 5, 6], "instanti": [3, 4, 6], "instead": [3, 5, 6], "int": [3, 5, 6], "integ": [3, 4, 5, 6], "interest": 3, "interfac": 6, "intern": [4, 5, 6], "interpret": 6, "interv": 3, "intract": 3, "invalid": [1, 2, 3], "invok": [3, 5], "involv": 3, "irrespect": 6, "isomer": 3, "isometr": 3, "issu": [3, 6], "isti": 1, "item": 3, "iter": [3, 5, 6], "iterateprotocol": [1, 2, 3], "iterrow": [], "its": [3, 4, 6], "itself": [3, 6], "j": [5, 6], "joachim": [4, 6], "joblib": 6, "join": [1, 3, 5], "k": [3, 4, 5, 6], "kde": 6, "kdebas": [1, 3, 6], "kdei": 6, "kdeyc": [1, 3, 6], "kdeyhd": [1, 3, 6], "kdeyml": [1, 3, 6], "keep": [3, 5], "kei": [3, 5], "kept": 5, "kernel": [4, 6], "kernel_height": 4, "kerneldens": 6, "keyword": [5, 6], "kfcv": [1, 3, 4, 5, 6], "kindl": [5, 6], "kl": 3, "kld": [1, 2, 3, 4, 6], "knowledg": 5, "known": [3, 6], "kraemer": 3, "kullback": [3, 6], "kundaj": 4, "kwarg": [4, 5, 6], "l": 6, "l1": [3, 6], "l2": 6, "label": [3, 4, 5, 6], "labelcollectiontestcas": [], "labelled_collect": 3, "labelledcollect": [1, 3, 5, 6], "larg": 3, "larger": [3, 5, 6], "largest": 3, "last": [3, 4, 5], "latinn": 6, "latter": 6, "launch": 3, "layer": [4, 6], "lazi": 6, "ldot": 6, "lead": 5, "learn": [3, 4, 5, 6], "learner": [4, 6], "least": 5, "leav": 5, "left": [3, 5, 6], "legend": 3, "leibler": [3, 6], "len": 3, "length": [4, 5], "lequa": 5, "lequa2022_experi": 5, "less": [3, 5], "let": [3, 6], "leyend": 3, "like": [3, 4, 5, 6], "likelihood": [4, 6], "limit": [3, 6], "line": 3, "linear": [3, 6], "linear_model": 4, "linear_search": [1, 2, 3], "linearsvc": 5, "link": 5, "list": [3, 4, 5, 6], "listedcolormap": 3, "literatur": 3, "load": [1, 3, 5, 6], "load_category_map": [], "load_fn": [], "load_raw_docu": [], "load_vector_docu": [], "loader": 5, "loader_func": 5, "loader_kwarg": 5, "local": 3, "log": [3, 5, 6], "logist": [4, 6], "logisticregress": [4, 6], "logscal": 3, "logspac": 6, "loki": [3, 6], "long": 4, "longer": [3, 6], "longest": 4, "look": 6, "loop": 6, "loss": [3, 4, 6], "lost": 3, "low": [3, 4], "lower": 6, "lower_is_bett": 3, "lowranklogisticregress": [1, 3, 4], "lpha": [], "lq": 6, "lr": [4, 6], "lstm": [4, 6], "lstm_class_nlay": 4, "lstm_hidden_s": 6, "lstm_nlayer": 6, "lstmnet": [1, 3, 4], "m": [1, 3, 6], "machin": 4, "macro": 3, "made": [3, 5, 6], "mae": [1, 2, 3, 4, 6], "mae_loss": [1, 3, 6], "mai": [3, 6], "maintain": 6, "make": [3, 6], "makedir": 3, "manag": 5, "mani": [3, 6], "manner": [4, 6], "map": [4, 6], "map_parallel": [1, 2, 3], "margin": [4, 6], "mark": 3, "mass": 3, "match": 6, "math": [3, 6], "mathbb": 6, "mathcal": [3, 6], "mathrm": 6, "matplotlib": 3, "matric": 5, "matrix": [3, 6], "max": [1, 3, 6], "max_it": [1, 3, 6], "max_sample_s": 6, "maxim": 6, "maximum": [3, 4, 6], "maximumlikelihoodprevalenceestim": [1, 3, 6], "mean": [3, 4, 5, 6], "mean_absolute_error": [1, 2, 3], "mean_normalized_absolute_error": [1, 2, 3], "mean_normalized_relative_absolute_error": [1, 2, 3], "mean_relative_absolute_error": [1, 2, 3], "meant": 6, "measur": [3, 6], "median": 6, "medianestim": [1, 3, 6], "medianestimator2": [1, 3, 6], "medianquantifi": [], "member": 6, "memori": 4, "merchandis": 5, "messag": 6, "met": 5, "meta": [1, 2, 3], "method": [1, 2, 3], "method_nam": 3, "method_ord": 3, "methodnam": [], "metric": [3, 6], "might": [3, 5, 6], "mimick": 6, "min_": [3, 6], "min_df": [5, 6], "min_po": 6, "minim": [3, 6], "minimum": [5, 6], "minimun": 5, "mining6": 5, "minu": 3, "misclassif": 6, "misclassificatin": 6, "miss": 3, "mixtur": [3, 6], "mixture_point": 3, "mkld": [1, 2, 3, 6], "ml": [5, 6], "mlpe": 6, "mnae": [1, 2, 3, 6], "mnkld": [1, 2, 3, 6], "mnrae": [1, 2, 3, 6], "mock": [3, 4], "mock_labelled_collect": [], "model": [3, 4, 5, 6], "model_select": [1, 2, 6], "modif": 3, "modifi": 3, "modseltestcas": [], "modul": [0, 1, 2], "monitor": 3, "mont": 6, "montecarlo_tri": 6, "more": [3, 5, 6], "moreo": [5, 6], "most": [3, 5, 6], "mrae": [1, 2, 3, 4, 6], "ms2": [1, 3, 6], "mse": [1, 2, 3, 6], "msg": 3, "multi": 6, "multiclass": [3, 5, 6], "multipli": 3, "multiprocess": [3, 6], "multivari": 4, "must": [5, 6], "mutual": 6, "my_arrai": 3, "my_collect": 5, "mytestcas": [], "n": [3, 4, 6], "n_bin": [3, 6], "n_categori": [], "n_class": [1, 3, 4, 5, 6], "n_compon": 4, "n_dimens": [4, 6], "n_epoch": 6, "n_featur": [4, 6], "n_instanc": [3, 4, 6], "n_job": [3, 4, 5, 6], "n_preval": 3, "n_prevpoint": 3, "n_repeat": 3, "n_sampl": [3, 4], "n_test": 5, "n_train": 5, "nae": [1, 2, 3], "name": [3, 4, 5, 6], "natur": 3, "naturalprevalenceprotocol": [1, 2, 3], "nbin": [3, 6], "nbv": [4, 6], "nbvscalibr": [1, 3, 4], "ndarrai": [3, 5, 6], "necessari": [3, 6], "need": [3, 5, 6], "neg": [3, 6], "neg_label": [1, 3, 6], "nest": 6, "net": 4, "network": [3, 4, 5, 6], "neural": [1, 2, 3, 5, 6], "neuralclassifiertrain": [1, 3, 4, 6], "never": 3, "new": [3, 5], "newelm": [1, 3, 6], "newonevsal": [1, 3, 6], "newsvma": [1, 3, 6], "newsvmkld": [1, 3, 6], "newsvmq": [1, 3, 6], "newsvmra": [1, 3, 6], "next": [3, 4, 5], "nfeat": 6, "nfold": [3, 5], "nkld": [1, 2, 3, 4, 6], "nn": 4, "nogap": 5, "non": 6, "non_aggreg": [1, 2, 3], "non_aggregative_method": [], "none": [3, 4, 5, 6], "norm": 6, "normal": [3, 5, 6], "normalize_preval": [1, 2, 3], "normalized_absolute_error": [1, 2, 3], "normalized_relative_absolute_error": [1, 2, 3], "note": [3, 5], "noth": 6, "novemb": 4, "np": [3, 5, 6], "npp": [1, 2, 3], "nrae": [1, 2, 3], "nrepeat": 5, "num_prevalence_combin": [1, 2, 3], "number": [3, 4, 5, 6], "numer": [3, 5, 6], "numpi": [3, 4], "o": 3, "object": [3, 4, 5, 6], "observ": 6, "obtain": [3, 4, 6], "obtaind": 3, "obvious": 3, "occur": 5, "occurr": 5, "off": [4, 6], "offici": 5, "oldsymbol": [], "omd": 5, "on_preclassified_inst": [1, 2, 3], "onc": [3, 5], "one": [3, 5, 6], "ones": [3, 5, 6], "onevsal": [1, 3, 6], "onevsallaggreg": [1, 3, 6], "onevsallgener": [1, 3, 6], "onlabelledcollectionprotocol": [1, 2, 3], "onli": [3, 4, 5, 6], "open": [1, 3, 5], "optim": [3, 4, 6], "optim_minim": [1, 2, 3, 6], "option": [5, 6], "order": [3, 5, 6], "order_bi": 6, "org": [5, 6], "orient": [3, 6], "origin": [3, 5, 6], "other": [3, 5, 6], "otherwis": [3, 5, 6], "out": [3, 4, 5, 6], "outer": 3, "outlier": 3, "output": [3, 4, 5, 6], "outsid": 6, "over": 3, "overal": 3, "overridden": 6, "overview": 5, "p": [1, 3, 4, 5, 6], "p_": 6, "p_i": 3, "p_x": 6, "pacc": [1, 3, 6], "packag": [1, 2], "pad": [4, 5], "pad_length": 4, "padding_length": 4, "page": 1, "pair": 3, "panda": 3, "paper": [4, 6], "parallel": [1, 2, 3, 4, 5, 6], "parallel_backend": 6, "param": [3, 4, 6], "param_grid": [3, 6], "param_mod_sel": 6, "param_model_sel": 6, "paramet": [3, 4, 5, 6], "parameter": 6, "parent": 3, "parllel": 6, "part": 5, "particular": 6, "partit": [3, 4], "pass": [3, 4, 6], "patch": [4, 6], "path": [3, 4, 5, 6], "path_dir": [], "patienc": [3, 4, 6], "pcc": [1, 3, 6], "pdf": [1, 3, 6], "percentil": 3, "perf": [4, 6], "perform": [3, 4, 6], "perman": 3, "pglez82": [], "phase": 6, "pickl": [3, 5, 6], "pickle_path": 3, "pickled_resourc": [1, 2, 3], "pip": 1, "pipelin": 6, "pkdd": 6, "pkl": 3, "place": [3, 5], "plankton": 5, "pleas": 5, "plot": [1, 2], "pmlr": 4, "point": [3, 5], "polici": 6, "pos_class": [3, 5], "pos_label": [1, 3, 6], "posit": [3, 5, 6], "positive_preval": 3, "possibl": [3, 6], "post": 3, "posterior": [3, 4, 6], "posterior_prob": 6, "power": 3, "pp": 4, "pre": 3, "pre_classif": 3, "prec": 3, "preced": 5, "precis": 3, "precomput": 5, "predefin": 5, "predict": [1, 2, 3, 4, 6], "predict_on": 6, "predict_proba": [1, 3, 4, 6], "prefer": 3, "prefix": [], "preliminari": 6, "prepar": 3, "preprocess": [1, 2, 3, 6], "present": 5, "preserv": [3, 5], "prev": [3, 5], "preval": [1, 3, 4, 5, 6], "prevalence_estim": 3, "prevalence_from_label": [1, 2, 3], "prevalence_from_prob": [1, 2, 3], "prevalence_grid": [1, 2, 3], "prevalence_linspac": [1, 2, 3], "prevalence_valu": [], "prevel": 6, "previous": [3, 6], "prevs_estim": 6, "prevs_hat": 3, "princip": 4, "print": [3, 4, 5], "prior": [3, 6], "probabilist": [1, 3, 4, 6], "probabilisticadjustedclassifyandcount": [1, 3, 6], "probabilisticclassifyandcount": [1, 3, 6], "probabl": [3, 4, 6], "problem": [3, 5, 6], "procedur": 3, "proceed": [5, 6], "process": [3, 5], "produc": 3, "product": 5, "progress": 5, "proper": 6, "properli": 6, "properti": [3, 4, 5, 6], "proport": [4, 5, 6], "propos": 6, "protocol": [1, 2, 5, 6], "provid": [5, 6], "ptecondestim": 6, "ptr": 6, "publicli": 5, "purpos": 6, "put": 6, "py": 5, "python": [1, 5], "pytorch": 6, "p\u00e9rez": [5, 6], "q": [3, 4, 6], "q_": 6, "q_i": 3, "qacc": 4, "qdrop_p": 6, "qf1": 4, "qgm": 4, "qp": [3, 5, 6], "quanet": [4, 6], "quanetmodul": [1, 3, 6], "quanettrain": [1, 3, 6], "quantif": [0, 1, 3, 4, 5, 6], "quantifi": [1, 2, 3, 5, 6], "quantification_error": 3, "quantiti": 3, "quapy_data": 3, "quay_data": 5, "que": 3, "question": 3, "quevedo": 5, "quick": 5, "quit": 3, "r": [3, 5, 6], "rae": [1, 2, 3], "rais": [3, 6], "raise_error": 3, "raise_except": 3, "rand": 3, "random": [3, 5], "random_se": 3, "random_st": [1, 2, 3, 5, 6], "randomli": 5, "rang": [3, 6], "rank": [4, 6], "rare": 5, "rate": [3, 4, 6], "raw": [3, 5], "re": [4, 5], "reach": 6, "read": 5, "reader": [1, 2, 3], "real": [3, 4, 5, 6], "realiz": 3, "reason": 6, "recal": 3, "recalib": 6, "recalibr": 6, "recalibratedprobabilisticclassifi": [1, 3, 4], "recalibratedprobabilisticclassifierbas": [1, 3, 4], "recip": 6, "recommend": 6, "recomput": 6, "record": [], "recurr": 5, "recurs": 6, "red_siz": 6, "reduc": [1, 3, 5], "reduce_column": [1, 3, 5], "refer": [4, 5], "refit": 3, "regardless": 5, "regim": 3, "region": 3, "regist": 6, "regress": 4, "reindex_label": [1, 3, 5], "reiniti": 4, "rel": [3, 5, 6], "relative_absolute_error": [1, 2, 3], "reli": [3, 6], "remaind": 6, "remov": [5, 6], "repeat": 3, "repetit": 3, "replac": [3, 5], "replic": 3, "repo": 5, "report": [3, 6], "repositori": 5, "repr_siz": 4, "repres": [3, 5, 6], "represent": [3, 4, 6], "reproduc": [3, 5], "request": [3, 5, 6], "requir": [4, 5, 6], "reset_net_param": [1, 3, 4], "resourc": 3, "resp": 6, "respect": [3, 6], "rest": [3, 4, 5], "result": [3, 6], "resultsubmiss": [], "retain": [4, 6], "retrain": 4, "return": [3, 4, 5, 6], "return_constrained_dim": 3, "return_typ": [1, 2, 3], "reus": [3, 5], "review": 5, "reviews_sentiment_dataset": 5, "rgmin_": [], "right": [3, 5, 6], "rodr\u00edguez": 6, "round": 5, "routin": [3, 5, 6], "row": 5, "run": [3, 5, 6], "runtest": [], "saeren": 6, "same": [3, 5, 6], "sampl": [1, 2, 3, 4, 5, 6], "sample_id": [], "sample_prev": 3, "sample_s": [3, 6], "samples_paramet": [1, 2, 3], "samples_to_str": [], "samplesfromdir": 5, "sampling_from_index": [1, 3, 5], "sampling_index": [1, 3, 5], "sander": 5, "sanity_check": 3, "save": [3, 5], "save_text_fil": [1, 2, 3], "savepath": 3, "scale": [3, 4, 6], "scall": 5, "schwarz": 6, "scikit": [3, 4, 5, 6], "scipi": [3, 5], "score": [3, 4, 5, 6], "scott": 6, "script": [5, 6], "se": [1, 2, 3], "search": [1, 3, 6], "sebastiani": [5, 6], "second": [3, 5], "secondari": 3, "see": [3, 4, 5, 6], "seed": [3, 5, 6], "seen": [3, 6], "select": [3, 5, 6], "self": [3, 4, 5, 6], "semeval13": 5, "semeval14": 5, "semeval15": 5, "semeval16": 5, "sens": 3, "sentenc": 5, "sentiment": 5, "separ": [3, 5], "sequenc": 3, "seri": 5, "serv": [3, 5], "set": [3, 4, 5, 6], "set_param": [1, 2, 3, 4, 6], "setup": 6, "sever": 5, "shape": [3, 4, 5, 6], "share": 5, "shift": [3, 4, 6], "short": 4, "shorter": 4, "should": [3, 4, 5, 6], "show": [3, 4, 5, 6], "show_dens": 3, "show_legend": 3, "show_std": 3, "shown": 3, "shrikumar": 4, "shuffl": [4, 5], "side": 3, "sign": 3, "significantli": 3, "silent": [3, 6], "silverman": 6, "sim_": 6, "similar": [3, 6], "simpl": [3, 6], "simplex": 3, "simpli": [3, 6], "simplif": 6, "sinc": [5, 6], "singl": [3, 6], "single_sample_train": 5, "site": [], "size": [3, 4, 5, 6], "skip": 3, "sklearn": [4, 5, 6], "sld": [1, 3, 6], "sleep": 3, "slice": 3, "slsqp": 3, "smallest": 3, "smm": [1, 3, 6], "smooth": [1, 2, 3], "smooth_limits_epsilon": 3, "so": [3, 4, 5, 6], "social": 5, "soft": 6, "solut": [3, 6], "solv": 6, "solve_adjust": [1, 3, 6], "solver": 6, "some": [3, 5, 6], "some_arrai": 3, "sort": 6, "sought": 6, "sourc": [1, 3, 4, 5, 6], "space": [3, 4, 6], "spars": 5, "special": 5, "specif": [3, 6], "specifi": [3, 4, 5, 6], "spectrum": 3, "speed": [3, 6], "sperduti": 5, "split": [3, 4, 5, 6], "split_random": [1, 3, 5], "split_stratifi": [1, 3, 5], "splitstratifi": [1, 3, 5], "spmatrix": 5, "sqrt": [3, 6], "squar": [3, 6], "sst": 5, "stabil": 6, "stabl": 5, "stackexchang": 3, "stand": [3, 6], "standard": [1, 3, 4, 5, 6], "star": 3, "start_msg": 3, "stat": [1, 3, 5], "state": 3, "static": 6, "statist": [3, 6], "stats_siz": 6, "statu": [1, 2, 3], "std": 4, "stdout": 3, "step": [3, 6], "stop": [3, 4, 6], "store": [4, 5, 6], "str": [3, 5, 6], "stratif": 5, "stratifi": [4, 5, 6], "stride": 4, "string": [3, 5, 6], "strprev": [1, 2, 3], "structur": 6, "studi": 5, "style": 5, "subclass": [5, 6], "subdir": 3, "sublinear_tf": 5, "submodul": [1, 2], "subobject": 6, "subpackag": [1, 2], "subsequ": 5, "subtract": [3, 5], "subtyp": 5, "success": [1, 2, 3], "suit": 5, "sum": [3, 6], "sum_": [3, 6], "support": [5, 6], "surfac": 5, "svm": [4, 5, 6], "svm_perf_classifi": 4, "svm_perf_learn": 4, "svmperf": [1, 2, 3, 6], "svmperf_bas": [4, 6], "svmperf_hom": 6, "sweep": 6, "system": 6, "t": [3, 4, 6], "t1a": 5, "t1b": 5, "t2a": 5, "t2b": 5, "t50": [1, 3, 6], "tab10": 3, "tail": 3, "tail_density_threshold": 3, "take": [3, 5, 6], "taken": [3, 4, 5, 6], "target": [3, 4, 6], "task": 5, "te": 5, "temp": 6, "temp_se": [1, 2, 3], "temperatur": [4, 6], "tempor": [3, 4], "tensor": 4, "term": [3, 4, 5, 6], "ternari": 6, "test": [3, 4, 5, 6], "test_aggreg": [], "test_aggregative_method": [], "test_app_not_repl": [], "test_app_numb": [], "test_app_repl": [], "test_app_sanity_check": [], "test_bas": [], "test_binari": [], "test_covariate_shift_not_repl": [], "test_covariate_shift_repl": [], "test_dataset": [], "test_ensemble_method": [], "test_eval_speedup": [], "test_evalu": [], "test_evaluation_output": [], "test_fetch_lequa2022": [], "test_fetch_review": [], "test_fetch_twitt": [], "test_fetch_ucidataset": [], "test_fetch_ucimultidataset": [], "test_gen": 5, "test_hierarchi": [], "test_import": [], "test_join": [], "test_kraemer_not_repl": [], "test_kraemer_repl": [], "test_labelcollect": [], "test_median_meta": [], "test_median_meta_modsel": [], "test_method": [], "test_modsel": [], "test_modsel_parallel": [], "test_modsel_parallel_speedup": [], "test_modsel_timeout": [], "test_no_seed_init": [], "test_non_aggregative_method": [], "test_npp_not_repl": [], "test_npp_repl": [], "test_parallel_replic": [], "test_path": 5, "test_prediction_replic": [], "test_prevalences_path": [], "test_probabilist": [], "test_protocol": [], "test_quanet_method": [], "test_replic": [], "test_samping_replic": [], "test_split": 5, "test_str_label_nam": [], "testcas": [], "testprotocol": [], "text": [3, 4, 5, 6], "text2tfidf": [1, 3, 5], "textclassifiernet": [1, 3, 4], "textual": 5, "tf": 5, "tfidf": 5, "tfidfvector": 5, "th": 6, "than": [3, 4, 5, 6], "thei": 6, "them": [5, 6], "therefor": 3, "thi": [1, 3, 4, 5, 6], "thorsten": 4, "those": [3, 4, 6], "though": 3, "threshold": [3, 6], "thresholdoptim": [1, 3, 6], "through": 3, "thu": [3, 4, 6], "time": [3, 5, 6], "timeout": [1, 2, 3], "timeouterror": 3, "timer": 3, "titl": 3, "tmp": 4, "tn": 3, "togeth": 5, "token": [4, 5], "tol": 6, "toler": 6, "toleranz": 3, "top": [3, 6], "topso": [3, 6], "topsoedist": [1, 2, 3], "torch": [4, 6], "torchdataset": [1, 3, 4], "total": [1, 2, 3], "toward": [5, 6], "tp": 3, "tpr": [3, 6], "tr": 5, "tr_iter_per_poch": 6, "tr_prev": [3, 6], "track": 3, "trade": [4, 6], "train": [3, 4, 5, 6], "train_path": 5, "train_prev": 3, "train_prop": 5, "train_siz": 5, "train_test": [1, 3, 5], "trainer": 4, "transform": [1, 3, 4, 5, 6], "tri": 6, "trial": 6, "true": [3, 4, 5, 6], "true_prev": 3, "truncatedsvd": 4, "truth": 6, "tscalibr": [1, 3, 4], "ttest_alpha": 3, "tupl": [3, 5, 6], "tweet": 5, "twitter": 5, "twitter_sentiment_datasets_test": 5, "twitter_sentiment_datasets_train": 5, "two": [3, 5, 6], "txt": 3, "type": [3, 5, 6], "typic": [3, 4, 5, 6], "u": 6, "u1": 5, "uci": 5, "uci_dataset": 5, "uci_multiclass_dataset": 5, "ucimlrepo": 5, "unalt": 4, "underli": 6, "underlin": 3, "understand": 3, "undertaken": 3, "unifi": 6, "uniform": [3, 5, 6], "uniform_prevalence_sampl": [1, 2, 3], "uniform_sampl": [1, 3, 5], "uniform_sampling_index": [1, 3, 5], "uniform_simplex_sampl": [1, 2, 3], "uniformli": 3, "uniformprevalenceprotocol": [1, 2, 3], "union": 5, "uniqu": 5, "unit": [3, 6], "unk": 5, "unknown": 5, "unlabel": 6, "unlik": 3, "until": 6, "unus": [3, 4], "up": [3, 4, 6], "updat": 6, "upp": [1, 2, 3], "url": 3, "us": [3, 4, 5, 6], "user": 3, "utf": 5, "util": [1, 2, 4, 5], "v": [3, 4, 6], "va_iter_per_poch": 6, "val": [4, 5], "val_gen": 5, "val_split": [1, 3, 4, 6], "val_split_": [1, 3, 6], "valid": [3, 4, 5, 6], "valid_loss": [1, 3, 4, 6], "valid_polici": [1, 3, 6], "valu": [3, 4, 5, 6], "valueerror": 3, "variabl": [3, 5], "variant": [3, 6], "vector": [3, 4, 5, 6], "verbos": [3, 4, 5, 6], "veri": 3, "version": [3, 4], "vertic": 3, "vertical_xtick": 3, "via": [3, 4, 6], "vline": 3, "vocab_s": 4, "vocabulari": [4, 5], "vocabulary_s": [1, 3, 4, 5, 6], "vscalibr": [1, 3, 4], "w": 5, "wa": [3, 5, 6], "wai": 6, "wait": 4, "warn": [1, 3, 5, 6], "wb": 5, "we": 5, "weight": [4, 5], "weight_decai": 4, "well": 6, "whcih": 5, "when": [3, 4, 5, 6], "whenev": 3, "where": [3, 4, 5, 6], "whether": [3, 4, 5, 6], "which": [3, 4, 5, 6], "while": [4, 5, 6], "whoi": 5, "whole": [3, 4], "whose": [5, 6], "widetild": 6, "within": [3, 6], "without": [3, 5], "word": [4, 5, 6], "work": [3, 5, 6], "worker": [3, 4, 5, 6], "workshop": 6, "wors": 3, "would": [5, 6], "wrap": 6, "wrap_cls_param": [], "wrapper": [3, 4, 5, 6], "x": [1, 3, 4, 5, 6], "x2": 5, "x_1": 6, "x_error": 3, "x_i": 6, "x_t": 6, "xavier": 4, "xavier_uniform": [1, 3, 4], "xp": [1, 3, 5], "xy": [1, 3, 5], "y": [1, 3, 4, 5, 6], "y_": 6, "y_error": 3, "y_i": 6, "y_j": 6, "y_pred": 3, "y_true": 3, "yeast": 5, "yield": [3, 5, 6], "z": 5, "z_": 3, "zenodo": 5, "zero": 3, "zip": 3}, "titles": ["quapy", "Welcome to QuaPy\u2019s documentation!", "quapy", "quapy package", "quapy.classification package", "quapy.data package", "quapy.method package"], "titleterms": {"": 1, "A": [], "aggreg": 6, "api": [], "base": [5, 6], "benchmark": [], "calibr": 4, "classif": 4, "content": [1, 3, 4, 5, 6], "data": 5, "dataset": 5, "document": 1, "error": 3, "evalu": 3, "framework": [], "function": 3, "github": 1, "indic": 1, "instal": 1, "meta": 6, "method": [4, 6], "model_select": 3, "modul": [3, 4, 5, 6], "neural": 4, "non_aggreg": 6, "open": [], "packag": [3, 4, 5, 6], "plot": 3, "preprocess": 5, "protocol": 3, "python": [], "quantif": [], "quapi": [0, 1, 2, 3, 4, 5, 6], "reader": 5, "sourc": [], "submodul": [3, 4, 5, 6], "subpackag": 3, "svmperf": 4, "tabl": 1, "test": [], "test_bas": [], "test_dataset": [], "test_evalu": [], "test_hierarchi": [], "test_labelcollect": [], "test_method": [], "test_modsel": [], "test_protocol": [], "test_replic": [], "typic": [], "util": 3, "welcom": 1}}) \ No newline at end of file +Search.setIndex({"docnames": ["index", "modules", "quapy", "quapy.classification", "quapy.data", "quapy.method"], "filenames": ["index.rst", "modules.rst", "quapy.rst", "quapy.classification.rst", "quapy.data.rst", "quapy.method.rst"], "titles": ["Welcome to QuaPy\u2019s documentation!", "quapy", "quapy package", "quapy.classification package", "quapy.data package", "quapy.method package"], "terms": {"i": [0, 2, 3, 4, 5], "python": [0, 4], "base": [0, 1, 2, 3], "open": [0, 2, 4], "sourc": [0, 2, 3, 4, 5], "framework": [0, 5], "quantif": [0, 2, 3, 4, 5], "thi": [0, 2, 3, 4, 5], "contain": [0, 2, 3, 4, 5], "api": 0, "modul": [0, 1], "includ": [0, 4, 5], "pip": [0, 5], "host": 0, "http": [0, 2, 4, 5], "com": [0, 2], "hlt": 0, "isti": 0, "packag": [0, 1], "subpackag": [0, 1], "classif": [0, 1, 2, 4, 5], "submodul": [0, 1], "calibr": [0, 1, 2], "bctscalibr": [0, 2, 3], "nbvscalibr": [0, 2, 3], "recalibratedprobabilisticclassifi": [0, 2, 3], "recalibratedprobabilisticclassifierbas": [0, 2, 3], "classes_": [0, 2, 3, 4, 5], "fit": [0, 1, 2, 3, 4, 5], "fit_cv": [0, 2, 3], "fit_tr_val": [0, 2, 3], "predict": [0, 1, 2, 3, 5], "predict_proba": [0, 2, 3, 5], "tscalibr": [0, 2, 3], "vscalibr": [0, 2, 3], "method": [0, 1, 2], "lowranklogisticregress": [0, 2, 3], "get_param": [0, 1, 2, 3, 5], "set_param": [0, 1, 2, 3, 5], "transform": [0, 2, 3, 4, 5], "neural": [0, 1, 2, 4, 5], "cnnnet": [0, 2, 3, 5], "document_embed": [0, 2, 3], "train": [0, 2, 3, 4, 5], "vocabulary_s": [0, 2, 3, 4, 5], "lstmnet": [0, 2, 3], "neuralclassifiertrain": [0, 2, 3, 5], "devic": [0, 2, 3, 5], "reset_net_param": [0, 2, 3], "textclassifiernet": [0, 2, 3], "dimens": [0, 2, 3, 4, 5], "forward": [0, 2, 3, 5], "xavier_uniform": [0, 2, 3], "torchdataset": [0, 2, 3], "asdataload": [0, 2, 3], "svmperf": [0, 1, 2, 5], "decision_funct": [0, 2, 3, 5], "valid_loss": [0, 2, 3, 5], "data": [0, 1, 2, 3, 5], "dataset": [0, 1, 2, 3, 5], "splitstratifi": [0, 2, 4], "binari": [0, 2, 3, 4, 5], "kfcv": [0, 2, 3, 4], "load": [0, 2, 4, 5], "n_class": [0, 2, 3, 4, 5], "reduc": [0, 2, 4], "stat": [0, 2, 4], "train_test": [0, 2, 4], "labelledcollect": [0, 2, 4, 5], "x": [0, 2, 3, 4, 5], "xp": [0, 2, 4], "xy": [0, 2, 4], "count": [0, 2, 4, 5], "join": [0, 2, 4], "p": [0, 2, 3, 4, 5], "preval": [0, 2, 3, 4, 5], "sampl": [0, 1, 2, 3, 4, 5], "sampling_from_index": [0, 2, 4], "sampling_index": [0, 2, 4], "split_random": [0, 2, 4], "split_stratifi": [0, 2, 4], "uniform_sampl": [0, 2, 4], "uniform_sampling_index": [0, 2, 4], "y": [0, 2, 3, 4, 5], "fetch_ifcb": [0, 2, 4], "fetch_ucibinarydataset": [0, 2, 4], "fetch_ucibinarylabelledcollect": [0, 2, 4], "fetch_ucimulticlassdataset": [0, 2, 4], "fetch_ucimulticlasslabelledcollect": [0, 2, 4], "fetch_lequa2022": [0, 2, 4], "fetch_review": [0, 2, 4, 5], "fetch_twitt": [0, 2, 4], "warn": [0, 2, 4, 5], "preprocess": [0, 1, 2, 5], "indextransform": [0, 2, 4], "add_word": [0, 2, 4], "fit_transform": [0, 2, 4], "index": [0, 2, 3, 4, 5], "reduce_column": [0, 2, 4], "standard": [0, 2, 3, 4, 5], "text2tfidf": [0, 2, 4], "reader": [0, 1, 2], "binar": [0, 2, 4], "from_csv": [0, 2, 4], "from_spars": [0, 2, 4], "from_text": [0, 2, 4], "reindex_label": [0, 2, 4], "aggreg": [0, 1, 2], "acc": [0, 1, 2, 5], "clip": [0, 2, 5], "solver": [0, 2, 5], "aggregation_fit": [0, 2, 5], "getptecondestim": [0, 2, 5], "newinvariantratioestim": [0, 2, 5], "adjustedclassifyandcount": [0, 2, 5], "aggregativecrispquantifi": [0, 2, 5], "aggregativemedianestim": [0, 2, 5], "quantifi": [0, 1, 2, 4, 5], "aggregativequantifi": [0, 2, 5], "classifi": [0, 2, 3, 5], "classifier_fit_predict": [0, 2, 5], "val_split": [0, 2, 3, 5], "val_split_": [0, 2, 5], "aggregativesoftquantifi": [0, 2, 5], "bayesiancc": [0, 2, 5], "get_conditional_probability_sampl": [0, 2, 5], "get_prevalence_sampl": [0, 2, 5], "sample_from_posterior": [0, 2, 5], "binaryaggregativequantifi": [0, 2, 5], "neg_label": [0, 2, 5], "pos_label": [0, 2, 5], "cc": [0, 2, 5], "classifyandcount": [0, 2, 5], "dmy": [0, 2, 5], "distributionmatchingi": [0, 2, 5], "dy": [0, 2, 5], "emq": [0, 2, 5], "em": [0, 2, 5], "emq_bct": [0, 2, 5], "epsilon": [0, 2, 5], "max_it": [0, 2, 5], "expectationmaximizationquantifi": [0, 2, 5], "hdy": [0, 2, 5], "hellingerdistancei": [0, 2, 5], "onevsallaggreg": [0, 2, 5], "pacc": [0, 2, 5], "pcc": [0, 2, 5], "probabilisticadjustedclassifyandcount": [0, 2, 5], "probabilisticclassifyandcount": [0, 2, 5], "sld": [0, 2, 5], "smm": [0, 2, 5], "newelm": [0, 2, 5], "newsvma": [0, 2, 5], "newsvmkld": [0, 2, 5], "newsvmq": [0, 2, 5], "newsvmra": [0, 2, 5], "kdebas": [0, 2, 5], "bandwidth_method": [0, 2, 5], "get_kde_funct": [0, 2, 5], "get_mixture_compon": [0, 2, 5], "pdf": [0, 2, 5], "kdeyc": [0, 2, 5], "gram_matrix_mix_sum": [0, 2, 5], "kdeyhd": [0, 2, 5], "kdeyml": [0, 2, 5], "quanetmodul": [0, 2, 5], "quanettrain": [0, 2, 5], "clean_checkpoint": [0, 2, 5], "clean_checkpoint_dir": [0, 2, 5], "mae_loss": [0, 2, 5], "max": [0, 2, 5], "condit": [0, 2, 5], "m": [0, 2, 5], "ms2": [0, 2, 5], "discard": [0, 2, 5], "t50": [0, 2, 5], "thresholdoptim": [0, 2, 5], "aggregate_with_threshold": [0, 2, 5], "basequantifi": [0, 2, 5], "binaryquantifi": [0, 2, 5], "onevsal": [0, 2, 5], "onevsallgener": [0, 2, 5], "newonevsal": [0, 2, 5], "meta": [0, 1, 2], "eacc": [0, 2, 5], "ecc": [0, 2, 5], "eemq": [0, 2, 5], "ehdi": [0, 2, 5], "epacc": [0, 2, 5], "ensembl": [0, 2, 4, 5], "valid_polici": [0, 2, 5], "probabilist": [0, 2, 3, 5], "medianestim": [0, 2, 5], "medianestimator2": [0, 2, 5], "ensemblefactori": [0, 2, 5], "get_probability_distribut": [0, 2, 5], "non_aggreg": [0, 1, 2], "dmx": [0, 2, 5], "hdx": [0, 2, 5], "distributionmatchingx": [0, 2, 5], "maximumlikelihoodprevalenceestim": [0, 2, 5], "readm": [0, 2, 5], "std_constrained_linear_l": [0, 2, 5], "error": [0, 1, 3, 5], "absolute_error": [0, 1, 2], "acc_error": [0, 1, 2], "ae": [0, 1, 2], "f1_error": [0, 1, 2], "f1e": [0, 1, 2], "from_nam": [0, 1, 2], "kld": [0, 1, 2, 3, 5], "mae": [0, 1, 2, 3, 5], "mean_absolute_error": [0, 1, 2], "mean_normalized_absolute_error": [0, 1, 2], "mean_normalized_relative_absolute_error": [0, 1, 2], "mean_relative_absolute_error": [0, 1, 2], "mkld": [0, 1, 2, 5], "mnae": [0, 1, 2, 5], "mnkld": [0, 1, 2, 5], "mnrae": [0, 1, 2, 5], "mrae": [0, 1, 2, 3, 5], "mse": [0, 1, 2, 5], "nae": [0, 1, 2], "nkld": [0, 1, 2, 3, 5], "normalized_absolute_error": [0, 1, 2], "normalized_relative_absolute_error": [0, 1, 2], "nrae": [0, 1, 2], "rae": [0, 1, 2], "relative_absolute_error": [0, 1, 2], "se": [0, 1, 2], "smooth": [0, 1, 2], "evalu": [0, 1, 3, 4, 5], "evaluate_on_sampl": [0, 1, 2], "evaluation_report": [0, 1, 2], "function": [0, 1, 3, 4, 5], "hellingerdist": [0, 1, 2], "topsoedist": [0, 1, 2], "adjusted_quantif": [0, 1, 2], "argmin_preval": [0, 1, 2], "as_binary_preval": [0, 1, 2], "check_prevalence_vector": [0, 1, 2], "clip_preval": [0, 1, 2], "counts_from_label": [0, 1, 2], "get_diverg": [0, 1, 2], "get_nprevpoints_approxim": [0, 1, 2], "linear_search": [0, 1, 2], "map_onto_probability_simplex": [0, 1, 2], "normalize_preval": [0, 1, 2], "num_prevalence_combin": [0, 1, 2], "optim_minim": [0, 1, 2, 5], "prevalence_from_label": [0, 1, 2], "prevalence_from_prob": [0, 1, 2], "prevalence_linspac": [0, 1, 2], "solve_adjust": [0, 1, 2], "strprev": [0, 1, 2], "uniform_prevalence_sampl": [0, 1, 2], "uniform_simplex_sampl": [0, 1, 2], "model_select": [0, 1, 5], "configstatu": [0, 1, 2], "fail": [0, 1, 2], "success": [0, 1, 2], "gridsearchq": [0, 1, 2, 5], "best_model": [0, 1, 2], "statu": [0, 1, 2], "invalid": [0, 1, 2], "timeout": [0, 1, 2], "cross_val_predict": [0, 1, 2], "expand_grid": [0, 1, 2], "group_param": [0, 1, 2], "plot": [0, 1], "binary_bias_bin": [0, 1, 2], "binary_bias_glob": [0, 1, 2], "binary_diagon": [0, 1, 2], "brokenbar_supremacy_by_drift": [0, 1, 2], "error_by_drift": [0, 1, 2], "protocol": [0, 1, 4, 5], "app": [0, 1, 2, 5], "prevalence_grid": [0, 1, 2], "samples_paramet": [0, 1, 2], "total": [0, 1, 2], "abstractprotocol": [0, 1, 2, 4], "abstractstochasticseededprotocol": [0, 1, 2], "collat": [0, 1, 2], "random_st": [0, 1, 2, 4, 5], "artificialprevalenceprotocol": [0, 1, 2], "domainmix": [0, 1, 2], "iterateprotocol": [0, 1, 2], "npp": [0, 1, 2], "naturalprevalenceprotocol": [0, 1, 2], "onlabelledcollectionprotocol": [0, 1, 2], "return_typ": [0, 1, 2], "get_col": [0, 1, 2], "get_labelled_collect": [0, 1, 2], "on_preclassified_inst": [0, 1, 2], "upp": [0, 1, 2], "uniformprevalenceprotocol": [0, 1, 2], "util": [0, 1, 3, 4], "earlystop": [0, 1, 2], "create_if_not_exist": [0, 1, 2], "create_parent_dir": [0, 1, 2], "download_fil": [0, 1, 2], "download_file_if_not_exist": [0, 1, 2], "get_quapy_hom": [0, 1, 2], "map_parallel": [0, 1, 2], "parallel": [0, 1, 2, 3, 4, 5], "parallel_unpack": [0, 1, 2], "pickled_resourc": [0, 1, 2], "save_text_fil": [0, 1, 2], "temp_se": [0, 1, 2], "search": [0, 2, 5], "page": 0, "content": 1, "implement": [2, 3, 4, 5], "measur": [2, 5], "us": [2, 3, 4, 5], "prev": [2, 4], "prevs_hat": 2, "comput": [2, 5], "absolut": [2, 5], "between": [2, 3, 5], "two": [2, 4, 5], "vector": [2, 3, 4, 5], "hat": [2, 5], "frac": [2, 5], "1": [2, 3, 4, 5], "mathcal": [2, 5], "sum_": [2, 5], "where": [2, 3, 4, 5], "ar": [2, 3, 4, 5], "class": [2, 3, 4, 5], "interest": 2, "paramet": [2, 3, 4, 5], "arrai": [2, 3, 4, 5], "like": [2, 3, 4, 5], "shape": [2, 3, 4, 5], "true": [2, 3, 4, 5], "valu": [2, 3, 4, 5], "return": [2, 3, 4, 5], "y_true": 2, "y_pred": 2, "term": [2, 3, 4, 5], "accuraci": [2, 5], "The": [2, 3, 4, 5], "tp": 2, "tn": 2, "fp": 2, "fn": 2, "stand": [2, 5], "posit": [2, 4, 5], "fals": [2, 3, 4, 5], "neg": [2, 5], "respect": [2, 5], "label": [2, 3, 4, 5], "f1": [2, 3], "simpli": [2, 5], "macro": 2, "f_1": 2, "e": [2, 3, 4, 5], "harmon": 2, "mean": [2, 3, 4, 5], "precis": 2, "recal": 2, "defin": [2, 3, 4, 5], "2tp": 2, "averag": [2, 4, 5], "each": [2, 3, 4, 5], "categori": 2, "independ": [2, 5], "err_nam": 2, "get": [2, 3, 4, 5], "an": [2, 3, 4, 5], "from": [2, 3, 4, 5], "its": [2, 3, 5], "name": [2, 3, 4, 5], "g": [2, 4, 5], "string": [2, 4, 5], "callabl": [2, 4, 5], "request": [2, 4, 5], "ep": 2, "none": [2, 3, 4, 5], "kullback": [2, 5], "leibler": [2, 5], "diverg": [2, 5], "distribut": [2, 4, 5], "d_": 2, "kl": 2, "log": [2, 4, 5], "factor": 2, "see": [2, 3, 4, 5], "case": [2, 3, 4, 5], "which": [2, 3, 4, 5], "zero": 2, "typic": [2, 3, 4, 5], "set": [2, 3, 4, 5], "2t": 2, "t": [2, 3, 5], "size": [2, 3, 4, 5], "If": [2, 4, 5], "taken": [2, 3, 4, 5], "environ": [2, 5], "variabl": [2, 4], "sample_s": [2, 5], "ha": [2, 3, 4, 5], "thu": [2, 3, 5], "beforehand": 2, "across": [2, 5], "pair": 2, "n_sampl": [2, 3], "normal": [2, 4, 5], "rel": [2, 4, 5], "squar": [2, 5], "z_": 2, "2": [2, 4, 5], "min_": [2, 5], "math": [2, 5], "2frac": 2, "underlin": 2, "displaystyl": 2, "model": [2, 3, 4, 5], "error_metr": 2, "union": [2, 4, 5], "str": [2, 4, 5], "aggr_speedup": 2, "bool": [2, 3, 5], "auto": 2, "verbos": [2, 3, 4, 5], "accord": [2, 3, 4, 5], "specif": [2, 5], "gener": [2, 3, 4, 5], "one": [2, 4, 5], "metric": [2, 5], "instanc": [2, 3, 4, 5], "object": [2, 3, 4, 5], "also": [2, 3, 5], "speed": [2, 5], "up": [2, 3, 5], "can": [2, 4, 5], "run": [2, 4, 5], "charg": [2, 4], "repres": [2, 4, 5], "": [2, 3, 4, 5], "qp": [2, 4, 5], "itself": [2, 5], "whether": [2, 3, 4, 5], "appli": [2, 3, 4, 5], "forc": 2, "even": 2, "number": [2, 3, 4, 5], "origin": [2, 4, 5], "collect": [2, 3, 4, 5], "act": 2, "larger": [2, 4, 5], "than": [2, 3, 4, 5], "default": [2, 3, 4, 5], "let": [2, 5], "decid": [2, 4], "conveni": 2, "deactiv": 2, "boolean": [2, 4, 5], "show": [2, 3, 4, 5], "inform": [2, 3, 4, 5], "stdout": 2, "score": [2, 3, 4, 5], "singl": [2, 5], "float": [2, 3, 4, 5], "iter": [2, 4, 5], "given": [2, 3, 4, 5], "list": [2, 3, 4, 5], "report": [2, 5], "panda": 2, "datafram": 2, "more": [2, 4, 5], "column": [2, 4], "estim": [2, 3, 4, 5], "mani": [2, 5], "have": [2, 4, 5], "been": [2, 3, 4, 5], "indic": [2, 3, 4, 5], "displai": [2, 3], "everi": [2, 5], "via": [2, 3, 5], "central": 2, "all": [2, 3, 4, 5], "process": [2, 4], "endow": 2, "optim": [2, 3, 5], "larg": 2, "onli": [2, 3, 4, 5], "come": [2, 4, 5], "down": [2, 4, 5], "onc": [2, 4], "over": [2, 5], "instead": [2, 4, 5], "raw": [2, 4], "so": [2, 3, 4, 5], "never": 2, "call": [2, 4, 5], "again": 2, "behaviour": 2, "obtain": [2, 3, 5], "carri": [2, 4, 5], "out": [2, 3, 4, 5], "overal": 2, "need": [2, 4, 5], "exce": 2, "undertaken": 2, "issu": [2, 5], "tupl": [2, 4, 5], "true_prev": 2, "estim_prev": 2, "element": [2, 4, 5], "ndarrai": [2, 4, 5], "q": [2, 3, 5], "hellingh": 2, "distanc": [2, 5], "hd": [2, 5], "discret": [2, 5], "k": [2, 3, 4, 5], "bin": [2, 5], "sqrt": [2, 5], "p_i": 2, "q_i": 2, "real": [2, 3, 4, 5], "1e": [2, 3, 5], "20": [2, 5], "topso": [2, 5], "left": [2, 4, 5], "right": [2, 4, 5], "prevalence_estim": 2, "_supportsarrai": 2, "dtype": [2, 4], "_nestedsequ": 2, "int": [2, 4, 5], "complex": 2, "byte": 2, "tpr": [2, 5], "fpr": [2, 5], "adjust": [2, 5], "rate": [2, 3, 5], "might": [2, 4], "rang": [2, 5], "0": [2, 3, 4, 5], "loss": [2, 3, 5], "liter": [2, 5], "ternary_search": 2, "minim": [2, 5], "strategi": 2, "possibl": [2, 5], "scipi": [2, 4], "linear": [2, 5], "problem": [2, 4, 5], "space": [2, 3, 5], "01": [2, 3, 5], "02": 2, "ternari": [2, 5], "yet": 2, "np": [2, 4, 5], "positive_preval": 2, "clip_if_necessari": 2, "helper": 2, "order": [2, 4, 5], "guarante": [2, 4, 5], "result": [2, 5], "valid": [2, 3, 4, 5], "check": 2, "rais": [2, 5], "raise_except": 2, "toleranz": 2, "08": 2, "sum": [2, 5], "otherwis": [2, 4, 5], "project": [2, 5], "proport": [2, 3, 4, 5], "probabl": [2, 3, 5], "perform": [2, 3, 5], "thei": [2, 5], "onto": [2, 5], "simplex": [2, 5], "n_instanc": [2, 3, 5], "correctli": 2, "when": [2, 3, 4, 5], "some": [2, 4, 5], "exampl": [2, 3, 4, 5], "len": 2, "occurr": [2, 4], "receiv": 2, "argument": [2, 4, 5], "That": 2, "alreadi": 2, "tri": [2, 5], "instanti": [2, 3, 5], "correspond": [2, 4, 5], "combinations_budget": 2, "n_repeat": 2, "largest": 2, "equidist": 2, "point": [2, 4, 5], "combin": [2, 5], "dimension": [2, 3, 4, 5], "do": [2, 3, 4, 5], "integ": [2, 3, 4, 5], "maximum": [2, 3, 5], "allow": [2, 3, 4, 5], "repetit": 2, "less": [2, 4, 5], "best": [2, 3, 5], "explor": 2, "step": [2, 5], "ineffici": 2, "ad": 2, "complet": [2, 5], "earli": [2, 3, 5], "literatur": 2, "A": [2, 3, 4, 5], "most": [2, 4, 5], "power": 2, "altern": [2, 5], "found": [2, 3, 4, 5], "unnormalized_arr": 2, "code": [2, 3], "adapt": [2, 3], "mathieu": 2, "blondel": 2, "bsd": 2, "licens": 2, "accompani": 2, "paper": [2, 3, 5], "akinori": 2, "fujino": 2, "naonori": 2, "ueda": 2, "scale": [2, 3, 5], "multiclass": [2, 4, 5], "support": [2, 4, 5], "machin": [2, 3], "euclidean": 2, "icpr": 2, "2014": 2, "url": 2, "n": [2, 3, 5], "v": [2, 3, 5], "matrix": [2, 5], "consist": [2, 3, 4, 5], "l1": [2, 5], "convert": [2, 3, 4, 5], "n_prevpoint": 2, "equal": [2, 5], "distant": 2, "calcul": [2, 5], "binom": 2, "c": [2, 3, 4, 5], "time": [2, 4, 5], "r": [2, 4, 5], "mass": 2, "block": 2, "alloc": [2, 3], "solut": [2, 5], "star": 2, "bar": 2, "For": [2, 4, 5], "5": [2, 3, 4, 5], "25": [2, 3, 5], "75": [2, 5], "50": [2, 5], "yield": [2, 4, 5], "smallest": 2, "lost": 2, "constrain": [2, 4], "slsqp": 2, "routin": [2, 4, 5], "posterior": [2, 3, 5], "crisp": [2, 5], "decis": [2, 3, 5], "take": [2, 4, 5], "argmax": 2, "grid_point": 2, "21": 2, "repeat": 2, "smooth_limits_epsilon": 2, "produc": 2, "uniformli": 2, "separ": [2, 4], "By": 2, "05": [2, 5], "limit": [2, 5], "10": [2, 3, 5], "15": [2, 4], "90": 2, "95": 2, "99": 2, "interv": 2, "quantiti": 2, "add": [2, 4], "subtract": [2, 4], "p_c_cond_i": 2, "p_c": [2, 5], "invers": [2, 5], "invari": [2, 5], "ratio": [2, 5], "exact": [2, 4, 5], "solv": [2, 5], "equat": [2, 5], "misclassif": [2, 5], "entri": [2, 5], "being": [2, 5], "belong": [2, 5], "end": [2, 5], "option": [2, 4, 5], "mai": 2, "exist": 2, "degener": 2, "vaz": [2, 5], "et": [2, 3, 4, 5], "al": [2, 3, 4, 5], "replac": [2, 4, 5], "last": [2, 3, 4, 5], "system": [2, 5], "rank": [2, 3, 5], "strictli": [2, 5], "full": [2, 4, 5], "deprec": [2, 5], "alwai": [2, 5], "prec": 2, "3": [2, 3, 4, 5], "represent": [2, 3, 5], "33": 2, "67": 2, "kraemer": 2, "algorithm": [2, 4, 5], "random": [2, 4, 5], "unit": [2, 5], "post": 2, "stackexchang": 2, "question": 2, "3227": 2, "uniform": [2, 4, 5], "_": [2, 4, 5], "param": [2, 3, 5], "msg": 2, "param_grid": [2, 5], "dict": [2, 4, 5], "type": [2, 4, 5], "refit": 2, "n_job": [2, 3, 4, 5], "raise_error": 2, "grid": [2, 5], "target": [2, 3, 5], "orient": [2, 5], "hyperparamet": [2, 5], "dictionari": [2, 3, 4, 5], "kei": [2, 4], "ones": [2, 4, 5], "those": [2, 3, 5], "quantification_error": 2, "whole": [2, 3], "chosen": 2, "ignor": [2, 4, 5], "gen": 2, "establish": 2, "timer": 2, "second": [2, 4], "configur": [2, 5], "test": [2, 3, 4, 5], "whenev": 2, "longer": [2, 5], "timeouterror": 2, "except": [2, 5], "bound": [2, 5], "ani": [2, 3, 4, 5], "mark": 2, "goe": 2, "howev": 2, "valueerror": 2, "through": 2, "after": [2, 5], "hyper": [2, 3, 5], "learn": [2, 3, 4, 5], "select": [2, 4, 5], "self": [2, 3, 4, 5], "deep": [2, 5], "unus": [2, 3], "contanin": 2, "enum": 2, "enumer": 2, "4": [2, 4], "nfold": [2, 4], "akin": [2, 5], "scikit": [2, 3, 4, 5], "fold": [2, 4, 5], "cross": [2, 3, 4, 5], "seed": [2, 4, 5], "reproduc": [2, 4], "expand": 2, "100": [2, 3, 4, 5], "b": [2, 4, 5], "print": [2, 3, 4], "assign": [2, 4], "partit": [2, 3], "anoth": [2, 5], "que": 2, "method_nam": 2, "pos_class": [2, 4], "titl": 2, "nbin": [2, 5], "colormap": 2, "matplotlib": 2, "color": 2, "listedcolormap": 2, "vertical_xtick": 2, "legend": 2, "savepath": 2, "box": 2, "local": 2, "bia": [2, 3, 5], "sign": 2, "minu": 2, "differ": [2, 4, 5], "classs": 2, "experi": [2, 4], "compon": [2, 3, 5], "cm": 2, "tab10": 2, "secondari": 2, "path": [2, 3, 4, 5], "save": [2, 4], "shown": 2, "global": 2, "show_std": 2, "train_prev": 2, "method_ord": 2, "diagon": 2, "along": [2, 5], "axi": 2, "describ": [2, 5], "henc": [2, 4, 5], "It": [2, 4], "though": 2, "other": [2, 4, 5], "prefer": 2, "deviat": [2, 4], "band": 2, "inconveni": 2, "compar": 2, "high": [2, 5], "leyend": 2, "hightlight": 2, "conduct": 2, "same": [2, 4, 5], "impos": 2, "associ": 2, "tr_prev": [2, 5], "n_bin": [2, 5], "isomer": 2, "x_error": 2, "y_error": 2, "ttest_alpha": 2, "005": 2, "tail_density_threshold": 2, "top": [2, 5], "region": 2, "shift": [2, 3, 5], "form": [2, 4, 5], "broken": 2, "chart": 2, "either": 2, "follow": [2, 4, 5], "hold": [2, 5], "ii": 2, "statist": [2, 5], "significantli": 2, "side": 2, "confid": 2, "made": [2, 4, 5], "isometr": 2, "percentil": 2, "divid": 2, "amount": [2, 5], "abov": 2, "consid": [2, 3, 4, 5], "involv": 2, "similar": [2, 5], "threshold": [2, 5], "densiti": [2, 5], "below": [2, 4], "tail": 2, "avoid": 2, "outlier": 2, "error_nam": 2, "show_dens": 2, "show_legend": 2, "logscal": 2, "vline": 2, "especi": 2, "cumberson": 2, "gain": 2, "understand": 2, "about": [2, 4, 5], "how": [2, 4, 5], "fare": 2, "prior": [2, 5], "spectrum": 2, "low": [2, 3], "regim": 2, "highlight": 2, "vertic": 2, "dot": 2, "line": 2, "n_preval": 2, "sanity_check": 2, "10000": [2, 5], "sample_prev": 2, "artifici": 2, "drawn": [2, 4], "extract": [2, 4, 5], "copi": [2, 4], "replic": 2, "sequenc": 2, "user": 2, "skip": 2, "labelled_collect": 2, "exhaust": 2, "depend": [2, 5], "11": 2, "9": 2, "implicit": 2, "return_constrained_dim": 2, "rest": [2, 3, 4], "note": [2, 4], "quit": 2, "obvious": 2, "doe": [2, 5], "determinist": 2, "anywher": 2, "multipli": 2, "realiz": 2, "necessari": [2, 5], "abstract": [2, 3, 4, 5], "parent": 2, "known": [2, 5], "procedur": 2, "enforc": 2, "fulli": 2, "In": [2, 3, 4, 5], "make": [2, 5], "extend": [2, 5], "input": [2, 3, 4, 5], "arg": [2, 3, 4, 5], "prepar": 2, "accommod": 2, "desir": [2, 4], "output": [2, 3, 4, 5], "format": [2, 4, 5], "befor": [2, 3, 4, 5], "inherit": 2, "custom": [2, 4], "addit": 2, "adher": 2, "properti": [2, 3, 4, 5], "determin": 2, "serv": [2, 4], "alia": [2, 4, 5], "domaina": 2, "domainb": 2, "mixture_point": 2, "mixtur": [2, 5], "domain": 2, "control": 2, "preserv": [2, 4], "draw": [2, 5], "specifi": [2, 3, 4, 5], "should": [2, 3, 4, 5], "zip": 2, "veri": 2, "simpl": [2, 5], "previous": [2, 5], "natur": 2, "therefor": 2, "approxim": [2, 3], "classmethod": [2, 4, 5], "pre_classif": 2, "in_plac": 2, "modifi": 2, "version": [2, 3], "pre": 2, "advanc": 2, "hard": [2, 3, 5], "modif": 2, "place": [2, 4], "new": [2, 4], "variant": [2, 5], "reli": [2, 5], "cover": [2, 3], "entir": 2, "sens": 2, "unlik": 2, "endeavour": 2, "intract": 2, "patienc": [2, 3, 5], "lower_is_bett": 2, "stop": [2, 3, 5], "network": [2, 3, 4, 5], "epoch": [2, 3, 5], "7": [2, 3, 5], "improv": [2, 3, 5], "best_epoch": 2, "best_scor": 2, "consecut": [2, 3, 4, 5], "monitor": 2, "obtaind": 2, "held": [2, 3, 5], "split": [2, 3, 4, 5], "wors": 2, "far": [2, 3, 4], "flag": 2, "keep": [2, 4], "track": 2, "seen": [2, 5], "wa": [2, 4, 5], "o": 2, "makedir": 2, "exist_ok": 2, "dir": [2, 5], "subdir": 2, "anotherdir": 2, "creat": [2, 5], "file": [2, 3, 4, 5], "txt": 2, "archive_filenam": 2, "download": [2, 4], "destin": 2, "filenam": 2, "dowload": 2, "home": [2, 4], "directori": [2, 3, 4, 5], "perman": 2, "quapy_data": 2, "func": 2, "slice": 2, "item": 2, "work": [2, 4, 5], "pass": [2, 3, 5], "worker": [2, 3, 4, 5], "asarrai": 2, "backend": [2, 5], "loki": [2, 5], "wrapper": [2, 3, 4, 5], "multiprocess": [2, 5], "delai": 2, "args_i": 2, "silent": [2, 5], "child": 2, "ensur": 2, "numer": [2, 4, 5], "handl": 2, "open_arg": 2, "pickle_path": 2, "generation_func": 2, "fast": [2, 4], "reus": [2, 4], "resourc": 2, "next": [2, 3, 4], "invok": [2, 4], "pickl": [2, 4, 5], "def": 2, "some_arrai": 2, "mock": [2, 3], "rand": 2, "my_arrai": 2, "pkl": 2, "first": [2, 4, 5], "text": [2, 3, 4, 5], "disk": [2, 4], "miss": 2, "context": 2, "tempor": [2, 3], "without": [2, 4], "outer": 2, "numpi": [2, 3], "current": [2, 3, 4, 5], "state": 2, "random_se": 2, "within": [2, 5], "launch": 2, "close": [2, 4, 5], "start_msg": 2, "end_msg": 2, "sleep": 2, "begin": 2, "correct": [3, 5], "temperatur": [3, 5], "bct": [3, 5], "abstent": 3, "alexandari": [3, 5], "stratifi": [3, 4, 5], "retrain": 3, "afterward": [3, 5], "No": [3, 5], "nbv": [3, 5], "re": [3, 4], "kundaj": 3, "shrikumar": 3, "2020": 3, "novemb": 3, "likelihood": [3, 5], "beat": [3, 5], "intern": [3, 4, 5], "confer": [3, 4], "pp": 3, "222": 3, "232": 3, "pmlr": 3, "baseestim": [3, 5], "calibratorfactori": 3, "n_featur": [3, 5], "manner": [3, 5], "val": [3, 4], "These": [3, 5], "n_compon": 3, "kwarg": [3, 4, 5], "embed": [3, 5], "requir": [3, 4, 5], "quanet": [3, 5], "easili": 3, "sklearn": [3, 4, 5], "decomposit": 3, "truncatedsvd": 3, "while": [3, 4, 5], "linear_model": 3, "logisticregress": [3, 5], "princip": 3, "retain": [3, 5], "logist": [3, 5], "regress": 3, "map": [3, 5], "length": [3, 4], "eventu": [3, 4], "unalt": 3, "emb": 3, "embedding_s": 3, "hidden_s": 3, "256": 3, "repr_siz": 3, "kernel_height": 3, "stride": 3, "pad": [3, 4], "drop_p": 3, "convolut": 3, "vocabulari": [3, 4], "word": [3, 4, 5], "hidden": [3, 5], "document": [3, 4, 5], "kernel": [3, 5], "token": [3, 4], "drop": 3, "dropout": [3, 5], "layer": [3, 5], "batch": 3, "torch": [3, 5], "dataload": 3, "tensor": 3, "n_dimens": [3, 5], "lstm_class_nlay": 3, "long": 3, "short": 3, "memori": 3, "lstm": [3, 5], "net": 3, "lr": [3, 5], "001": [3, 5], "weight_decai": 3, "200": 3, "batch_siz": 3, "64": [3, 5], "batch_size_test": 3, "512": [3, 5], "padding_length": 3, "300": 3, "cuda": [3, 5], "checkpointpath": 3, "checkpoint": [3, 5], "classifier_net": 3, "dat": 3, "weight": [3, 4], "decai": 3, "wait": 3, "cpu": [3, 5], "enabl": 3, "gpu": [3, 5], "store": [3, 4, 5], "vocab_s": 3, "reiniti": 3, "trainer": 3, "learner": [3, 5], "disjoint": 3, "embed_s": 3, "nn": 3, "pad_length": 3, "xavier": 3, "initi": [3, 5], "shuffl": [3, 4], "dynam": [3, 4, 5], "longest": 3, "shorter": 3, "svmperf_bas": [3, 5], "host_fold": 3, "classifiermixin": 3, "svm": [3, 4, 5], "perf": [3, 5], "thorsten": 3, "joachim": [3, 5], "patch": [3, 5], "instal": [3, 5], "further": [3, 4, 5], "detail": [3, 4, 5], "refer": [3, 4], "esuli": [3, 4, 5], "2015": [3, 5], "barranquero": [3, 5], "svm_perf_learn": 3, "svm_perf_classifi": 3, "trade": [3, 5], "off": [3, 5], "margin": [3, 5], "std": 3, "avail": [3, 4, 5], "qacc": 3, "qf1": 3, "qgm": 3, "tmp": 3, "automat": 3, "delet": 3, "multivari": 3, "12": 3, "26": 3, "27": 3, "13": 3, "22": [3, 4], "23": 3, "24": 3, "textual": 4, "train_siz": 4, "6": 4, "conform": 4, "nrepeat": 4, "around": [4, 5], "round": 4, "train_path": 4, "test_path": 4, "loader_func": 4, "loader_kwarg": 4, "read": 4, "must": [4, 5], "loader": 4, "n_train": 4, "n_test": 4, "quick": 4, "kindl": [4, 5], "tfidf": 4, "min_df": [4, 5], "tr": 4, "3821": 4, "te": 4, "21591": 4, "spars": 4, "csr": 4, "csr_matrix": 4, "featur": [4, 5], "4403": 4, "081": 4, "919": 4, "063": 4, "937": 4, "dedic": 4, "attach": 4, "them": [4, 5], "sever": 4, "infer": 4, "linearsvc": 4, "my_collect": 4, "codefram": 4, "both": 4, "frequenc": [4, 5], "actual": [4, 5], "lead": 4, "empti": 4, "sinc": [4, 5], "met": 4, "whose": [4, 5], "train_prop": 4, "randomli": 4, "stratif": 4, "greater": 4, "single_sample_train": 4, "for_model_select": 4, "data_hom": 4, "ifcb": 4, "zenodo": 4, "pleas": 4, "link": 4, "publicli": 4, "whoi": 4, "plankton": 4, "repo": 4, "script": [4, 5], "gonz\u00e1lez": [4, 5], "basic": [4, 5], "precomput": 4, "togeth": 4, "individu": 4, "30": [4, 5], "86": 4, "286": 4, "dump": 4, "leav": 4, "quay_data": 4, "test_gen": 4, "_ifcb": 4, "ifcbtrainsamplesfromdir": 4, "seri": 4, "ifcbtestsampl": 4, "dataset_nam": 4, "test_split": 4, "uci": 4, "p\u00e9rez": [4, 5], "g\u00e1llego": [4, 5], "quevedo": 4, "j": [4, 5], "del": 4, "coz": 4, "2017": [4, 5], "characteriz": 4, "chang": 4, "studi": 4, "fusion": 4, "34": [4, 5], "87": 4, "castano": 4, "2019": [4, 5], "task": 4, "45": 4, "predefin": 4, "fetch_ucilabelledcollect": 4, "access": [4, 5], "uci_dataset": 4, "ml": [4, 5], "repositori": 4, "adopt": 4, "5fcvx2": 4, "x2": 4, "import": [4, 5], "yeast": 4, "archiv": 4, "ic": 4, "edu": 4, "criteria": 4, "1000": [4, 5], "suit": 4, "ucimlrepo": 4, "dry": 4, "bean": 4, "uci_multiclass_dataset": 4, "offici": 4, "provid": [4, 5], "lequa": 4, "competit": 4, "brief": 4, "t1a": 4, "t1b": 4, "t2a": 4, "t2b": 4, "sentiment": 4, "28": 4, "merchandis": 4, "product": 4, "we": 4, "moreo": [4, 5], "sebastiani": [4, 5], "f": [4, 5], "sperduti": 4, "2022": [4, 5], "overview": 4, "clef": 4, "descript": 4, "lequa2022_experi": 4, "py": 4, "folder": [4, 5], "guid": 4, "val_gen": 4, "_lequa2022": 4, "samplesfromdir": 4, "subclass": [4, 5], "review": 4, "recurr": 4, "proceed": [4, 5], "27th": 4, "acm": [4, 5], "knowledg": 4, "manag": 4, "2018": [2, 4, 5], "reviews_sentiment_dataset": 4, "hp": 4, "imdb": 4, "matric": 4, "minimun": 4, "kept": 4, "faster": 4, "subsequ": 4, "twitter": 4, "gao": [4, 5], "w": 4, "tweet": 4, "analysi": 4, "social": 4, "mining6": 4, "19": 4, "2016": [4, 5], "semeval13": 4, "semeval14": 4, "semeval15": 4, "share": 4, "twitter_sentiment_datasets_train": 4, "twitter_sentiment_datasets_test": 4, "gasp": 4, "hcr": 4, "omd": 4, "sander": 4, "semeval16": 4, "sst": 4, "wb": 4, "devel": 4, "style": 4, "id": 4, "would": [4, 5], "countvector": 4, "keyword": [4, 5], "nogap": 4, "regardless": 4, "special": 4, "codifi": 4, "unknown": 4, "surfac": 4, "assert": 4, "gap": 4, "preced": 4, "inplac": [4, 5], "To": 4, "uniqu": 4, "rare": 4, "occur": 4, "unk": 4, "minimum": [4, 5], "org": [4, 5], "stabl": 4, "feature_extract": 4, "html": [4, 5], "subtyp": 4, "spmatrix": 4, "remov": [4, 5], "present": 4, "least": 4, "infrequ": 4, "aka": [4, 5], "z": 4, "sublinear_tf": 4, "part": 4, "scall": 4, "tf": 4, "counter": 4, "tfidfvector": 4, "categor": 4, "toward": [4, 5], "whcih": 4, "had": 4, "encod": 4, "utf": 4, "8": [4, 5], "csv": 4, "feat1": 4, "feat2": 4, "featn": 4, "covari": [4, 5], "express": 4, "col": 4, "row": 4, "class2int": 4, "collet": 4, "fomart": 4, "progress": 4, "sentenc": 4, "classnam": 4, "u1": 4, "springer": [], "articl": [], "1007": [], "s10618": [], "008": [], "0097": [], "invert": 5, "l2": 5, "norm": 5, "ax": 5, "better": 5, "consult": 5, "buns": 5, "On": 5, "multi": 5, "extens": 5, "2nd": 5, "workshop": 5, "applic": 5, "lq": 5, "ecml": 5, "pkdd": 5, "grenobl": 5, "franc": 5, "classif_predict": 5, "y_": 5, "construct": 5, "jmlr": 5, "v20": 5, "18": 5, "456": 5, "abc": 5, "base_quantifi": 5, "median": 5, "parameter": 5, "parllel": 5, "subobject": 5, "well": 5, "nest": 5, "pipelin": 5, "latter": 5, "__": 5, "updat": 5, "reason": 5, "phase": 5, "classification_fit": 5, "maintain": 5, "attribut": 5, "give": 5, "fit_classifi": 5, "predict_on": 5, "outsid": 5, "remaind": 5, "expect": 5, "non": 5, "soft": 5, "num_warmup": 5, "500": 5, "num_sampl": 5, "mcmc_seed": 5, "bayesian": 5, "rather": 5, "diagnos": 5, "degeneraci": 5, "visibl": 5, "confus": 5, "uncertainti": 5, "extra": 5, "bay": 5, "warmup": 5, "mcmc": 5, "sampler": 5, "One": 5, "noth": 5, "here": 5, "cdf": 5, "match": 5, "helling": 5, "sought": 5, "choic": 5, "channel": 5, "proper": 5, "ch": 5, "particular": 5, "di": 5, "dij": 5, "fraction": 5, "th": 5, "tol": 5, "find": 5, "got": 5, "dl": 5, "doi": 5, "1145": 5, "3219819": 5, "3220059": 5, "histogram": 5, "toler": 5, "classif_posterior": 5, "exact_train_prev": 5, "recalib": 5, "maxim": 5, "saeren": 5, "latinn": 5, "decaesteck": 5, "mutual": 5, "recurs": 5, "wai": 5, "until": 5, "converg": 5, "heurist": 5, "propos": 5, "recalibr": 5, "meant": 5, "messag": 5, "observ": 5, "posterior_prob": 5, "0001": 5, "reach": 5, "loop": 5, "ir": 5, "accordingli": 5, "unlabel": 5, "binary_quantifi": 5, "parallel_backend": 5, "prevel": 5, "emploi": 5, "joblib": 5, "help": 5, "elm": 5, "cannot": 5, "temp": 5, "dure": 5, "resp": 5, "simplif": 5, "conceptu": 5, "equival": 5, "explicit": 5, "famili": 5, "structur": 5, "purpos": 5, "svmperf_hom": 5, "properli": 5, "underli": 5, "2021": 5, "_kdei": 5, "common": 5, "ancestor": 5, "kde": 5, "scott": 5, "silverman": 5, "bandwidth": 5, "wrap": 5, "kerneldens": 5, "evalut": 5, "kdei": 5, "cauchi": 5, "schwarz": 5, "author": 5, "mont": 5, "carlo": 5, "approach": 5, "alpha": 5, "delta": 5, "d": 5, "boldsymbol": 5, "q_": 5, "widetild": 5, "u": 5, "p_": 5, "alpha_i": 5, "l": 5, "_i": 5, "p_x": 5, "x_i": 5, "h": 5, "datapoint": 5, "center": 5, "mathrm": 5, "dx": 5, "2dx": 5, "admit": 5, "montecarlo_tri": 5, "disntac": 5, "_f": 5, "trial": 5, "x_1": 5, "ldot": 5, "x_t": 5, "sim_": 5, "iid": 5, "criterion": 5, "mathbb": 5, "_neural": 5, "doc_embedding_s": 5, "stats_siz": 5, "lstm_hidden_s": 5, "lstm_nlayer": 5, "ff_layer": 5, "1024": 5, "bidirect": 5, "qdrop_p": 5, "order_bi": 5, "cell": 5, "dens": 5, "connect": 5, "ff": 5, "sort": 5, "doc_embed": 5, "doc_posterior": 5, "overridden": 5, "although": 5, "recip": 5, "former": 5, "care": 5, "regist": 5, "hook": 5, "n_epoch": 5, "tr_iter_per_poch": 5, "va_iter_per_poch": 5, "checkpointdir": 5, "checkpointnam": 5, "pytorch": 5, "advantag": 5, "cnn": 5, "estim_preval": 5, "anyth": 5, "40": 5, "66": 5, "ground": 5, "truth": 5, "_threshold_optim": 5, "forman": 5, "2006": 5, "2008": 5, "look": 5, "goal": 5, "bring": 5, "stabil": 5, "denomin": 5, "sweep": 5, "closest": 5, "choos": 5, "deliv": 5, "interpret": 5, "complement": 5, "param_mod_sel": 5, "param_model_sel": 5, "red_siz": 5, "min_po": 5, "polici": 5, "av": 5, "max_sample_s": 5, "ptr": 5, "member": 5, "preliminari": 5, "final": 5, "recomput": 5, "static": 5, "compat": 5, "recommend": 5, "gridsearchcv": 5, "base_quantifier_class": 5, "factori": 5, "unifi": 5, "interfac": 5, "logspac": 5, "class_weight": 5, "balanc": 5, "110": 5, "setup": 5, "mimick": 5, "castro": 5, "alaiz": 5, "rodr\u00edguez": 5, "alegr": 5, "2013": 5, "nfeat": 5, "dissimilar": 5, "mlpe": 5, "lazi": 5, "assum": 5, "put": 5, "assumpion": 5, "irrespect": 5, "lower": 5, "estimant": 5, "bootstrap_tri": 5, "bootstrap_rang": 5, "bagging_tri": 5, "bagging_rang": 5, "vectorizer_kwarg": 5, "class_cond_x": 5, "hat_yi": 5, "yj": 5, "yi": 5}, "objects": {"": [[2, 0, 0, "-", "quapy"]], "quapy": [[3, 0, 0, "-", "classification"], [4, 0, 0, "-", "data"], [2, 0, 0, "-", "error"], [2, 0, 0, "-", "evaluation"], [2, 0, 0, "-", "functional"], [5, 0, 0, "-", "method"], [2, 0, 0, "-", "model_selection"], [2, 0, 0, "-", "plot"], [2, 0, 0, "-", "protocol"], [2, 0, 0, "-", "util"]], "quapy.classification": [[3, 0, 0, "-", "calibration"], [3, 0, 0, "-", "methods"], [3, 0, 0, "-", "neural"], [3, 0, 0, "-", "svmperf"]], "quapy.classification.calibration": [[3, 1, 1, "", "BCTSCalibration"], [3, 1, 1, "", "NBVSCalibration"], [3, 1, 1, "", "RecalibratedProbabilisticClassifier"], [3, 1, 1, "", "RecalibratedProbabilisticClassifierBase"], [3, 1, 1, "", "TSCalibration"], [3, 1, 1, "", "VSCalibration"]], "quapy.classification.calibration.RecalibratedProbabilisticClassifierBase": [[3, 2, 1, "", "classes_"], [3, 3, 1, "", "fit"], [3, 3, 1, "", "fit_cv"], [3, 3, 1, "", "fit_tr_val"], [3, 3, 1, "", "predict"], [3, 3, 1, "", "predict_proba"]], "quapy.classification.methods": [[3, 1, 1, "", "LowRankLogisticRegression"]], "quapy.classification.methods.LowRankLogisticRegression": [[3, 3, 1, "", "fit"], [3, 3, 1, "", "get_params"], [3, 3, 1, "", "predict"], [3, 3, 1, "", "predict_proba"], [3, 3, 1, "", "set_params"], [3, 3, 1, "", "transform"]], "quapy.classification.neural": [[3, 1, 1, "", "CNNnet"], [3, 1, 1, "", "LSTMnet"], [3, 1, 1, "", "NeuralClassifierTrainer"], [3, 1, 1, "", "TextClassifierNet"], [3, 1, 1, "", "TorchDataset"]], "quapy.classification.neural.CNNnet": [[3, 3, 1, "", "document_embedding"], [3, 3, 1, "", "get_params"], [3, 4, 1, "", "training"], [3, 2, 1, "", "vocabulary_size"]], "quapy.classification.neural.LSTMnet": [[3, 3, 1, "", "document_embedding"], [3, 3, 1, "", "get_params"], [3, 4, 1, "", "training"], [3, 2, 1, "", "vocabulary_size"]], "quapy.classification.neural.NeuralClassifierTrainer": [[3, 2, 1, "", "device"], [3, 3, 1, "", "fit"], [3, 3, 1, "", "get_params"], [3, 3, 1, "", "predict"], [3, 3, 1, "", "predict_proba"], [3, 3, 1, "", "reset_net_params"], [3, 3, 1, "", "set_params"], [3, 3, 1, "", "transform"]], "quapy.classification.neural.TextClassifierNet": [[3, 3, 1, "", "dimensions"], [3, 3, 1, "", "document_embedding"], [3, 3, 1, "", "forward"], [3, 3, 1, "", "get_params"], [3, 3, 1, "", "predict_proba"], [3, 4, 1, "", "training"], [3, 2, 1, "", "vocabulary_size"], [3, 3, 1, "", "xavier_uniform"]], "quapy.classification.neural.TorchDataset": [[3, 3, 1, "", "asDataloader"]], "quapy.classification.svmperf": [[3, 1, 1, "", "SVMperf"]], "quapy.classification.svmperf.SVMperf": [[3, 3, 1, "", "decision_function"], [3, 3, 1, "", "fit"], [3, 3, 1, "", "predict"], [3, 4, 1, "", "valid_losses"]], "quapy.data": [[4, 0, 0, "-", "base"], [4, 0, 0, "-", "datasets"], [4, 0, 0, "-", "preprocessing"], [4, 0, 0, "-", "reader"]], "quapy.data.base": [[4, 1, 1, "", "Dataset"], [4, 1, 1, "", "LabelledCollection"]], "quapy.data.base.Dataset": [[4, 3, 1, "", "SplitStratified"], [4, 2, 1, "", "binary"], [4, 2, 1, "", "classes_"], [4, 3, 1, "", "kFCV"], [4, 3, 1, "", "load"], [4, 2, 1, "", "n_classes"], [4, 3, 1, "", "reduce"], [4, 3, 1, "", "stats"], [4, 2, 1, "", "train_test"], [4, 2, 1, "", "vocabulary_size"]], "quapy.data.base.LabelledCollection": [[4, 2, 1, "", "X"], [4, 2, 1, "", "Xp"], [4, 2, 1, "", "Xy"], [4, 2, 1, "", "binary"], [4, 3, 1, "", "counts"], [4, 3, 1, "", "join"], [4, 3, 1, "", "kFCV"], [4, 3, 1, "", "load"], [4, 2, 1, "", "n_classes"], [4, 2, 1, "", "p"], [4, 3, 1, "", "prevalence"], [4, 3, 1, "", "sampling"], [4, 3, 1, "", "sampling_from_index"], [4, 3, 1, "", "sampling_index"], [4, 3, 1, "", "split_random"], [4, 3, 1, "", "split_stratified"], [4, 3, 1, "", "stats"], [4, 3, 1, "", "uniform_sampling"], [4, 3, 1, "", "uniform_sampling_index"], [4, 2, 1, "", "y"]], "quapy.data.datasets": [[4, 5, 1, "", "fetch_IFCB"], [4, 5, 1, "", "fetch_UCIBinaryDataset"], [4, 5, 1, "", "fetch_UCIBinaryLabelledCollection"], [4, 5, 1, "", "fetch_UCIMulticlassDataset"], [4, 5, 1, "", "fetch_UCIMulticlassLabelledCollection"], [4, 5, 1, "", "fetch_lequa2022"], [4, 5, 1, "", "fetch_reviews"], [4, 5, 1, "", "fetch_twitter"], [4, 5, 1, "", "warn"]], "quapy.data.preprocessing": [[4, 1, 1, "", "IndexTransformer"], [4, 5, 1, "", "index"], [4, 5, 1, "", "reduce_columns"], [4, 5, 1, "", "standardize"], [4, 5, 1, "", "text2tfidf"]], "quapy.data.preprocessing.IndexTransformer": [[4, 3, 1, "", "add_word"], [4, 3, 1, "", "fit"], [4, 3, 1, "", "fit_transform"], [4, 3, 1, "", "transform"], [4, 3, 1, "", "vocabulary_size"]], "quapy.data.reader": [[4, 5, 1, "", "binarize"], [4, 5, 1, "", "from_csv"], [4, 5, 1, "", "from_sparse"], [4, 5, 1, "", "from_text"], [4, 5, 1, "", "reindex_labels"]], "quapy.error": [[2, 5, 1, "", "absolute_error"], [2, 5, 1, "", "acc_error"], [2, 5, 1, "", "acce"], [2, 5, 1, "", "ae"], [2, 5, 1, "", "f1_error"], [2, 5, 1, "", "f1e"], [2, 5, 1, "", "from_name"], [2, 5, 1, "", "kld"], [2, 5, 1, "", "mae"], [2, 5, 1, "", "mean_absolute_error"], [2, 5, 1, "", "mean_normalized_absolute_error"], [2, 5, 1, "", "mean_normalized_relative_absolute_error"], [2, 5, 1, "", "mean_relative_absolute_error"], [2, 5, 1, "", "mkld"], [2, 5, 1, "", "mnae"], [2, 5, 1, "", "mnkld"], [2, 5, 1, "", "mnrae"], [2, 5, 1, "", "mrae"], [2, 5, 1, "", "mse"], [2, 5, 1, "", "nae"], [2, 5, 1, "", "nkld"], [2, 5, 1, "", "normalized_absolute_error"], [2, 5, 1, "", "normalized_relative_absolute_error"], [2, 5, 1, "", "nrae"], [2, 5, 1, "", "rae"], [2, 5, 1, "", "relative_absolute_error"], [2, 5, 1, "", "se"], [2, 5, 1, "", "smooth"]], "quapy.evaluation": [[2, 5, 1, "", "evaluate"], [2, 5, 1, "", "evaluate_on_samples"], [2, 5, 1, "", "evaluation_report"], [2, 5, 1, "", "prediction"]], "quapy.functional": [[2, 5, 1, "", "HellingerDistance"], [2, 5, 1, "", "TopsoeDistance"], [2, 5, 1, "", "adjusted_quantification"], [2, 5, 1, "", "argmin_prevalence"], [2, 5, 1, "", "as_binary_prevalence"], [2, 5, 1, "", "check_prevalence_vector"], [2, 5, 1, "", "clip_prevalence"], [2, 5, 1, "", "counts_from_labels"], [2, 5, 1, "", "get_divergence"], [2, 5, 1, "", "get_nprevpoints_approximation"], [2, 5, 1, "", "linear_search"], [2, 5, 1, "", "map_onto_probability_simplex"], [2, 5, 1, "", "normalize_prevalence"], [2, 5, 1, "", "num_prevalence_combinations"], [2, 5, 1, "", "optim_minimize"], [2, 5, 1, "", "prevalence_from_labels"], [2, 5, 1, "", "prevalence_from_probabilities"], [2, 5, 1, "", "prevalence_linspace"], [2, 5, 1, "", "solve_adjustment"], [2, 5, 1, "", "strprev"], [2, 5, 1, "", "uniform_prevalence_sampling"], [2, 5, 1, "", "uniform_simplex_sampling"]], "quapy.method": [[5, 0, 0, "-", "_kdey"], [5, 0, 0, "-", "_neural"], [5, 0, 0, "-", "_threshold_optim"], [5, 0, 0, "-", "aggregative"], [5, 0, 0, "-", "base"], [5, 0, 0, "-", "meta"], [5, 0, 0, "-", "non_aggregative"]], "quapy.method._kdey": [[5, 1, 1, "", "KDEBase"], [5, 1, 1, "", "KDEyCS"], [5, 1, 1, "", "KDEyHD"], [5, 1, 1, "", "KDEyML"]], "quapy.method._kdey.KDEBase": [[5, 4, 1, "", "BANDWIDTH_METHOD"], [5, 3, 1, "", "get_kde_function"], [5, 3, 1, "", "get_mixture_components"], [5, 3, 1, "", "pdf"]], "quapy.method._kdey.KDEyCS": [[5, 3, 1, "", "aggregate"], [5, 3, 1, "", "aggregation_fit"], [5, 3, 1, "", "gram_matrix_mix_sum"]], "quapy.method._kdey.KDEyHD": [[5, 3, 1, "", "aggregate"], [5, 3, 1, "", "aggregation_fit"]], "quapy.method._kdey.KDEyML": [[5, 3, 1, "", "aggregate"], [5, 3, 1, "", "aggregation_fit"]], "quapy.method._neural": [[5, 1, 1, "", "QuaNetModule"], [5, 1, 1, "", "QuaNetTrainer"], [5, 5, 1, "", "mae_loss"]], "quapy.method._neural.QuaNetModule": [[5, 2, 1, "", "device"], [5, 3, 1, "", "forward"], [5, 4, 1, "", "training"]], "quapy.method._neural.QuaNetTrainer": [[5, 2, 1, "", "classes_"], [5, 3, 1, "", "clean_checkpoint"], [5, 3, 1, "", "clean_checkpoint_dir"], [5, 3, 1, "", "fit"], [5, 3, 1, "", "get_params"], [5, 3, 1, "", "quantify"], [5, 3, 1, "", "set_params"]], "quapy.method._threshold_optim": [[5, 1, 1, "", "MAX"], [5, 1, 1, "", "MS"], [5, 1, 1, "", "MS2"], [5, 1, 1, "", "T50"], [5, 1, 1, "", "ThresholdOptimization"], [5, 1, 1, "", "X"]], "quapy.method._threshold_optim.MAX": [[5, 3, 1, "", "condition"]], "quapy.method._threshold_optim.MS": [[5, 3, 1, "", "aggregate"], [5, 3, 1, "", "aggregation_fit"], [5, 3, 1, "", "condition"]], "quapy.method._threshold_optim.MS2": [[5, 3, 1, "", "discard"]], "quapy.method._threshold_optim.T50": [[5, 3, 1, "", "condition"]], "quapy.method._threshold_optim.ThresholdOptimization": [[5, 3, 1, "", "aggregate"], [5, 3, 1, "", "aggregate_with_threshold"], [5, 3, 1, "", "aggregation_fit"], [5, 3, 1, "", "condition"], [5, 3, 1, "", "discard"]], "quapy.method._threshold_optim.X": [[5, 3, 1, "", "condition"]], "quapy.method.aggregative": [[5, 1, 1, "", "ACC"], [5, 4, 1, "", "AdjustedClassifyAndCount"], [5, 1, 1, "", "AggregativeCrispQuantifier"], [5, 1, 1, "", "AggregativeMedianEstimator"], [5, 1, 1, "", "AggregativeQuantifier"], [5, 1, 1, "", "AggregativeSoftQuantifier"], [5, 1, 1, "", "BayesianCC"], [5, 1, 1, "", "BinaryAggregativeQuantifier"], [5, 1, 1, "", "CC"], [5, 4, 1, "", "ClassifyAndCount"], [5, 1, 1, "", "DMy"], [5, 4, 1, "", "DistributionMatchingY"], [5, 1, 1, "", "DyS"], [5, 1, 1, "", "EMQ"], [5, 4, 1, "", "ExpectationMaximizationQuantifier"], [5, 1, 1, "", "HDy"], [5, 4, 1, "", "HellingerDistanceY"], [5, 1, 1, "", "OneVsAllAggregative"], [5, 1, 1, "", "PACC"], [5, 1, 1, "", "PCC"], [5, 4, 1, "", "ProbabilisticAdjustedClassifyAndCount"], [5, 4, 1, "", "ProbabilisticClassifyAndCount"], [5, 4, 1, "", "SLD"], [5, 1, 1, "", "SMM"], [5, 5, 1, "", "newELM"], [5, 5, 1, "", "newSVMAE"], [5, 5, 1, "", "newSVMKLD"], [5, 5, 1, "", "newSVMQ"], [5, 5, 1, "", "newSVMRAE"]], "quapy.method.aggregative.ACC": [[5, 4, 1, "", "CLIPPING"], [5, 4, 1, "", "METHODS"], [5, 4, 1, "", "SOLVERS"], [5, 3, 1, "", "aggregate"], [5, 3, 1, "", "aggregation_fit"], [5, 3, 1, "", "getPteCondEstim"], [5, 3, 1, "", "newInvariantRatioEstimation"]], "quapy.method.aggregative.AggregativeMedianEstimator": [[5, 3, 1, "", "fit"], [5, 3, 1, "", "get_params"], [5, 3, 1, "", "quantify"], [5, 3, 1, "", "set_params"]], "quapy.method.aggregative.AggregativeQuantifier": [[5, 3, 1, "", "aggregate"], [5, 3, 1, "", "aggregation_fit"], [5, 2, 1, "", "classes_"], [5, 2, 1, "", "classifier"], [5, 3, 1, "", "classifier_fit_predict"], [5, 3, 1, "", "classify"], [5, 3, 1, "", "fit"], [5, 3, 1, "", "quantify"], [5, 2, 1, "", "val_split"], [5, 4, 1, "", "val_split_"]], "quapy.method.aggregative.BayesianCC": [[5, 3, 1, "", "aggregate"], [5, 3, 1, "", "aggregation_fit"], [5, 3, 1, "", "get_conditional_probability_samples"], [5, 3, 1, "", "get_prevalence_samples"], [5, 3, 1, "", "sample_from_posterior"]], "quapy.method.aggregative.BinaryAggregativeQuantifier": [[5, 3, 1, "", "fit"], [5, 2, 1, "", "neg_label"], [5, 2, 1, "", "pos_label"]], "quapy.method.aggregative.CC": [[5, 3, 1, "", "aggregate"], [5, 3, 1, "", "aggregation_fit"]], "quapy.method.aggregative.DMy": [[5, 3, 1, "", "aggregate"], [5, 3, 1, "", "aggregation_fit"]], "quapy.method.aggregative.DyS": [[5, 3, 1, "", "aggregate"], [5, 3, 1, "", "aggregation_fit"]], "quapy.method.aggregative.EMQ": [[5, 3, 1, "", "EM"], [5, 3, 1, "", "EMQ_BCTS"], [5, 4, 1, "", "EPSILON"], [5, 4, 1, "", "MAX_ITER"], [5, 3, 1, "", "aggregate"], [5, 3, 1, "", "aggregation_fit"], [5, 3, 1, "", "classify"], [5, 3, 1, "", "predict_proba"]], "quapy.method.aggregative.HDy": [[5, 3, 1, "", "aggregate"], [5, 3, 1, "", "aggregation_fit"]], "quapy.method.aggregative.OneVsAllAggregative": [[5, 3, 1, "", "aggregate"], [5, 3, 1, "", "classify"]], "quapy.method.aggregative.PACC": [[5, 3, 1, "", "aggregate"], [5, 3, 1, "", "aggregation_fit"], [5, 3, 1, "", "getPteCondEstim"]], "quapy.method.aggregative.PCC": [[5, 3, 1, "", "aggregate"], [5, 3, 1, "", "aggregation_fit"]], "quapy.method.aggregative.SMM": [[5, 3, 1, "", "aggregate"], [5, 3, 1, "", "aggregation_fit"]], "quapy.method.base": [[5, 1, 1, "", "BaseQuantifier"], [5, 1, 1, "", "BinaryQuantifier"], [5, 1, 1, "", "OneVsAll"], [5, 1, 1, "", "OneVsAllGeneric"], [5, 5, 1, "", "newOneVsAll"]], "quapy.method.base.BaseQuantifier": [[5, 3, 1, "", "fit"], [5, 3, 1, "", "quantify"]], "quapy.method.base.OneVsAllGeneric": [[5, 2, 1, "", "classes_"], [5, 3, 1, "", "fit"], [5, 3, 1, "", "quantify"]], "quapy.method.meta": [[5, 5, 1, "", "EACC"], [5, 5, 1, "", "ECC"], [5, 5, 1, "", "EEMQ"], [5, 5, 1, "", "EHDy"], [5, 5, 1, "", "EPACC"], [5, 1, 1, "", "Ensemble"], [5, 1, 1, "", "MedianEstimator"], [5, 1, 1, "", "MedianEstimator2"], [5, 5, 1, "", "ensembleFactory"], [5, 5, 1, "", "get_probability_distribution"]], "quapy.method.meta.Ensemble": [[5, 4, 1, "", "VALID_POLICIES"], [5, 2, 1, "", "aggregative"], [5, 3, 1, "", "fit"], [5, 3, 1, "", "get_params"], [5, 2, 1, "", "probabilistic"], [5, 3, 1, "", "quantify"], [5, 3, 1, "", "set_params"]], "quapy.method.meta.MedianEstimator": [[5, 3, 1, "", "fit"], [5, 3, 1, "", "get_params"], [5, 3, 1, "", "quantify"], [5, 3, 1, "", "set_params"]], "quapy.method.meta.MedianEstimator2": [[5, 3, 1, "", "fit"], [5, 3, 1, "", "get_params"], [5, 3, 1, "", "quantify"], [5, 3, 1, "", "set_params"]], "quapy.method.non_aggregative": [[5, 1, 1, "", "DMx"], [5, 4, 1, "", "DistributionMatchingX"], [5, 1, 1, "", "MaximumLikelihoodPrevalenceEstimation"], [5, 1, 1, "", "ReadMe"]], "quapy.method.non_aggregative.DMx": [[5, 3, 1, "", "HDx"], [5, 3, 1, "", "fit"], [5, 3, 1, "", "quantify"]], "quapy.method.non_aggregative.MaximumLikelihoodPrevalenceEstimation": [[5, 3, 1, "", "fit"], [5, 3, 1, "", "quantify"]], "quapy.method.non_aggregative.ReadMe": [[5, 3, 1, "", "fit"], [5, 3, 1, "", "quantify"], [5, 3, 1, "", "std_constrained_linear_ls"]], "quapy.model_selection": [[2, 1, 1, "", "ConfigStatus"], [2, 1, 1, "", "GridSearchQ"], [2, 1, 1, "", "Status"], [2, 5, 1, "", "cross_val_predict"], [2, 5, 1, "", "expand_grid"], [2, 5, 1, "", "group_params"]], "quapy.model_selection.ConfigStatus": [[2, 3, 1, "", "failed"], [2, 3, 1, "", "success"]], "quapy.model_selection.GridSearchQ": [[2, 3, 1, "", "best_model"], [2, 3, 1, "", "fit"], [2, 3, 1, "", "get_params"], [2, 3, 1, "", "quantify"], [2, 3, 1, "", "set_params"]], "quapy.model_selection.Status": [[2, 4, 1, "", "ERROR"], [2, 4, 1, "", "INVALID"], [2, 4, 1, "", "SUCCESS"], [2, 4, 1, "", "TIMEOUT"]], "quapy.plot": [[2, 5, 1, "", "binary_bias_bins"], [2, 5, 1, "", "binary_bias_global"], [2, 5, 1, "", "binary_diagonal"], [2, 5, 1, "", "brokenbar_supremacy_by_drift"], [2, 5, 1, "", "error_by_drift"]], "quapy.protocol": [[2, 1, 1, "", "APP"], [2, 1, 1, "", "AbstractProtocol"], [2, 1, 1, "", "AbstractStochasticSeededProtocol"], [2, 4, 1, "", "ArtificialPrevalenceProtocol"], [2, 1, 1, "", "DomainMixer"], [2, 1, 1, "", "IterateProtocol"], [2, 1, 1, "", "NPP"], [2, 4, 1, "", "NaturalPrevalenceProtocol"], [2, 1, 1, "", "OnLabelledCollectionProtocol"], [2, 1, 1, "", "UPP"], [2, 4, 1, "", "UniformPrevalenceProtocol"]], "quapy.protocol.APP": [[2, 3, 1, "", "prevalence_grid"], [2, 3, 1, "", "sample"], [2, 3, 1, "", "samples_parameters"], [2, 3, 1, "", "total"]], "quapy.protocol.AbstractProtocol": [[2, 3, 1, "", "total"]], "quapy.protocol.AbstractStochasticSeededProtocol": [[2, 3, 1, "", "collator"], [2, 2, 1, "", "random_state"], [2, 3, 1, "", "sample"], [2, 3, 1, "", "samples_parameters"]], "quapy.protocol.DomainMixer": [[2, 3, 1, "", "sample"], [2, 3, 1, "", "samples_parameters"], [2, 3, 1, "", "total"]], "quapy.protocol.IterateProtocol": [[2, 3, 1, "", "total"]], "quapy.protocol.NPP": [[2, 3, 1, "", "sample"], [2, 3, 1, "", "samples_parameters"], [2, 3, 1, "", "total"]], "quapy.protocol.OnLabelledCollectionProtocol": [[2, 4, 1, "", "RETURN_TYPES"], [2, 3, 1, "", "get_collator"], [2, 3, 1, "", "get_labelled_collection"], [2, 3, 1, "", "on_preclassified_instances"]], "quapy.protocol.UPP": [[2, 3, 1, "", "sample"], [2, 3, 1, "", "samples_parameters"], [2, 3, 1, "", "total"]], "quapy.util": [[2, 1, 1, "", "EarlyStop"], [2, 5, 1, "", "create_if_not_exist"], [2, 5, 1, "", "create_parent_dir"], [2, 5, 1, "", "download_file"], [2, 5, 1, "", "download_file_if_not_exists"], [2, 5, 1, "", "get_quapy_home"], [2, 5, 1, "", "map_parallel"], [2, 5, 1, "", "parallel"], [2, 5, 1, "", "parallel_unpack"], [2, 5, 1, "", "pickled_resource"], [2, 5, 1, "", "save_text_file"], [2, 5, 1, "", "temp_seed"], [2, 5, 1, "", "timeout"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:property", "3": "py:method", "4": "py:attribute", "5": "py:function"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "property", "Python property"], "3": ["py", "method", "Python method"], "4": ["py", "attribute", "Python attribute"], "5": ["py", "function", "Python function"]}, "titleterms": {"welcom": 0, "quapi": [0, 1, 2, 3, 4, 5], "": 0, "document": 0, "instal": 0, "github": 0, "content": [0, 2, 3, 4, 5], "indic": 0, "tabl": 0, "packag": [2, 3, 4, 5], "subpackag": 2, "submodul": [2, 3, 4, 5], "error": 2, "modul": [2, 3, 4, 5], "evalu": 2, "function": 2, "model_select": 2, "plot": 2, "protocol": 2, "util": 2, "classif": 3, "calibr": 3, "method": [3, 5], "neural": 3, "svmperf": 3, "data": 4, "base": [4, 5], "dataset": 4, "preprocess": 4, "reader": 4, "aggreg": 5, "meta": 5, "non_aggreg": 5}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 8, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.viewcode": 1, "sphinx": 57}, "alltitles": {"Welcome to QuaPy\u2019s documentation!": [[0, "welcome-to-quapy-s-documentation"]], "Installation": [[0, "installation"]], "GitHub": [[0, "github"]], "Contents": [[0, "contents"]], "Indices and tables": [[0, "indices-and-tables"]], "quapy": [[1, "quapy"]], "Submodules": [[3, "submodules"], [4, "submodules"], [2, "submodules"], [5, "submodules"]], "Module contents": [[3, "module-quapy.classification"], [4, "module-quapy.data"], [2, "module-quapy"], [5, "module-quapy.method"]], "quapy.classification package": [[3, "quapy-classification-package"]], "quapy.classification.calibration module": [[3, "module-quapy.classification.calibration"]], "quapy.classification.methods module": [[3, "module-quapy.classification.methods"]], "quapy.classification.neural module": [[3, "module-quapy.classification.neural"]], "quapy.classification.svmperf module": [[3, "module-quapy.classification.svmperf"]], "quapy.data package": [[4, "quapy-data-package"]], "quapy.data.base module": [[4, "module-quapy.data.base"]], "quapy.data.datasets module": [[4, "module-quapy.data.datasets"]], "quapy.data.preprocessing module": [[4, "module-quapy.data.preprocessing"]], "quapy.data.reader module": [[4, "module-quapy.data.reader"]], "quapy package": [[2, "quapy-package"]], "Subpackages": [[2, "subpackages"]], "quapy.error module": [[2, "module-quapy.error"]], "quapy.evaluation module": [[2, "module-quapy.evaluation"]], "quapy.functional module": [[2, "module-quapy.functional"]], "quapy.model_selection module": [[2, "module-quapy.model_selection"]], "quapy.plot module": [[2, "module-quapy.plot"]], "quapy.protocol module": [[2, "module-quapy.protocol"]], "quapy.util module": [[2, "module-quapy.util"]], "quapy.method package": [[5, "quapy-method-package"]], "quapy.method.aggregative module": [[5, "module-quapy.method.aggregative"]], "quapy.method.base module": [[5, "module-quapy.method.base"]], "quapy.method.meta module": [[5, "module-quapy.method.meta"]], "quapy.method.non_aggregative module": [[5, "module-quapy.method.non_aggregative"]]}, "indexentries": {"app (class in quapy.protocol)": [[2, "quapy.protocol.APP"]], "abstractprotocol (class in quapy.protocol)": [[2, "quapy.protocol.AbstractProtocol"]], "abstractstochasticseededprotocol (class in quapy.protocol)": [[2, "quapy.protocol.AbstractStochasticSeededProtocol"]], "artificialprevalenceprotocol (in module quapy.protocol)": [[2, "quapy.protocol.ArtificialPrevalenceProtocol"]], "configstatus (class in quapy.model_selection)": [[2, "quapy.model_selection.ConfigStatus"]], "domainmixer (class in quapy.protocol)": [[2, "quapy.protocol.DomainMixer"]], "error (quapy.model_selection.status attribute)": [[2, "quapy.model_selection.Status.ERROR"]], "earlystop (class in quapy.util)": [[2, "quapy.util.EarlyStop"]], "gridsearchq (class in quapy.model_selection)": [[2, "quapy.model_selection.GridSearchQ"]], "hellingerdistance() (in module quapy.functional)": [[2, "quapy.functional.HellingerDistance"]], "invalid (quapy.model_selection.status attribute)": [[2, "quapy.model_selection.Status.INVALID"]], "iterateprotocol (class in quapy.protocol)": [[2, "quapy.protocol.IterateProtocol"]], "npp (class in quapy.protocol)": [[2, "quapy.protocol.NPP"]], "naturalprevalenceprotocol (in module quapy.protocol)": [[2, "quapy.protocol.NaturalPrevalenceProtocol"]], "onlabelledcollectionprotocol (class in quapy.protocol)": [[2, "quapy.protocol.OnLabelledCollectionProtocol"]], "return_types (quapy.protocol.onlabelledcollectionprotocol attribute)": [[2, "quapy.protocol.OnLabelledCollectionProtocol.RETURN_TYPES"]], "success (quapy.model_selection.status attribute)": [[2, "quapy.model_selection.Status.SUCCESS"]], "status (class in quapy.model_selection)": [[2, "quapy.model_selection.Status"]], "timeout (quapy.model_selection.status attribute)": [[2, "quapy.model_selection.Status.TIMEOUT"]], "topsoedistance() (in module quapy.functional)": [[2, "quapy.functional.TopsoeDistance"]], "upp (class in quapy.protocol)": [[2, "quapy.protocol.UPP"]], "uniformprevalenceprotocol (in module quapy.protocol)": [[2, "quapy.protocol.UniformPrevalenceProtocol"]], "absolute_error() (in module quapy.error)": [[2, "quapy.error.absolute_error"]], "acc_error() (in module quapy.error)": [[2, "quapy.error.acc_error"]], "acce() (in module quapy.error)": [[2, "quapy.error.acce"]], "adjusted_quantification() (in module quapy.functional)": [[2, "quapy.functional.adjusted_quantification"]], "ae() (in module quapy.error)": [[2, "quapy.error.ae"]], "argmin_prevalence() (in module quapy.functional)": [[2, "quapy.functional.argmin_prevalence"]], "as_binary_prevalence() (in module quapy.functional)": [[2, "quapy.functional.as_binary_prevalence"]], "best_model() (quapy.model_selection.gridsearchq method)": [[2, "quapy.model_selection.GridSearchQ.best_model"]], "binary_bias_bins() (in module quapy.plot)": [[2, "quapy.plot.binary_bias_bins"]], "binary_bias_global() (in module quapy.plot)": [[2, "quapy.plot.binary_bias_global"]], "binary_diagonal() (in module quapy.plot)": [[2, "quapy.plot.binary_diagonal"]], "brokenbar_supremacy_by_drift() (in module quapy.plot)": [[2, "quapy.plot.brokenbar_supremacy_by_drift"]], "check_prevalence_vector() (in module quapy.functional)": [[2, "quapy.functional.check_prevalence_vector"]], "clip_prevalence() (in module quapy.functional)": [[2, "quapy.functional.clip_prevalence"]], "collator() (quapy.protocol.abstractstochasticseededprotocol method)": [[2, "quapy.protocol.AbstractStochasticSeededProtocol.collator"]], "counts_from_labels() (in module quapy.functional)": [[2, "quapy.functional.counts_from_labels"]], "create_if_not_exist() (in module quapy.util)": [[2, "quapy.util.create_if_not_exist"]], "create_parent_dir() (in module quapy.util)": [[2, "quapy.util.create_parent_dir"]], "cross_val_predict() (in module quapy.model_selection)": [[2, "quapy.model_selection.cross_val_predict"]], "download_file() (in module quapy.util)": [[2, "quapy.util.download_file"]], "download_file_if_not_exists() (in module quapy.util)": [[2, "quapy.util.download_file_if_not_exists"]], "error_by_drift() (in module quapy.plot)": [[2, "quapy.plot.error_by_drift"]], "evaluate() (in module quapy.evaluation)": [[2, "quapy.evaluation.evaluate"]], "evaluate_on_samples() (in module quapy.evaluation)": [[2, "quapy.evaluation.evaluate_on_samples"]], "evaluation_report() (in module quapy.evaluation)": [[2, "quapy.evaluation.evaluation_report"]], "expand_grid() (in module quapy.model_selection)": [[2, "quapy.model_selection.expand_grid"]], "f1_error() (in module quapy.error)": [[2, "quapy.error.f1_error"]], "f1e() (in module quapy.error)": [[2, "quapy.error.f1e"]], "failed() (quapy.model_selection.configstatus method)": [[2, "quapy.model_selection.ConfigStatus.failed"]], "fit() (quapy.model_selection.gridsearchq method)": [[2, "quapy.model_selection.GridSearchQ.fit"]], "from_name() (in module quapy.error)": [[2, "quapy.error.from_name"]], "get_collator() (quapy.protocol.onlabelledcollectionprotocol class method)": [[2, "quapy.protocol.OnLabelledCollectionProtocol.get_collator"]], "get_divergence() (in module quapy.functional)": [[2, "quapy.functional.get_divergence"]], "get_labelled_collection() (quapy.protocol.onlabelledcollectionprotocol method)": [[2, "quapy.protocol.OnLabelledCollectionProtocol.get_labelled_collection"]], "get_nprevpoints_approximation() (in module quapy.functional)": [[2, "quapy.functional.get_nprevpoints_approximation"]], "get_params() (quapy.model_selection.gridsearchq method)": [[2, "quapy.model_selection.GridSearchQ.get_params"]], "get_quapy_home() (in module quapy.util)": [[2, "quapy.util.get_quapy_home"]], "group_params() (in module quapy.model_selection)": [[2, "quapy.model_selection.group_params"]], "kld() (in module quapy.error)": [[2, "quapy.error.kld"]], "linear_search() (in module quapy.functional)": [[2, "quapy.functional.linear_search"]], "mae() (in module quapy.error)": [[2, "quapy.error.mae"]], "map_onto_probability_simplex() (in module quapy.functional)": [[2, "quapy.functional.map_onto_probability_simplex"]], "map_parallel() (in module quapy.util)": [[2, "quapy.util.map_parallel"]], "mean_absolute_error() (in module quapy.error)": [[2, "quapy.error.mean_absolute_error"]], "mean_normalized_absolute_error() (in module quapy.error)": [[2, "quapy.error.mean_normalized_absolute_error"]], "mean_normalized_relative_absolute_error() (in module quapy.error)": [[2, "quapy.error.mean_normalized_relative_absolute_error"]], "mean_relative_absolute_error() (in module quapy.error)": [[2, "quapy.error.mean_relative_absolute_error"]], "mkld() (in module quapy.error)": [[2, "quapy.error.mkld"]], "mnae() (in module quapy.error)": [[2, "quapy.error.mnae"]], "mnkld() (in module quapy.error)": [[2, "quapy.error.mnkld"]], "mnrae() (in module quapy.error)": [[2, "quapy.error.mnrae"]], "module": [[2, "module-quapy"], [2, "module-quapy.error"], [2, "module-quapy.evaluation"], [2, "module-quapy.functional"], [2, "module-quapy.model_selection"], [2, "module-quapy.plot"], [2, "module-quapy.protocol"], [2, "module-quapy.util"], [5, "module-quapy.method"], [5, "module-quapy.method._kdey"], [5, "module-quapy.method._neural"], [5, "module-quapy.method._threshold_optim"], [5, "module-quapy.method.aggregative"], [5, "module-quapy.method.base"], [5, "module-quapy.method.meta"], [5, "module-quapy.method.non_aggregative"]], "mrae() (in module quapy.error)": [[2, "quapy.error.mrae"]], "mse() (in module quapy.error)": [[2, "quapy.error.mse"]], "nae() (in module quapy.error)": [[2, "quapy.error.nae"]], "nkld() (in module quapy.error)": [[2, "quapy.error.nkld"]], "normalize_prevalence() (in module quapy.functional)": [[2, "quapy.functional.normalize_prevalence"]], "normalized_absolute_error() (in module quapy.error)": [[2, "quapy.error.normalized_absolute_error"]], "normalized_relative_absolute_error() (in module quapy.error)": [[2, "quapy.error.normalized_relative_absolute_error"]], "nrae() (in module quapy.error)": [[2, "quapy.error.nrae"]], "num_prevalence_combinations() (in module quapy.functional)": [[2, "quapy.functional.num_prevalence_combinations"]], "on_preclassified_instances() (quapy.protocol.onlabelledcollectionprotocol method)": [[2, "quapy.protocol.OnLabelledCollectionProtocol.on_preclassified_instances"]], "optim_minimize() (in module quapy.functional)": [[2, "quapy.functional.optim_minimize"]], "parallel() (in module quapy.util)": [[2, "quapy.util.parallel"]], "parallel_unpack() (in module quapy.util)": [[2, "quapy.util.parallel_unpack"]], "pickled_resource() (in module quapy.util)": [[2, "quapy.util.pickled_resource"]], "prediction() (in module quapy.evaluation)": [[2, "quapy.evaluation.prediction"]], "prevalence_from_labels() (in module quapy.functional)": [[2, "quapy.functional.prevalence_from_labels"]], "prevalence_from_probabilities() (in module quapy.functional)": [[2, "quapy.functional.prevalence_from_probabilities"]], "prevalence_grid() (quapy.protocol.app method)": [[2, "quapy.protocol.APP.prevalence_grid"]], "prevalence_linspace() (in module quapy.functional)": [[2, "quapy.functional.prevalence_linspace"]], "quantify() (quapy.model_selection.gridsearchq method)": [[2, "quapy.model_selection.GridSearchQ.quantify"]], "quapy": [[2, "module-quapy"]], "quapy.error": [[2, "module-quapy.error"]], "quapy.evaluation": [[2, "module-quapy.evaluation"]], "quapy.functional": [[2, "module-quapy.functional"]], "quapy.model_selection": [[2, "module-quapy.model_selection"]], "quapy.plot": [[2, "module-quapy.plot"]], "quapy.protocol": [[2, "module-quapy.protocol"]], "quapy.util": [[2, "module-quapy.util"]], "rae() (in module quapy.error)": [[2, "quapy.error.rae"]], "random_state (quapy.protocol.abstractstochasticseededprotocol property)": [[2, "quapy.protocol.AbstractStochasticSeededProtocol.random_state"]], "relative_absolute_error() (in module quapy.error)": [[2, "quapy.error.relative_absolute_error"]], "sample() (quapy.protocol.app method)": [[2, "quapy.protocol.APP.sample"]], "sample() (quapy.protocol.abstractstochasticseededprotocol method)": [[2, "quapy.protocol.AbstractStochasticSeededProtocol.sample"]], "sample() (quapy.protocol.domainmixer method)": [[2, "quapy.protocol.DomainMixer.sample"]], "sample() (quapy.protocol.npp method)": [[2, "quapy.protocol.NPP.sample"]], "sample() (quapy.protocol.upp method)": [[2, "quapy.protocol.UPP.sample"]], "samples_parameters() (quapy.protocol.app method)": [[2, "quapy.protocol.APP.samples_parameters"]], "samples_parameters() (quapy.protocol.abstractstochasticseededprotocol method)": [[2, "quapy.protocol.AbstractStochasticSeededProtocol.samples_parameters"]], "samples_parameters() (quapy.protocol.domainmixer method)": [[2, "quapy.protocol.DomainMixer.samples_parameters"]], "samples_parameters() (quapy.protocol.npp method)": [[2, "quapy.protocol.NPP.samples_parameters"]], "samples_parameters() (quapy.protocol.upp method)": [[2, "quapy.protocol.UPP.samples_parameters"]], "save_text_file() (in module quapy.util)": [[2, "quapy.util.save_text_file"]], "se() (in module quapy.error)": [[2, "quapy.error.se"]], "set_params() (quapy.model_selection.gridsearchq method)": [[2, "quapy.model_selection.GridSearchQ.set_params"]], "smooth() (in module quapy.error)": [[2, "quapy.error.smooth"]], "solve_adjustment() (in module quapy.functional)": [[2, "quapy.functional.solve_adjustment"]], "strprev() (in module quapy.functional)": [[2, "quapy.functional.strprev"]], "success() (quapy.model_selection.configstatus method)": [[2, "quapy.model_selection.ConfigStatus.success"]], "temp_seed() (in module quapy.util)": [[2, "quapy.util.temp_seed"]], "timeout() (in module quapy.util)": [[2, "quapy.util.timeout"]], "total() (quapy.protocol.app method)": [[2, "quapy.protocol.APP.total"]], "total() (quapy.protocol.abstractprotocol method)": [[2, "quapy.protocol.AbstractProtocol.total"]], "total() (quapy.protocol.domainmixer method)": [[2, "quapy.protocol.DomainMixer.total"]], "total() (quapy.protocol.iterateprotocol method)": [[2, "quapy.protocol.IterateProtocol.total"]], "total() (quapy.protocol.npp method)": [[2, "quapy.protocol.NPP.total"]], "total() (quapy.protocol.upp method)": [[2, "quapy.protocol.UPP.total"]], "uniform_prevalence_sampling() (in module quapy.functional)": [[2, "quapy.functional.uniform_prevalence_sampling"]], "uniform_simplex_sampling() (in module quapy.functional)": [[2, "quapy.functional.uniform_simplex_sampling"]], "acc (class in quapy.method.aggregative)": [[5, "quapy.method.aggregative.ACC"]], "adjustedclassifyandcount (in module quapy.method.aggregative)": [[5, "quapy.method.aggregative.AdjustedClassifyAndCount"]], "aggregativecrispquantifier (class in quapy.method.aggregative)": [[5, "quapy.method.aggregative.AggregativeCrispQuantifier"]], "aggregativemedianestimator (class in quapy.method.aggregative)": [[5, "quapy.method.aggregative.AggregativeMedianEstimator"]], "aggregativequantifier (class in quapy.method.aggregative)": [[5, "quapy.method.aggregative.AggregativeQuantifier"]], "aggregativesoftquantifier (class in quapy.method.aggregative)": [[5, "quapy.method.aggregative.AggregativeSoftQuantifier"]], "bandwidth_method (quapy.method._kdey.kdebase attribute)": [[5, "quapy.method._kdey.KDEBase.BANDWIDTH_METHOD"]], "basequantifier (class in quapy.method.base)": [[5, "quapy.method.base.BaseQuantifier"]], "bayesiancc (class in quapy.method.aggregative)": [[5, "quapy.method.aggregative.BayesianCC"]], "binaryaggregativequantifier (class in quapy.method.aggregative)": [[5, "quapy.method.aggregative.BinaryAggregativeQuantifier"]], "binaryquantifier (class in quapy.method.base)": [[5, "quapy.method.base.BinaryQuantifier"]], "cc (class in quapy.method.aggregative)": [[5, "quapy.method.aggregative.CC"]], "clipping (quapy.method.aggregative.acc attribute)": [[5, "quapy.method.aggregative.ACC.CLIPPING"]], "classifyandcount (in module quapy.method.aggregative)": [[5, "quapy.method.aggregative.ClassifyAndCount"]], "dmx (class in quapy.method.non_aggregative)": [[5, "quapy.method.non_aggregative.DMx"]], "dmy (class in quapy.method.aggregative)": [[5, "quapy.method.aggregative.DMy"]], "distributionmatchingx (in module quapy.method.non_aggregative)": [[5, "quapy.method.non_aggregative.DistributionMatchingX"]], "distributionmatchingy (in module quapy.method.aggregative)": [[5, "quapy.method.aggregative.DistributionMatchingY"]], "dys (class in quapy.method.aggregative)": [[5, "quapy.method.aggregative.DyS"]], "eacc() (in module quapy.method.meta)": [[5, "quapy.method.meta.EACC"]], "ecc() (in module quapy.method.meta)": [[5, "quapy.method.meta.ECC"]], "eemq() (in module quapy.method.meta)": [[5, "quapy.method.meta.EEMQ"]], "ehdy() (in module quapy.method.meta)": [[5, "quapy.method.meta.EHDy"]], "em() (quapy.method.aggregative.emq class method)": [[5, "quapy.method.aggregative.EMQ.EM"]], "emq (class in quapy.method.aggregative)": [[5, "quapy.method.aggregative.EMQ"]], "emq_bcts() (quapy.method.aggregative.emq class method)": [[5, "quapy.method.aggregative.EMQ.EMQ_BCTS"]], "epacc() (in module quapy.method.meta)": [[5, "quapy.method.meta.EPACC"]], "epsilon (quapy.method.aggregative.emq attribute)": [[5, "quapy.method.aggregative.EMQ.EPSILON"]], "ensemble (class in quapy.method.meta)": [[5, "quapy.method.meta.Ensemble"]], "expectationmaximizationquantifier (in module quapy.method.aggregative)": [[5, "quapy.method.aggregative.ExpectationMaximizationQuantifier"]], "hdx() (quapy.method.non_aggregative.dmx class method)": [[5, "quapy.method.non_aggregative.DMx.HDx"]], "hdy (class in quapy.method.aggregative)": [[5, "quapy.method.aggregative.HDy"]], "hellingerdistancey (in module quapy.method.aggregative)": [[5, "quapy.method.aggregative.HellingerDistanceY"]], "kdebase (class in quapy.method._kdey)": [[5, "quapy.method._kdey.KDEBase"]], "kdeycs (class in quapy.method._kdey)": [[5, "quapy.method._kdey.KDEyCS"]], "kdeyhd (class in quapy.method._kdey)": [[5, "quapy.method._kdey.KDEyHD"]], "kdeyml (class in quapy.method._kdey)": [[5, "quapy.method._kdey.KDEyML"]], "max (class in quapy.method._threshold_optim)": [[5, "quapy.method._threshold_optim.MAX"]], "max_iter (quapy.method.aggregative.emq attribute)": [[5, "quapy.method.aggregative.EMQ.MAX_ITER"]], "methods (quapy.method.aggregative.acc attribute)": [[5, "quapy.method.aggregative.ACC.METHODS"]], "ms (class in quapy.method._threshold_optim)": [[5, "quapy.method._threshold_optim.MS"]], "ms2 (class in quapy.method._threshold_optim)": [[5, "quapy.method._threshold_optim.MS2"]], "maximumlikelihoodprevalenceestimation (class in quapy.method.non_aggregative)": [[5, "quapy.method.non_aggregative.MaximumLikelihoodPrevalenceEstimation"]], "medianestimator (class in quapy.method.meta)": [[5, "quapy.method.meta.MedianEstimator"]], "medianestimator2 (class in quapy.method.meta)": [[5, "quapy.method.meta.MedianEstimator2"]], "onevsall (class in quapy.method.base)": [[5, "quapy.method.base.OneVsAll"]], "onevsallaggregative (class in quapy.method.aggregative)": [[5, "quapy.method.aggregative.OneVsAllAggregative"]], "onevsallgeneric (class in quapy.method.base)": [[5, "quapy.method.base.OneVsAllGeneric"]], "pacc (class in quapy.method.aggregative)": [[5, "quapy.method.aggregative.PACC"]], "pcc (class in quapy.method.aggregative)": [[5, "quapy.method.aggregative.PCC"]], "probabilisticadjustedclassifyandcount (in module quapy.method.aggregative)": [[5, "quapy.method.aggregative.ProbabilisticAdjustedClassifyAndCount"]], "probabilisticclassifyandcount (in module quapy.method.aggregative)": [[5, "quapy.method.aggregative.ProbabilisticClassifyAndCount"]], "quanetmodule (class in quapy.method._neural)": [[5, "quapy.method._neural.QuaNetModule"]], "quanettrainer (class in quapy.method._neural)": [[5, "quapy.method._neural.QuaNetTrainer"]], "readme (class in quapy.method.non_aggregative)": [[5, "quapy.method.non_aggregative.ReadMe"]], "sld (in module quapy.method.aggregative)": [[5, "quapy.method.aggregative.SLD"]], "smm (class in quapy.method.aggregative)": [[5, "quapy.method.aggregative.SMM"]], "solvers (quapy.method.aggregative.acc attribute)": [[5, "quapy.method.aggregative.ACC.SOLVERS"]], "t50 (class in quapy.method._threshold_optim)": [[5, "quapy.method._threshold_optim.T50"]], "thresholdoptimization (class in quapy.method._threshold_optim)": [[5, "quapy.method._threshold_optim.ThresholdOptimization"]], "valid_policies (quapy.method.meta.ensemble attribute)": [[5, "quapy.method.meta.Ensemble.VALID_POLICIES"]], "x (class in quapy.method._threshold_optim)": [[5, "quapy.method._threshold_optim.X"]], "aggregate() (quapy.method._kdey.kdeycs method)": [[5, "quapy.method._kdey.KDEyCS.aggregate"]], "aggregate() (quapy.method._kdey.kdeyhd method)": [[5, "quapy.method._kdey.KDEyHD.aggregate"]], "aggregate() (quapy.method._kdey.kdeyml method)": [[5, "quapy.method._kdey.KDEyML.aggregate"]], "aggregate() (quapy.method._threshold_optim.ms method)": [[5, "quapy.method._threshold_optim.MS.aggregate"]], "aggregate() (quapy.method._threshold_optim.thresholdoptimization method)": [[5, "quapy.method._threshold_optim.ThresholdOptimization.aggregate"]], "aggregate() (quapy.method.aggregative.acc method)": [[5, "quapy.method.aggregative.ACC.aggregate"]], "aggregate() (quapy.method.aggregative.aggregativequantifier method)": [[5, "quapy.method.aggregative.AggregativeQuantifier.aggregate"]], "aggregate() (quapy.method.aggregative.bayesiancc method)": [[5, "quapy.method.aggregative.BayesianCC.aggregate"]], "aggregate() (quapy.method.aggregative.cc method)": [[5, "quapy.method.aggregative.CC.aggregate"]], "aggregate() (quapy.method.aggregative.dmy method)": [[5, "quapy.method.aggregative.DMy.aggregate"]], "aggregate() (quapy.method.aggregative.dys method)": [[5, "quapy.method.aggregative.DyS.aggregate"]], "aggregate() (quapy.method.aggregative.emq method)": [[5, "quapy.method.aggregative.EMQ.aggregate"]], "aggregate() (quapy.method.aggregative.hdy method)": [[5, "quapy.method.aggregative.HDy.aggregate"]], "aggregate() (quapy.method.aggregative.onevsallaggregative method)": [[5, "quapy.method.aggregative.OneVsAllAggregative.aggregate"]], "aggregate() (quapy.method.aggregative.pacc method)": [[5, "quapy.method.aggregative.PACC.aggregate"]], "aggregate() (quapy.method.aggregative.pcc method)": [[5, "quapy.method.aggregative.PCC.aggregate"]], "aggregate() (quapy.method.aggregative.smm method)": [[5, "quapy.method.aggregative.SMM.aggregate"]], "aggregate_with_threshold() (quapy.method._threshold_optim.thresholdoptimization method)": [[5, "quapy.method._threshold_optim.ThresholdOptimization.aggregate_with_threshold"]], "aggregation_fit() (quapy.method._kdey.kdeycs method)": [[5, "quapy.method._kdey.KDEyCS.aggregation_fit"]], "aggregation_fit() (quapy.method._kdey.kdeyhd method)": [[5, "quapy.method._kdey.KDEyHD.aggregation_fit"]], "aggregation_fit() (quapy.method._kdey.kdeyml method)": [[5, "quapy.method._kdey.KDEyML.aggregation_fit"]], "aggregation_fit() (quapy.method._threshold_optim.ms method)": [[5, "quapy.method._threshold_optim.MS.aggregation_fit"]], "aggregation_fit() (quapy.method._threshold_optim.thresholdoptimization method)": [[5, "quapy.method._threshold_optim.ThresholdOptimization.aggregation_fit"]], "aggregation_fit() (quapy.method.aggregative.acc method)": [[5, "quapy.method.aggregative.ACC.aggregation_fit"]], "aggregation_fit() (quapy.method.aggregative.aggregativequantifier method)": [[5, "quapy.method.aggregative.AggregativeQuantifier.aggregation_fit"]], "aggregation_fit() (quapy.method.aggregative.bayesiancc method)": [[5, "quapy.method.aggregative.BayesianCC.aggregation_fit"]], "aggregation_fit() (quapy.method.aggregative.cc method)": [[5, "quapy.method.aggregative.CC.aggregation_fit"]], "aggregation_fit() (quapy.method.aggregative.dmy method)": [[5, "quapy.method.aggregative.DMy.aggregation_fit"]], "aggregation_fit() (quapy.method.aggregative.dys method)": [[5, "quapy.method.aggregative.DyS.aggregation_fit"]], "aggregation_fit() (quapy.method.aggregative.emq method)": [[5, "quapy.method.aggregative.EMQ.aggregation_fit"]], "aggregation_fit() (quapy.method.aggregative.hdy method)": [[5, "quapy.method.aggregative.HDy.aggregation_fit"]], "aggregation_fit() (quapy.method.aggregative.pacc method)": [[5, "quapy.method.aggregative.PACC.aggregation_fit"]], "aggregation_fit() (quapy.method.aggregative.pcc method)": [[5, "quapy.method.aggregative.PCC.aggregation_fit"]], "aggregation_fit() (quapy.method.aggregative.smm method)": [[5, "quapy.method.aggregative.SMM.aggregation_fit"]], "aggregative (quapy.method.meta.ensemble property)": [[5, "quapy.method.meta.Ensemble.aggregative"]], "classes_ (quapy.method._neural.quanettrainer property)": [[5, "quapy.method._neural.QuaNetTrainer.classes_"]], "classes_ (quapy.method.aggregative.aggregativequantifier property)": [[5, "quapy.method.aggregative.AggregativeQuantifier.classes_"]], "classes_ (quapy.method.base.onevsallgeneric property)": [[5, "quapy.method.base.OneVsAllGeneric.classes_"]], "classifier (quapy.method.aggregative.aggregativequantifier property)": [[5, "quapy.method.aggregative.AggregativeQuantifier.classifier"]], "classifier_fit_predict() (quapy.method.aggregative.aggregativequantifier method)": [[5, "quapy.method.aggregative.AggregativeQuantifier.classifier_fit_predict"]], "classify() (quapy.method.aggregative.aggregativequantifier method)": [[5, "quapy.method.aggregative.AggregativeQuantifier.classify"]], "classify() (quapy.method.aggregative.emq method)": [[5, "quapy.method.aggregative.EMQ.classify"]], "classify() (quapy.method.aggregative.onevsallaggregative method)": [[5, "quapy.method.aggregative.OneVsAllAggregative.classify"]], "clean_checkpoint() (quapy.method._neural.quanettrainer method)": [[5, "quapy.method._neural.QuaNetTrainer.clean_checkpoint"]], "clean_checkpoint_dir() (quapy.method._neural.quanettrainer method)": [[5, "quapy.method._neural.QuaNetTrainer.clean_checkpoint_dir"]], "condition() (quapy.method._threshold_optim.max method)": [[5, "quapy.method._threshold_optim.MAX.condition"]], "condition() (quapy.method._threshold_optim.ms method)": [[5, "quapy.method._threshold_optim.MS.condition"]], "condition() (quapy.method._threshold_optim.t50 method)": [[5, "quapy.method._threshold_optim.T50.condition"]], "condition() (quapy.method._threshold_optim.thresholdoptimization method)": [[5, "quapy.method._threshold_optim.ThresholdOptimization.condition"]], "condition() (quapy.method._threshold_optim.x method)": [[5, "quapy.method._threshold_optim.X.condition"]], "device (quapy.method._neural.quanetmodule property)": [[5, "quapy.method._neural.QuaNetModule.device"]], "discard() (quapy.method._threshold_optim.ms2 method)": [[5, "quapy.method._threshold_optim.MS2.discard"]], "discard() (quapy.method._threshold_optim.thresholdoptimization method)": [[5, "quapy.method._threshold_optim.ThresholdOptimization.discard"]], "ensemblefactory() (in module quapy.method.meta)": [[5, "quapy.method.meta.ensembleFactory"]], "fit() (quapy.method._neural.quanettrainer method)": [[5, "quapy.method._neural.QuaNetTrainer.fit"]], "fit() (quapy.method.aggregative.aggregativemedianestimator method)": [[5, "quapy.method.aggregative.AggregativeMedianEstimator.fit"]], "fit() (quapy.method.aggregative.aggregativequantifier method)": [[5, "quapy.method.aggregative.AggregativeQuantifier.fit"]], "fit() (quapy.method.aggregative.binaryaggregativequantifier method)": [[5, "quapy.method.aggregative.BinaryAggregativeQuantifier.fit"]], "fit() (quapy.method.base.basequantifier method)": [[5, "quapy.method.base.BaseQuantifier.fit"]], "fit() (quapy.method.base.onevsallgeneric method)": [[5, "quapy.method.base.OneVsAllGeneric.fit"]], "fit() (quapy.method.meta.ensemble method)": [[5, "quapy.method.meta.Ensemble.fit"]], "fit() (quapy.method.meta.medianestimator method)": [[5, "quapy.method.meta.MedianEstimator.fit"]], "fit() (quapy.method.meta.medianestimator2 method)": [[5, "quapy.method.meta.MedianEstimator2.fit"]], "fit() (quapy.method.non_aggregative.dmx method)": [[5, "quapy.method.non_aggregative.DMx.fit"]], "fit() (quapy.method.non_aggregative.maximumlikelihoodprevalenceestimation method)": [[5, "quapy.method.non_aggregative.MaximumLikelihoodPrevalenceEstimation.fit"]], "fit() (quapy.method.non_aggregative.readme method)": [[5, "quapy.method.non_aggregative.ReadMe.fit"]], "forward() (quapy.method._neural.quanetmodule method)": [[5, "quapy.method._neural.QuaNetModule.forward"]], "getptecondestim() (quapy.method.aggregative.acc class method)": [[5, "quapy.method.aggregative.ACC.getPteCondEstim"]], "getptecondestim() (quapy.method.aggregative.pacc class method)": [[5, "quapy.method.aggregative.PACC.getPteCondEstim"]], "get_conditional_probability_samples() (quapy.method.aggregative.bayesiancc method)": [[5, "quapy.method.aggregative.BayesianCC.get_conditional_probability_samples"]], "get_kde_function() (quapy.method._kdey.kdebase method)": [[5, "quapy.method._kdey.KDEBase.get_kde_function"]], "get_mixture_components() (quapy.method._kdey.kdebase method)": [[5, "quapy.method._kdey.KDEBase.get_mixture_components"]], "get_params() (quapy.method._neural.quanettrainer method)": [[5, "quapy.method._neural.QuaNetTrainer.get_params"]], "get_params() (quapy.method.aggregative.aggregativemedianestimator method)": [[5, "quapy.method.aggregative.AggregativeMedianEstimator.get_params"]], "get_params() (quapy.method.meta.ensemble method)": [[5, "quapy.method.meta.Ensemble.get_params"]], "get_params() (quapy.method.meta.medianestimator method)": [[5, "quapy.method.meta.MedianEstimator.get_params"]], "get_params() (quapy.method.meta.medianestimator2 method)": [[5, "quapy.method.meta.MedianEstimator2.get_params"]], "get_prevalence_samples() (quapy.method.aggregative.bayesiancc method)": [[5, "quapy.method.aggregative.BayesianCC.get_prevalence_samples"]], "get_probability_distribution() (in module quapy.method.meta)": [[5, "quapy.method.meta.get_probability_distribution"]], "gram_matrix_mix_sum() (quapy.method._kdey.kdeycs method)": [[5, "quapy.method._kdey.KDEyCS.gram_matrix_mix_sum"]], "mae_loss() (in module quapy.method._neural)": [[5, "quapy.method._neural.mae_loss"]], "neg_label (quapy.method.aggregative.binaryaggregativequantifier property)": [[5, "quapy.method.aggregative.BinaryAggregativeQuantifier.neg_label"]], "newelm() (in module quapy.method.aggregative)": [[5, "quapy.method.aggregative.newELM"]], "newinvariantratioestimation() (quapy.method.aggregative.acc class method)": [[5, "quapy.method.aggregative.ACC.newInvariantRatioEstimation"]], "newonevsall() (in module quapy.method.base)": [[5, "quapy.method.base.newOneVsAll"]], "newsvmae() (in module quapy.method.aggregative)": [[5, "quapy.method.aggregative.newSVMAE"]], "newsvmkld() (in module quapy.method.aggregative)": [[5, "quapy.method.aggregative.newSVMKLD"]], "newsvmq() (in module quapy.method.aggregative)": [[5, "quapy.method.aggregative.newSVMQ"]], "newsvmrae() (in module quapy.method.aggregative)": [[5, "quapy.method.aggregative.newSVMRAE"]], "pdf() (quapy.method._kdey.kdebase method)": [[5, "quapy.method._kdey.KDEBase.pdf"]], "pos_label (quapy.method.aggregative.binaryaggregativequantifier property)": [[5, "quapy.method.aggregative.BinaryAggregativeQuantifier.pos_label"]], "predict_proba() (quapy.method.aggregative.emq method)": [[5, "quapy.method.aggregative.EMQ.predict_proba"]], "probabilistic (quapy.method.meta.ensemble property)": [[5, "quapy.method.meta.Ensemble.probabilistic"]], "quantify() (quapy.method._neural.quanettrainer method)": [[5, "quapy.method._neural.QuaNetTrainer.quantify"]], "quantify() (quapy.method.aggregative.aggregativemedianestimator method)": [[5, "quapy.method.aggregative.AggregativeMedianEstimator.quantify"]], "quantify() (quapy.method.aggregative.aggregativequantifier method)": [[5, "quapy.method.aggregative.AggregativeQuantifier.quantify"]], "quantify() (quapy.method.base.basequantifier method)": [[5, "quapy.method.base.BaseQuantifier.quantify"]], "quantify() (quapy.method.base.onevsallgeneric method)": [[5, "quapy.method.base.OneVsAllGeneric.quantify"]], "quantify() (quapy.method.meta.ensemble method)": [[5, "quapy.method.meta.Ensemble.quantify"]], "quantify() (quapy.method.meta.medianestimator method)": [[5, "quapy.method.meta.MedianEstimator.quantify"]], "quantify() (quapy.method.meta.medianestimator2 method)": [[5, "quapy.method.meta.MedianEstimator2.quantify"]], "quantify() (quapy.method.non_aggregative.dmx method)": [[5, "quapy.method.non_aggregative.DMx.quantify"]], "quantify() (quapy.method.non_aggregative.maximumlikelihoodprevalenceestimation method)": [[5, "quapy.method.non_aggregative.MaximumLikelihoodPrevalenceEstimation.quantify"]], "quantify() (quapy.method.non_aggregative.readme method)": [[5, "quapy.method.non_aggregative.ReadMe.quantify"]], "quapy.method": [[5, "module-quapy.method"]], "quapy.method._kdey": [[5, "module-quapy.method._kdey"]], "quapy.method._neural": [[5, "module-quapy.method._neural"]], "quapy.method._threshold_optim": [[5, "module-quapy.method._threshold_optim"]], "quapy.method.aggregative": [[5, "module-quapy.method.aggregative"]], "quapy.method.base": [[5, "module-quapy.method.base"]], "quapy.method.meta": [[5, "module-quapy.method.meta"]], "quapy.method.non_aggregative": [[5, "module-quapy.method.non_aggregative"]], "sample_from_posterior() (quapy.method.aggregative.bayesiancc method)": [[5, "quapy.method.aggregative.BayesianCC.sample_from_posterior"]], "set_params() (quapy.method._neural.quanettrainer method)": [[5, "quapy.method._neural.QuaNetTrainer.set_params"]], "set_params() (quapy.method.aggregative.aggregativemedianestimator method)": [[5, "quapy.method.aggregative.AggregativeMedianEstimator.set_params"]], "set_params() (quapy.method.meta.ensemble method)": [[5, "quapy.method.meta.Ensemble.set_params"]], "set_params() (quapy.method.meta.medianestimator method)": [[5, "quapy.method.meta.MedianEstimator.set_params"]], "set_params() (quapy.method.meta.medianestimator2 method)": [[5, "quapy.method.meta.MedianEstimator2.set_params"]], "std_constrained_linear_ls() (quapy.method.non_aggregative.readme method)": [[5, "quapy.method.non_aggregative.ReadMe.std_constrained_linear_ls"]], "training (quapy.method._neural.quanetmodule attribute)": [[5, "quapy.method._neural.QuaNetModule.training"]], "val_split (quapy.method.aggregative.aggregativequantifier property)": [[5, "quapy.method.aggregative.AggregativeQuantifier.val_split"]], "val_split_ (quapy.method.aggregative.aggregativequantifier attribute)": [[5, "quapy.method.aggregative.AggregativeQuantifier.val_split_"]]}}) \ No newline at end of file diff --git a/docs/make.bat b/docs/make.bat new file mode 100644 index 0000000..747ffb7 --- /dev/null +++ b/docs/make.bat @@ -0,0 +1,35 @@ +@ECHO OFF + +pushd %~dp0 + +REM Command file for Sphinx documentation + +if "%SPHINXBUILD%" == "" ( + set SPHINXBUILD=sphinx-build +) +set SOURCEDIR=source +set BUILDDIR=build + +%SPHINXBUILD% >NUL 2>NUL +if errorlevel 9009 ( + echo. + echo.The 'sphinx-build' command was not found. Make sure you have Sphinx + echo.installed, then set the SPHINXBUILD environment variable to point + echo.to the full path of the 'sphinx-build' executable. Alternatively you + echo.may add the Sphinx directory to PATH. + echo. + echo.If you don't have Sphinx installed, grab it from + echo.https://www.sphinx-doc.org/ + exit /b 1 +) + +if "%1" == "" goto help + +%SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O% +goto end + +:help +%SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O% + +:end +popd diff --git a/docs/source/conf.py b/docs/source/conf.py new file mode 100644 index 0000000..734acf2 --- /dev/null +++ b/docs/source/conf.py @@ -0,0 +1,55 @@ +# Configuration file for the Sphinx documentation builder. +# +# For the full list of built-in configuration values, see the documentation: +# https://www.sphinx-doc.org/en/master/usage/configuration.html + +# -- Project information ----------------------------------------------------- +# https://www.sphinx-doc.org/en/master/usage/configuration.html#project-information + +import pathlib +import sys +from os.path import join +quapy_path = join(pathlib.Path(__file__).parents[2].resolve().as_posix(), 'quapy') +print(f'quapy path={quapy_path}') +sys.path.insert(0, quapy_path) + + +project = 'QuaPy: A Python-based open-source framework for quantification' +copyright = '2024, Alejandro Moreo' +author = 'Alejandro Moreo' + + + +import quapy + +release = quapy.__version__ + +# -- General configuration --------------------------------------------------- +# https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration + +extensions = [ + 'sphinx.ext.duration', + 'sphinx.ext.doctest', + 'sphinx.ext.autodoc', + 'sphinx.ext.autosummary', + 'sphinx.ext.viewcode', + 'sphinx.ext.napoleon' +] + +templates_path = ['_templates'] + +# List of patterns, relative to source directory, that match files and +# directories to ignore when looking for source files. +# This pattern also affects html_static_path and html_extra_path. +exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store'] + + +# -- Options for HTML output ------------------------------------------------- +# https://www.sphinx-doc.org/en/master/usage/configuration.html#options-for-html-output + +html_theme = 'sphinx_rtd_theme' +# html_theme = 'furo' +# need to be installed: pip install furo (not working...) +html_static_path = ['_static'] + + diff --git a/docs/source/index.rst b/docs/source/index.rst new file mode 100644 index 0000000..cc5b4dc --- /dev/null +++ b/docs/source/index.rst @@ -0,0 +1,41 @@ +.. QuaPy: A Python-based open-source framework for quantification documentation master file, created by + sphinx-quickstart on Wed Feb 7 16:26:46 2024. + You can adapt this file completely to your liking, but it should at least + contain the root `toctree` directive. + +Welcome to QuaPy's documentation! +========================================================================================== + +QuaPy is a Python-based open-source framework for quantification. + +This document contains the API of the modules included in QuaPy. + +Installation +------------ + +`pip install quapy` + +GitHub +------------ + +QuaPy is hosted in GitHub at `https://github.com/HLT-ISTI/QuaPy <https://github.com/HLT-ISTI/QuaPy>`_ + + +.. toctree:: + :maxdepth: 2 + :caption: Contents: + +Contents +-------- + +.. toctree:: + + modules + + +Indices and tables +================== + +* :ref:`genindex` +* :ref:`modindex` +* :ref:`search` diff --git a/docs/source/modules.rst b/docs/source/modules.rst new file mode 100644 index 0000000..5d84a54 --- /dev/null +++ b/docs/source/modules.rst @@ -0,0 +1,7 @@ +quapy +===== + +.. toctree:: + :maxdepth: 4 + + quapy diff --git a/docs/source/quapy.classification.rst b/docs/source/quapy.classification.rst new file mode 100644 index 0000000..cfc7d9b --- /dev/null +++ b/docs/source/quapy.classification.rst @@ -0,0 +1,45 @@ +quapy.classification package +============================ + +Submodules +---------- + +quapy.classification.calibration module +--------------------------------------- + +.. automodule:: quapy.classification.calibration + :members: + :undoc-members: + :show-inheritance: + +quapy.classification.methods module +----------------------------------- + +.. automodule:: quapy.classification.methods + :members: + :undoc-members: + :show-inheritance: + +quapy.classification.neural module +---------------------------------- + +.. automodule:: quapy.classification.neural + :members: + :undoc-members: + :show-inheritance: + +quapy.classification.svmperf module +----------------------------------- + +.. automodule:: quapy.classification.svmperf + :members: + :undoc-members: + :show-inheritance: + +Module contents +--------------- + +.. automodule:: quapy.classification + :members: + :undoc-members: + :show-inheritance: diff --git a/docs/source/quapy.data.rst b/docs/source/quapy.data.rst new file mode 100644 index 0000000..cadace6 --- /dev/null +++ b/docs/source/quapy.data.rst @@ -0,0 +1,46 @@ +quapy.data package +================== + +Submodules +---------- + +quapy.data.base module +---------------------- + +.. automodule:: quapy.data.base + :members: + :undoc-members: + :show-inheritance: + +quapy.data.datasets module +-------------------------- + +.. automodule:: quapy.data.datasets + :members: + :undoc-members: + :show-inheritance: + + +quapy.data.preprocessing module +------------------------------- + +.. automodule:: quapy.data.preprocessing + :members: + :undoc-members: + :show-inheritance: + +quapy.data.reader module +------------------------ + +.. automodule:: quapy.data.reader + :members: + :undoc-members: + :show-inheritance: + +Module contents +--------------- + +.. automodule:: quapy.data + :members: + :undoc-members: + :show-inheritance: diff --git a/docs/source/quapy.method.rst b/docs/source/quapy.method.rst new file mode 100644 index 0000000..8026e0a --- /dev/null +++ b/docs/source/quapy.method.rst @@ -0,0 +1,61 @@ +quapy.method package +==================== + +Submodules +---------- + +quapy.method.aggregative module +------------------------------- + +.. automodule:: quapy.method.aggregative + :members: + :undoc-members: + :show-inheritance: + +.. automodule:: quapy.method._kdey + :members: + :undoc-members: + :show-inheritance: + +.. automodule:: quapy.method._neural + :members: + :undoc-members: + :show-inheritance: + +.. automodule:: quapy.method._threshold_optim + :members: + :undoc-members: + :show-inheritance: + + +quapy.method.base module +------------------------ + +.. automodule:: quapy.method.base + :members: + :undoc-members: + :show-inheritance: + +quapy.method.meta module +------------------------ + +.. automodule:: quapy.method.meta + :members: + :undoc-members: + :show-inheritance: + +quapy.method.non\_aggregative module +------------------------------------ + +.. automodule:: quapy.method.non_aggregative + :members: + :undoc-members: + :show-inheritance: + +Module contents +--------------- + +.. automodule:: quapy.method + :members: + :undoc-members: + :show-inheritance: diff --git a/docs/source/quapy.rst b/docs/source/quapy.rst new file mode 100644 index 0000000..af2708b --- /dev/null +++ b/docs/source/quapy.rst @@ -0,0 +1,80 @@ +quapy package +============= + +Subpackages +----------- + +.. toctree:: + :maxdepth: 4 + + quapy.classification + quapy.data + quapy.method + + +Submodules +---------- + +quapy.error module +------------------ + +.. automodule:: quapy.error + :members: + :undoc-members: + :show-inheritance: + +quapy.evaluation module +----------------------- + +.. automodule:: quapy.evaluation + :members: + :undoc-members: + :show-inheritance: + +quapy.functional module +----------------------- + +.. automodule:: quapy.functional + :members: + :undoc-members: + :show-inheritance: + +quapy.model\_selection module +----------------------------- + +.. automodule:: quapy.model_selection + :members: + :undoc-members: + :show-inheritance: + +quapy.plot module +----------------- + +.. automodule:: quapy.plot + :members: + :undoc-members: + :show-inheritance: + +quapy.protocol module +--------------------- + +.. automodule:: quapy.protocol + :members: + :undoc-members: + :show-inheritance: + +quapy.util module +----------------- + +.. automodule:: quapy.util + :members: + :undoc-members: + :show-inheritance: + +Module contents +--------------- + +.. automodule:: quapy + :members: + :undoc-members: + :show-inheritance: diff --git a/examples/bayesian_quantification.py b/examples/bayesian_quantification.py index 06c928c..2d0f4ed 100644 --- a/examples/bayesian_quantification.py +++ b/examples/bayesian_quantification.py @@ -1,4 +1,6 @@ """ +.. author:: Paweł Czyż + This example shows how to use Bayesian quantification (https://arxiv.org/abs/2302.09159), which is suitable for low-data situations and when the uncertainty of the prevalence estimate is of interest. diff --git a/quapy/functional.py b/quapy/functional.py index 84acdbc..677715b 100644 --- a/quapy/functional.py +++ b/quapy/functional.py @@ -2,24 +2,25 @@ import itertools import warnings from collections import defaultdict from typing import Literal, Union, Callable +from numpy.typing import ArrayLike import scipy import numpy as np -def prevalence_linspace(n_prevalences=21, repeats=1, smooth_limits_epsilon=0.01): +def prevalence_linspace(grid_points:int=21, repeats:int=1, smooth_limits_epsilon:float=0.01): """ Produces an array of uniformly separated values of prevalence. By default, produces an array of 21 prevalence values, with step 0.05 and with the limits smoothed, i.e.: [0.01, 0.05, 0.10, 0.15, ..., 0.90, 0.95, 0.99] - :param n_prevalences: the number of prevalence values to sample from the [0,1] interval (default 21) + :param grid_points: the number of prevalence values to sample from the [0,1] interval (default 21) :param repeats: number of times each prevalence is to be repeated (defaults to 1) :param smooth_limits_epsilon: the quantity to add and subtract to the limits 0 and 1 :return: an array of uniformly separated prevalence values """ - p = np.linspace(0., 1., num=n_prevalences, endpoint=True) + p = np.linspace(0., 1., num=grid_points, endpoint=True) p[0] += smooth_limits_epsilon p[-1] -= smooth_limits_epsilon if p[0] > p[1]: @@ -29,7 +30,7 @@ def prevalence_linspace(n_prevalences=21, repeats=1, smooth_limits_epsilon=0.01) return p -def counts_from_labels(labels, classes): +def counts_from_labels(labels: ArrayLike, classes: ArrayLike): """ Computes the count values from a vector of labels. @@ -38,7 +39,7 @@ def counts_from_labels(labels, classes): some classes have no examples. :return: an ndarray of shape `(len(classes),)` with the occurrence counts of each class """ - if labels.ndim != 1: + if np.asarray(labels).ndim != 1: raise ValueError(f'param labels does not seem to be a ndarray of label predictions') unique, counts = np.unique(labels, return_counts=True) by_class = defaultdict(lambda:0, dict(zip(unique, counts))) @@ -46,7 +47,7 @@ def counts_from_labels(labels, classes): return counts -def prevalence_from_labels(labels, classes): +def prevalence_from_labels(labels: ArrayLike, classes: ArrayLike): """ Computes the prevalence values from a vector of labels. @@ -59,7 +60,7 @@ def prevalence_from_labels(labels, classes): return counts / np.sum(counts) -def prevalence_from_probabilities(posteriors, binarize: bool = False): +def prevalence_from_probabilities(posteriors: ArrayLike, binarize: bool = False): """ Returns a vector of prevalence values from a matrix of posterior probabilities. @@ -68,6 +69,7 @@ def prevalence_from_probabilities(posteriors, binarize: bool = False): converting the vectors of posterior probabilities into class indices, by taking the argmax). :return: array of shape `(n_classes,)` containing the prevalence values """ + posteriors = np.asarray(posteriors) if posteriors.ndim != 2: raise ValueError(f'param posteriors does not seem to be a ndarray of posteior probabilities') if binarize: @@ -79,7 +81,7 @@ def prevalence_from_probabilities(posteriors, binarize: bool = False): return prevalences -def as_binary_prevalence(positive_prevalence: Union[float, np.ndarray], clip_if_necessary=False): +def as_binary_prevalence(positive_prevalence: Union[float, np.ndarray], clip_if_necessary: bool=False): """ Helper that, given a float representing the prevalence for the positive class, returns a np.ndarray of two values representing a binary distribution. @@ -97,7 +99,7 @@ def as_binary_prevalence(positive_prevalence: Union[float, np.ndarray], clip_if_ -def HellingerDistance(P, Q) -> float: +def HellingerDistance(P: np.ndarray, Q: np.ndarray) -> float: """ Computes the Hellingher Distance (HD) between (discretized) distributions `P` and `Q`. The HD for two discrete distributions of `k` bins is defined as: @@ -112,7 +114,7 @@ def HellingerDistance(P, Q) -> float: return np.sqrt(np.sum((np.sqrt(P) - np.sqrt(Q))**2)) -def TopsoeDistance(P, Q, epsilon=1e-20): +def TopsoeDistance(P: np.ndarray, Q: np.ndarray, epsilon: float=1e-20): """ Topsoe distance between two (discretized) distributions `P` and `Q`. The Topsoe distance for two discrete distributions of `k` bins is defined as: @@ -128,7 +130,7 @@ def TopsoeDistance(P, Q, epsilon=1e-20): return np.sum(P*np.log((2*P+epsilon)/(P+Q+epsilon)) + Q*np.log((2*Q+epsilon)/(P+Q+epsilon))) -def uniform_prevalence_sampling(n_classes, size=1): +def uniform_prevalence_sampling(n_classes: int, size: int=1): """ Implements the `Kraemer algorithm <http://www.cs.cmu.edu/~nasmith/papers/smith+tromble.tr04.pdf>`_ for sampling uniformly at random from the unit simplex. This implementation is adapted from this @@ -157,7 +159,7 @@ def uniform_prevalence_sampling(n_classes, size=1): uniform_simplex_sampling = uniform_prevalence_sampling -def strprev(prevalences, prec=3): +def strprev(prevalences: ArrayLike, prec: int=3): """ Returns a string representation for a prevalence vector. E.g., @@ -171,7 +173,7 @@ def strprev(prevalences, prec=3): return '['+ ', '.join([f'{p:.{prec}f}' for p in prevalences]) + ']' -def adjusted_quantification(prevalence_estim, tpr, fpr, clip=True): +def adjusted_quantification(prevalence_estim: ArrayLike, tpr: float, fpr: float, clip: bool=True): """ Implements the adjustment of ACC and PACC for the binary case. The adjustment for a prevalence estimate of the positive class `p` comes down to computing: @@ -195,7 +197,7 @@ def adjusted_quantification(prevalence_estim, tpr, fpr, clip=True): return adjusted -def normalize_prevalence(prevalences): +def normalize_prevalence(prevalences: ArrayLike): """ Normalize a vector or matrix of prevalence values. The normalization consists of applying a L1 normalization in cases in which the prevalence values are not all-zeros, and to convert the prevalence values into `1/n_classes` in @@ -287,23 +289,23 @@ def get_nprevpoints_approximation(combinations_budget:int, n_classes:int, n_repe n_prevpoints += 1 -def check_prevalence_vector(p, raise_exception=False, toleranze=1e-08): +def check_prevalence_vector(prevalences: ArrayLike, raise_exception: bool=False, toleranze: float=1e-08): """ Checks that p is a valid prevalence vector, i.e., that it contains values in [0,1] and that the values sum up to 1. - :param p: the prevalence vector to check + :param prevalences: the prevalence vector to check :return: True if `p` is valid, False otherwise """ - p = np.asarray(p) - if not all(p>=0): + prevalences = np.asarray(prevalences) + if not all(prevalences >= 0): if raise_exception: raise ValueError('the prevalence vector contains negative numbers') return False - if not all(p<=1): + if not all(prevalences <= 1): if raise_exception: raise ValueError('the prevalence vector contains values >1') return False - if not np.isclose(p.sum(), 1, atol=toleranze): + if not np.isclose(prevalences.sum(), 1, atol=toleranze): if raise_exception: raise ValueError('the prevalence vector does not sum up to 1') return False @@ -311,6 +313,14 @@ def check_prevalence_vector(p, raise_exception=False, toleranze=1e-08): def get_divergence(divergence: Union[str, Callable]): + """ + Guarantees that the divergence received as argument is a function. That is, if this argument is already + a callable, then it is returned, if it is instead a string, then tries to instantiate the corresponding + divergence from the string name. + + :param divergence: callable or string indicating the name of the divergence function + :return: callable + """ if isinstance(divergence, str): if divergence=='HD': return HellingerDistance @@ -324,7 +334,20 @@ def get_divergence(divergence: Union[str, Callable]): raise ValueError(f'argument "divergence" not understood; use a str or a callable function') -def argmin_prevalence(loss, n_classes, method='optim_minimize'): +def argmin_prevalence(loss: Callable, + n_classes: int, + method: Literal["optim_minimize", "linear_search", "ternary_search"]='optim_minimize'): + """ + Searches for the prevalence vector that minimizes a loss function. + + :param loss: callable, the function to minimize + :param n_classes: int, number of classes + :param method: string indicating the search strategy. Possible values are:: + 'optim_minimize': uses scipy.optim + 'linear_search': carries out a linear search for binary problems in the space [0, 0.01, 0.02, ..., 1] + 'ternary_search': implements the ternary search (not yet implemented) + :return: np.ndarray, a prevalence vector + """ if method == 'optim_minimize': return optim_minimize(loss, n_classes) elif method == 'linear_search': @@ -335,7 +358,7 @@ def argmin_prevalence(loss, n_classes, method='optim_minimize'): raise NotImplementedError() -def optim_minimize(loss, n_classes): +def optim_minimize(loss: Callable, n_classes: int): """ Searches for the optimal prevalence values, i.e., an `n_classes`-dimensional vector of the (`n_classes`-1)-simplex that yields the smallest lost. This optimization is carried out by means of a constrained search using scipy's @@ -357,7 +380,7 @@ def optim_minimize(loss, n_classes): return r.x -def linear_search(loss, n_classes): +def linear_search(loss: Callable, n_classes: int): """ Performs a linear search for the best prevalence value in binary problems. The search is carried out by exploring the range [0,1] stepping by 0.01. This search is inefficient, and is added only for completeness (some of the @@ -370,7 +393,7 @@ def linear_search(loss, n_classes): assert n_classes==2, 'linear search is only available for binary problems' prev_selected, min_score = None, None - for prev in prevalence_linspace(n_prevalences=100, repeats=1, smooth_limits_epsilon=0.0): + for prev in prevalence_linspace(grid_points=100, repeats=1, smooth_limits_epsilon=0.0): score = loss(np.asarray([1 - prev, prev])) if min_score is None or score < min_score: prev_selected, min_score = prev, score @@ -378,7 +401,7 @@ def linear_search(loss, n_classes): return np.asarray([1 - prev_selected, prev_selected]) -def _project_onto_probability_simplex(v: np.ndarray) -> np.ndarray: +def map_onto_probability_simplex(unnormalized_arr: ArrayLike) -> np.ndarray: """Projects a point onto the probability simplex. The code is adapted from Mathieu Blondel's BSD-licensed @@ -389,85 +412,88 @@ def _project_onto_probability_simplex(v: np.ndarray) -> np.ndarray: Large-scale Multiclass Support Vector Machine Training via Euclidean Projection onto the Simplex, ICPR 2014, `URL <http://www.mblondel.org/publications/mblondel-icpr2014.pdf>`_ - :param v: point in n-dimensional space, shape `(n,)` + :param unnormalized_arr: point in n-dimensional space, shape `(n,)` :return: projection of `v` onto (n-1)-dimensional probability simplex, shape `(n,)` """ - v = np.asarray(v) - n = len(v) + unnormalized_arr = np.asarray(unnormalized_arr) + n = len(unnormalized_arr) # Sort the values in the descending order - u = np.sort(v)[::-1] + u = np.sort(unnormalized_arr)[::-1] cssv = np.cumsum(u) - 1.0 ind = np.arange(1, n + 1) cond = u - cssv / ind > 0 rho = ind[cond][-1] theta = cssv[cond][-1] / float(rho) - return np.maximum(v - theta, 0) + return np.maximum(unnormalized_arr - theta, 0) - -def clip_prevalence(p: np.ndarray, method: Literal[None, "none", "clip", "project"]) -> np.ndarray: +def clip_prevalence(prevalences: ArrayLike, method: Literal[None, "none", "clip", "project"]) -> np.ndarray: """ - Clips the proportions vector `p` so that it is a valid probability distribution. + Clips the proportions vector `prevalences` so that it is a valid probability distribution, i.e., all values + are in [0,1] and sum up to 1. - :param p: the proportions vector to be clipped, shape `(n_classes,)` - :param method: the method to use for normalization. + :param prevalences: array-like, the proportions vector to be clipped, shape `(n_classes,)` + :param method: indicates the method to be used for normalization. If `None` or `"none"`, no normalization is performed. If `"clip"`, the values are clipped to the range [0,1] and normalized, so they sum up to 1. If `"project"`, the values are projected onto the probability simplex. :return: the normalized prevalence vector, shape `(n_classes,)` """ - if method is None or method == "none": - return p + prevalences = np.asarray(prevalences) + if method in [None, "none"]: + return prevalences elif method == "clip": - adjusted = np.clip(p, 0, 1) - return adjusted / adjusted.sum() + clipped = np.clip(prevalences, 0, 1) + adjusted = clipped / clipped.sum() + return adjusted elif method == "project": - return _project_onto_probability_simplex(p) + return map_onto_probability_simplex(prevalences) else: - raise ValueError(f"Method {method} not known.") + raise ValueError(f'Unknown method {method}. Valid ones are "none", "clip", or "project"') def solve_adjustment( - p_c_y: np.ndarray, + p_c_cond_y: np.ndarray, p_c: np.ndarray, method: Literal["inversion", "invariant-ratio"], - solver: Literal["exact", "minimize", "exact-raise", "exact-cc"], -) -> np.ndarray: + solver: Literal["exact", "minimize", "exact-raise", "exact-cc"]) -> np.ndarray: """ - Function finding the prevalence vector by adjusting - the classifier predictions. + Function that tries to solve for the equation :math:`P(C)=P(C|Y)P(Y)`, where :math:`P(C)` is the vector of + prevalence values obtained by a classify and count, and :math:`P(C|Y)` are the class-conditional misclassification + rates of the classifier. - :param p_c_y: array of shape `(n_classes, n_classes,)` with entry `(c,y)` being the estimate - of :math:`P(C=c|Y=y)`, that is, the probability that an instance that belongs to class :math:`y` - ends up being classified as belonging to class :math:`c` - :param p_c: classifier predictions, where the entry `c` is the estimate of :math:`P(C=c)`. Shape `(n_classes,)` - :param method: adjustment method to be used: - 'inversion': matrix inversion method based on the matrix equality :math:`P(C)=P(C|Y)P(Y)`, - which tries to invert `P(C|Y)` matrix. - 'invariant-ratio': invariant ratio estimator of `Vaz et al. <https://jmlr.org/papers/v20/18-456.html>`_, - which replaces the last equation with the normalization condition. - :param solver: the method to use for solving the system of linear equations. Valid options are: - 'exact-raise': tries to solve the system using matrix inversion. Raises an error if the matrix has - rank strictly less than `n_classes`. - 'exact-cc': if the matrix is not of full rank, returns `p_c` as the estimates, which corresponds - to no adjustment (i.e., the classify and count method. See :class:`quapy.method.aggregative.CC`) - 'exact': deprecated, defaults to 'exact-cc' - 'minimize': minimizes a loss, so the solution always exists + :param p_c_cond_y: array of shape `(n_classes, n_classes,)` with entry `(c,y)` being the estimate + of :math:`P(C=c|Y=y)`, that is, the probability that an instance that belongs to class :math:`y` + ends up being classified as belonging to class :math:`c` + + :param p_c: array of shape `(n_classes,)` containing the prevalence values as estimated by classify and count + + :param str method: indicates the adjustment method to be used. Valid options are: + + * 'inversion': tries to solve the equation :math:`P(C)=P(C|Y)P(Y)` as :math:`P(Y) = P(C|Y)^{-1} P(C)` where :math:`P(C|Y)^{-1}` is the matrix inversion of :math:`P(C|Y)`. This inversion may not exist in degenerated cases + * 'invariant-ratio': invariant ratio estimator of `Vaz et al. 2018 <https://jmlr.org/papers/v20/18-456.html>`_, which replaces the last equation with the normalization condition. + + :param str solver: the method to use for solving the system of linear equations. Valid options are: + + * 'exact-raise': tries to solve the system using matrix inversion. Raises an error if the matrix has rank strictly less than `n_classes`. + * 'exact-cc': if the matrix is not of full rank, returns `p_c` as the estimates, which corresponds to no adjustment (i.e., the classify and count method. See :class:`quapy.method.aggregative.CC`) + * 'exact': deprecated, defaults to 'exact-cc' + * 'minimize': minimizes a loss, so the solution always exists """ if solver == "exact": - warnings.warn("The 'exact' solver is deprecated. Use 'exact-raise' or 'exact-cc'", DeprecationWarning, stacklevel=2) + warnings.warn( + "The 'exact' solver is deprecated. Use 'exact-raise' or 'exact-cc'", DeprecationWarning, stacklevel=2) solver = "exact-cc" - A = np.array(p_c_y, dtype=float) - B = np.array(p_c, dtype=float) + A = np.asarray(p_c_cond_y, dtype=float) + B = np.asarray(p_c, dtype=float) if method == "inversion": pass # We leave A and B unchanged elif method == "invariant-ratio": - # Change the last equation to replace - # it with the normalization condition + # Change the last equation to replace it with the normalization condition A[-1, :] = 1.0 B[-1] = 1.0 else: diff --git a/quapy/method/aggregative.py b/quapy/method/aggregative.py index 3b44491..bba0c15 100644 --- a/quapy/method/aggregative.py +++ b/quapy/method/aggregative.py @@ -352,103 +352,6 @@ class CC(AggregativeCrispQuantifier): return F.prevalence_from_labels(classif_predictions, self.classes_) -class ACC(AggregativeCrispQuantifier): - """ - `Adjusted Classify & Count <https://link.springer.com/article/10.1007/s10618-008-0097-y>`_, - the "adjusted" variant of :class:`CC`, that corrects the predictions of CC - according to the `misclassification rates`. - - :param classifier: a sklearn's Estimator that generates a classifier - :param val_split: specifies the data used for generating classifier predictions. This specification - can be made as float in (0, 1) indicating the proportion of stratified held-out validation set to - be extracted from the training set; or as an integer (default 5), indicating that the predictions - are to be generated in a `k`-fold cross-validation manner (with this integer indicating the value - for `k`); or as a collection defining the specific set of data to use for validation. - Alternatively, this set can be specified at fit time by indicating the exact set of data - on which the predictions are to be generated. - :param n_jobs: number of parallel workers - :param method: adjustment method to be used: - 'inversion': matrix inversion method based on the matrix equality :math:`P(C)=P(C|Y)P(Y)`, - which tries to invert `P(C|Y)` matrix. - 'invariant-ratio': invariant ratio estimator of `Vaz et al. <https://jmlr.org/papers/v20/18-456.html>`_, - which replaces the last equation with the normalization condition. - :param solver: the method to use for solving the system of linear equations. Valid options are: - 'exact-raise': tries to solve the system using matrix inversion. Raises an error if the matrix has - rank strictly less than `n_classes`. - 'exact-cc': if the matrix is not of full rank, returns `p_c` as the estimates, which corresponds - to no adjustment (i.e., the classify and count method. See :class:`quapy.method.aggregative.CC`) - 'exact': deprecated, defaults to 'exact-cc' - 'minimize': minimizes the L2 norm of :math:`|Ax-B|`. This one generally works better, and is the default parameter. - More details about this can be consulted in `Bunse, M. "On Multi-Class Extensions of Adjusted Classify and - Count", on proceedings of the 2nd International Workshop on Learning to Quantify: Methods and Applications - (LQ 2022), ECML/PKDD 2022, Grenoble (France) <https://lq-2022.github.io/proceedings/CompleteVolume.pdf>`_. - :param clipping: the method to use for normalization. - If `None` or `"none"`, no normalization is performed. - If `"clip"`, the values are clipped to the range [0,1] and normalized, so they sum up to 1. - If `"project"`, the values are projected onto the probability simplex. - """ - - def __init__( - self, - classifier: BaseEstimator, - val_split=5, - n_jobs=None, - solver: Literal['minimize', 'exact', 'exact-raise', 'exact-cc'] = 'minimize', - method: Literal['inversion', 'invariant-ratio'] = 'inversion', - clipping: Literal['clip', 'none', 'project'] = 'clip', - ) -> None: - self.classifier = classifier - self.val_split = val_split - self.n_jobs = qp._get_njobs(n_jobs) - self.solver = solver - self.method = method - self.clipping = clipping - - def _check_init_parameters(self): - if self.solver not in ['exact', 'minimize', 'exact-raise', 'exact-cc']: - raise ValueError("unknown solver; valid ones are 'exact', 'minimize', 'exact-raise', 'exact-cc'") - if self.method not in ['inversion', 'invariant-ratio']: - raise ValueError("unknown method; valid ones are 'inversion', 'invariant-ratio'") - if self.clipping not in ['clip', 'none', 'project', None]: - raise ValueError("unknown clipping; valid ones are 'clip', 'none', 'project' or None") - - def aggregation_fit(self, classif_predictions: LabelledCollection, data: LabelledCollection): - """ - Estimates the misclassification rates. - - :param classif_predictions: a :class:`quapy.data.base.LabelledCollection` containing, - as instances, the label predictions issued by the classifier and, as labels, the true labels - :param data: a :class:`quapy.data.base.LabelledCollection` consisting of the training data - """ - pred_labels, true_labels = classif_predictions.Xy - self.cc = CC(self.classifier) - self.Pte_cond_estim_ = self.getPteCondEstim(self.classifier.classes_, true_labels, pred_labels) - - @classmethod - def getPteCondEstim(cls, classes, y, y_): - # estimate the matrix with entry (i,j) being the estimate of P(hat_yi|yj), that is, the probability that a - # document that belongs to yj ends up being classified as belonging to yi - conf = confusion_matrix(y, y_, labels=classes).T - conf = conf.astype(float) - class_counts = conf.sum(axis=0) - for i, _ in enumerate(classes): - if class_counts[i] == 0: - conf[i, i] = 1 - else: - conf[:, i] /= class_counts[i] - return conf - - def aggregate(self, classif_predictions): - prevs_estim = self.cc.aggregate(classif_predictions) - estimate = F.solve_adjustment( - p_c_y=self.Pte_cond_estim_, - p_c=prevs_estim, - solver=self.solver, - method=self.method, - ) - return F.clip_prevalence(estimate, method=self.clipping) - - class PCC(AggregativeSoftQuantifier): """ `Probabilistic Classify & Count <https://ieeexplore.ieee.org/abstract/document/5694031>`_, @@ -473,49 +376,178 @@ class PCC(AggregativeSoftQuantifier): return F.prevalence_from_probabilities(classif_posteriors, binarize=False) +class ACC(AggregativeCrispQuantifier): + """ + `Adjusted Classify & Count <https://link.springer.com/article/10.1007/s10618-008-0097-y>`_, + the "adjusted" variant of :class:`CC`, that corrects the predictions of CC + according to the `misclassification rates`. + + :param classifier: a sklearn's Estimator that generates a classifier + + :param val_split: specifies the data used for generating classifier predictions. This specification + can be made as float in (0, 1) indicating the proportion of stratified held-out validation set to + be extracted from the training set; or as an integer (default 5), indicating that the predictions + are to be generated in a `k`-fold cross-validation manner (with this integer indicating the value + for `k`); or as a collection defining the specific set of data to use for validation. + Alternatively, this set can be specified at fit time by indicating the exact set of data + on which the predictions are to be generated. + + :param str method: adjustment method to be used: + + * 'inversion': matrix inversion method based on the matrix equality :math:`P(C)=P(C|Y)P(Y)`, which tries to invert :math:`P(C|Y)` matrix. + * 'invariant-ratio': invariant ratio estimator of `Vaz et al. 2018 <https://jmlr.org/papers/v20/18-456.html>`_, which replaces the last equation with the normalization condition. + + :param str solver: indicates the method to use for solving the system of linear equations. Valid options are: + + * 'exact-raise': tries to solve the system using matrix inversion. Raises an error if the matrix has rank strictly less than `n_classes`. + * 'exact-cc': if the matrix is not of full rank, returns `p_c` as the estimates, which corresponds to no adjustment (i.e., the classify and count method. See :class:`quapy.method.aggregative.CC`) + * 'exact': deprecated, defaults to 'exact-cc' + * 'minimize': minimizes the L2 norm of :math:`|Ax-B|`. This one generally works better, and is the default parameter. More details about this can be consulted in `Bunse, M. "On Multi-Class Extensions of Adjusted Classify and Count", on proceedings of the 2nd International Workshop on Learning to Quantify: Methods and Applications (LQ 2022), ECML/PKDD 2022, Grenoble (France) <https://lq-2022.github.io/proceedings/CompleteVolume.pdf>`_. + + :param str clipping: the method to use for normalization. + + * If `None` or `"none"`, no normalization is performed. + * If `"clip"`, the values are clipped to the range [0,1] and normalized, so they sum up to 1. + * If `"project"`, the values are projected onto the probability simplex. + + :param n_jobs: number of parallel workers + """ + def __init__( + self, + classifier: BaseEstimator, + val_split=5, + solver: Literal['minimize', 'exact', 'exact-raise', 'exact-cc'] = 'minimize', + method: Literal['inversion', 'invariant-ratio'] = 'inversion', + clipping: Literal['clip', 'none', 'project'] = 'clip', + n_jobs=None, + ): + self.classifier = classifier + self.val_split = val_split + self.n_jobs = qp._get_njobs(n_jobs) + self.solver = solver + self.method = method + self.clipping = clipping + + SOLVERS = ['exact', 'minimize', 'exact-raise', 'exact-cc'] + METHODS = ['inversion', 'invariant-ratio'] + CLIPPING = ['clip', 'none', 'project', None] + + + @classmethod + def newInvariantRatioEstimation(cls, classifier: BaseEstimator, val_split=5, n_jobs=None): + """ + Constructs a quantifier that implements the Invariant Ratio Estimator of + `Vaz et al. 2018 <https://jmlr.org/papers/v20/18-456.html>_`. This amounts + to setting method to 'invariant-ratio' and clipping to 'project'. + + :param classifier: a sklearn's Estimator that generates a classifier + :param val_split: specifies the data used for generating classifier predictions. This specification + can be made as float in (0, 1) indicating the proportion of stratified held-out validation set to + be extracted from the training set; or as an integer (default 5), indicating that the predictions + are to be generated in a `k`-fold cross-validation manner (with this integer indicating the value + for `k`); or as a collection defining the specific set of data to use for validation. + Alternatively, this set can be specified at fit time by indicating the exact set of data + on which the predictions are to be generated. + :param n_jobs: number of parallel workers + :return: an instance of ACC configured so that it implements the Invariant Ratio Estimator + """ + return ACC(classifier, val_split=val_split, method='invariant-ratio', clipping='project', n_jobs=n_jobs) + + def _check_init_parameters(self): + if self.solver not in ACC.SOLVERS: + raise ValueError(f"unknown solver; valid ones are {ACC.SOLVERS}") + if self.method not in ACC.METHODS: + raise ValueError(f"unknown method; valid ones are {ACC.METHODS}") + if self.clipping not in ACC.CLIPPING: + raise ValueError(f"unknown clipping; valid ones are {ACC.CLIPPING}") + + def aggregation_fit(self, classif_predictions: LabelledCollection, data: LabelledCollection): + """ + Estimates the misclassification rates. + + :param classif_predictions: a :class:`quapy.data.base.LabelledCollection` containing, + as instances, the label predictions issued by the classifier and, as labels, the true labels + :param data: a :class:`quapy.data.base.LabelledCollection` consisting of the training data + """ + pred_labels, true_labels = classif_predictions.Xy + self.cc = CC(self.classifier) + self.Pte_cond_estim_ = ACC.getPteCondEstim(self.classifier.classes_, true_labels, pred_labels) + + @classmethod + def getPteCondEstim(cls, classes, y, y_): + """ + Estimate the matrix with entry (i,j) being the estimate of P(hat_yi|yj), that is, the probability that a + document that belongs to yj ends up being classified as belonging to yi + + :param classes: array-like with the class names + :param y: array-like with the true labels + :param y_: array-like with the estimated labels + :return: np.ndarray + """ + conf = confusion_matrix(y, y_, labels=classes).T + conf = conf.astype(float) + class_counts = conf.sum(axis=0) + for i, _ in enumerate(classes): + if class_counts[i] == 0: + conf[i, i] = 1 + else: + conf[:, i] /= class_counts[i] + return conf + + def aggregate(self, classif_predictions): + prevs_estim = self.cc.aggregate(classif_predictions) + estimate = F.solve_adjustment( + p_c_cond_y=self.Pte_cond_estim_, + p_c=prevs_estim, + solver=self.solver, + method=self.method, + ) + return F.clip_prevalence(estimate, method=self.clipping) + + class PACC(AggregativeSoftQuantifier): """ `Probabilistic Adjusted Classify & Count <https://ieeexplore.ieee.org/abstract/document/5694031>`_, the probabilistic variant of ACC that relies on the posterior probabilities returned by a probabilistic classifier. :param classifier: a sklearn's Estimator that generates a classifier + :param val_split: specifies the data used for generating classifier predictions. This specification can be made as float in (0, 1) indicating the proportion of stratified held-out validation set to be extracted from the training set; or as an integer (default 5), indicating that the predictions are to be generated in a `k`-fold cross-validation manner (with this integer indicating the value for `k`). Alternatively, this set can be specified at fit time by indicating the exact set of data on which the predictions are to be generated. - :param n_jobs: number of parallel workers - :param method: adjustment method to be used: - 'inversion': matrix inversion method based on the matrix equality :math:`P(C)=P(C|Y)P(Y)`, - which tries to invert `P(C|Y)` matrix. - 'invariant-ratio': invariant ratio estimator of `Vaz et al. <https://jmlr.org/papers/v20/18-456.html>`_, - which replaces the last equation with the normalization condition. - :param solver: the method to use for solving the system of linear equations. Valid options are: - 'exact-raise': tries to solve the system using matrix inversion. Raises an error if the matrix has - rank strictly less than `n_classes`. - 'exact-cc': if the matrix is not of full rank, returns `p_c` as the estimates, which corresponds - to no adjustment (i.e., the classify and count method. See :class:`quapy.method.aggregative.CC`) - 'exact': deprecated, defaults to 'exact-cc' - 'minimize': minimizes the L2 norm of :math:`|Ax-B|`. This one generally works better, and is the default parameter. - More details about this can be consulted in `Bunse, M. "On Multi-Class Extensions of Adjusted Classify and - Count", on proceedings of the 2nd International Workshop on Learning to Quantify: Methods and Applications - (LQ 2022), ECML/PKDD 2022, Grenoble (France) <https://lq-2022.github.io/proceedings/CompleteVolume.pdf>`_. - :param clipping: the method to use for normalization. - If `None` or `"none"`, no normalization is performed. - If `"clip"`, the values are clipped to the range [0,1] and normalized, so they sum up to 1. - If `"project"`, the values are projected onto the probability simplex. - """ + :param str method: adjustment method to be used: + + * 'inversion': matrix inversion method based on the matrix equality :math:`P(C)=P(C|Y)P(Y)`, which tries to invert `P(C|Y)` matrix. + * 'invariant-ratio': invariant ratio estimator of `Vaz et al. <https://jmlr.org/papers/v20/18-456.html>`_, which replaces the last equation with the normalization condition. + + :param str solver: the method to use for solving the system of linear equations. Valid options are: + + * 'exact-raise': tries to solve the system using matrix inversion. Raises an error if the matrix has rank strictly less than `n_classes`. + * 'exact-cc': if the matrix is not of full rank, returns `p_c` as the estimates, which corresponds to no adjustment (i.e., the classify and count method. See :class:`quapy.method.aggregative.CC`) + * 'exact': deprecated, defaults to 'exact-cc' + * 'minimize': minimizes the L2 norm of :math:`|Ax-B|`. This one generally works better, and is the default parameter. More details about this can be consulted in `Bunse, M. "On Multi-Class Extensions of Adjusted Classify and Count", on proceedings of the 2nd International Workshop on Learning to Quantify: Methods and Applications (LQ 2022), ECML/PKDD 2022, Grenoble (France) <https://lq-2022.github.io/proceedings/CompleteVolume.pdf>`_. + + :param str clipping: the method to use for normalization. + + * If `None` or `"none"`, no normalization is performed. + * If `"clip"`, the values are clipped to the range [0,1] and normalized, so they sum up to 1. + * If `"project"`, the values are projected onto the probability simplex. + + :param n_jobs: number of parallel workers + """ def __init__( self, classifier: BaseEstimator, val_split=5, - n_jobs=None, solver: Literal['minimize', 'exact', 'exact-raise', 'exact-cc'] = 'minimize', method: Literal['inversion', 'invariant-ratio'] = 'inversion', clipping: Literal['clip', 'none', 'project'] = 'clip', - ) -> None: + n_jobs=None, + ): self.classifier = classifier self.val_split = val_split self.n_jobs = qp._get_njobs(n_jobs) @@ -525,12 +557,12 @@ class PACC(AggregativeSoftQuantifier): self.clipping = clipping def _check_init_parameters(self): - if self.solver not in ['exact', 'minimize', 'exact-raise', 'exact-cc']: - raise ValueError("unknown solver; valid ones are 'exact', 'minimize', 'exact-raise', 'exact-cc'") - if self.method not in ['inversion', 'invariant-ratio']: - raise ValueError("unknown method; valid ones are 'inversion', 'invariant-ratio'") - if self.clipping not in ['clip', 'none', 'project', None]: - raise ValueError("unknown clipping; valid ones are 'clip', 'none', 'project' or None") + if self.solver not in ACC.SOLVERS: + raise ValueError(f"unknown solver; valid ones are {ACC.SOLVERS}") + if self.method not in ACC.METHODS: + raise ValueError(f"unknown method; valid ones are {ACC.METHODS}") + if self.clipping not in ACC.CLIPPING: + raise ValueError(f"unknown clipping; valid ones are {ACC.CLIPPING}") def aggregation_fit(self, classif_predictions: LabelledCollection, data: LabelledCollection): """ @@ -542,20 +574,19 @@ class PACC(AggregativeSoftQuantifier): """ posteriors, true_labels = classif_predictions.Xy self.pcc = PCC(self.classifier) - self.Pte_cond_estim_ = self.getPteCondEstim(self.classifier.classes_, true_labels, posteriors) + self.Pte_cond_estim_ = PACC.getPteCondEstim(self.classifier.classes_, true_labels, posteriors) def aggregate(self, classif_posteriors): prevs_estim = self.pcc.aggregate(classif_posteriors) estimate = F.solve_adjustment( - p_c_y=self.Pte_cond_estim_, + p_c_cond_y=self.Pte_cond_estim_, p_c=prevs_estim, solver=self.solver, method=self.method, ) return F.clip_prevalence(estimate, method=self.clipping) - @classmethod def getPteCondEstim(cls, classes, y, y_): # estimate the matrix with entry (i,j) being the estimate of P(hat_yi|yj), that is, the probability that a @@ -906,7 +937,7 @@ class HDy(AggregativeSoftQuantifier, BinaryAggregativeQuantifier): # at small steps (modern implementations resort to an optimization procedure, # see class DistributionMatching) prev_selected, min_dist = None, None - for prev in F.prevalence_linspace(n_prevalences=101, repeats=1, smooth_limits_epsilon=0.0): + for prev in F.prevalence_linspace(grid_points=101, repeats=1, smooth_limits_epsilon=0.0): Px_train = prev * Pxy1_density + (1 - prev) * Pxy0_density hdy = F.HellingerDistance(Px_train, Px_test) if prev_selected is None or hdy < min_dist: