Oracles (skquery.oracle
)¶
This module contains simple oracles that answer the queries made by active clustering algorithms. They can be used either for direct interaction with a user, or for producing automated answers based on a labeling of the data.
- class skquery.oracle.MLCLOracle(budget=10, truth=None)[source]¶
Oracle for pairwise queries.
Parameters¶
- budgetint, default=10
Maximum number of queries the oracle will answer.
- trutharray-like, default=None
Ground truth labeling that emulates a human oracle.
Attributes¶
- queriesint
Number of queries answered by the oracle so far.
- budgetint
Maximum number of queries the oracle will answer.
- trutharray-like, default=None
Ground truth labeling that emulates a human oracle.
- query(i, j)[source]¶
Query the oracle to find out whether two points should be in the same cluster.
Parameters¶
- iint
Index of first data point.
- jint
Index of second data point.
Returns¶
- answerbool
Answer to the query.
Raises¶
- NoAnswerError
If the oracle doesn’t give an answer, i.e. they don’t know what to answer.
- class skquery.oracle.TripletOracle(budget=10, truth=None)[source]¶
Oracle for triplet queries. Inspired from the formalization in [1].
Parameters¶
- budgetint, default=10
Maximum number of queries the oracle will answer.
- trutharray-like, default=None
Ground truth labeling that emulates a human oracle.
Attributes¶
- queriesint
Number of queries answered by the oracle so far.
- budgetint
Maximum number of queries the oracle will answer.
- trutharray-like, default=None
Ground truth labeling that emulates a human oracle.
References¶
[1] Xiong, S., Pei, Y., Rosales, R., Fern, X. Z. Active Learning from Relative Comparisons, IEEE Transactions on Knowledge and Data Engineering, vol. 27, nᵒ 12, p. 3166‑3175, dec. 2015, doi: 10.1109/TKDE.2015.2462365.
- query(i, j, k)[source]¶
Query the oracle on the relation between a triplet of points.
Parameters¶
- iint
Index of first data point, the reference.
- jint
Index of second data point, the assumed positive example.
- kint
Index of third data point, the assumed negative example.
Returns¶
- answerbool
Answer to the query.
Raises¶
- NoAnswerError
If the oracle doesn’t give an answer, i.e. they don’t know what to answer.