-
Notifications
You must be signed in to change notification settings - Fork 0
Metrics likelihoodratios compute
Development build. This page describes
main, not a released package. The latest published Lodestar.Metrics is 0.3.0 — read its documentation.
Both class likelihood ratios — sklearn.metrics.class_likelihood_ratios.
public static LikelihoodRatios Compute(ReadOnlySpan<int> yTrue, ReadOnlySpan<int> yPred, int posLabel = 1, double undefinedPositive = NaN, double undefinedNegative = NaN, ReadOnlySpan<double> sampleWeight = default)Parameters — yTrue and yPred are the true and predicted labels, of the same length, over at
most two distinct values. posLabel is the label counted as positive, 1 by default.
undefinedPositive and undefinedNegative are what each ratio answers when it has no value; the
defaults reproduce replace_undefined_by=nan. sampleWeight is one weight per sample, or empty.
Returns — a LikelihoodRatios carrying Positive and Negative.
Exceptions — ArgumentException when the inputs disagree in length, are empty, the weights do
not match, or more than two distinct labels occur — with the reference's own sentence,
"class_likelihood_ratios only supports binary classification problems."
Example — six samples, half of them positive.
using Lodestar.Metrics;
int[] truth = [0, 1, 1, 0, 1, 0];
int[] predicted = [0, 1, 0, 0, 1, 1];
LikelihoodRatios ratios = LikelihoodRatios.Compute(truth, predicted);
double positive = ratios.Positive; // => 1.9999…A positive prediction doubles the odds; the negative ratio on the same input is 0.5, so a negative
prediction halves them.
Remarks — two parameters where the reference has one. replace_undefined_by takes either a
scalar or a mapping of {"LR+": …, "LR-": …}, a union C# has no equivalent of; passing the same
value to both reproduces the scalar form and passing different ones reproduces the mapping.
Neither substitution applies when the truth carries no positive sample: there is no sensitivity
to build either ratio from, and the reference returns nan whatever was asked for.
The type page has the table of all four undefined shapes.
Applies to — net10.0, netstandard2.0.
See also — Precision.Score, Recall.Score,
ConfusionMatrix.Compute, the
Python equivalence table.
- 0001-target-framework
- 0002-unicode-comparison-unit
- 0003-provenance-and-licensing
- 0004-levenshtein-myers-backlog
- 0005-hamming-jellyfish-divergence
- 0006-ratcliff-autojunk
- 0007-metaphone-scope
- 0008-italian-enza-nltk-divergence
- 0009-sample-consumes-a-local-feed
- 0010-stop-word-list-provenance
- 0011-persistence-format
- 0012-per-package-versioning
- 0013-sentencepiece-parity-scope
- 0014-precompiled-normalizer
- 0015-sonar-rules-in-the-build
- 0016-metrics-package-placement
- 0017-bpe-parity-scope
- 0018-multiclass-roc-auc-parallelism-is-opt-in
- 0019-the-net-analysers-run-in-the-build-too
- 0020-normalize-is-a-projection-not-a-parameter
- 0021-multioutput-is-a-method-not-an-enum
- 0022-added-token-matching-flags
- 0023-byte-level-decode-substitutes
- 0024-weighted-median-averages-within-scikit-learns-epsilon
- 0025-quickselect-replaces-a-full-sort-for-the-median
- 0026-r2-and-explainedvariance-split-their-undefined-cases-differently
- 0027-r2-and-explainedvariance-vectorize-only-a-single-output
- 0028-log1p-is-kahans-identity-not-math-log-1-plus-x
- 0029-balanced-accuracy-adjusted-is-left-to-ieee-754-at-the-edge
- 0030-cohen-kappa-keeps-scikit-learns-expected-matrix-orientation
- 0031-nosamplecorrect-mirrors-numpys-float64-upcast
- 0032-fbeta-substitutes-tp-predicted-and-support-algebraically
- 0033-compensated-sum-is-neumaiers-variant
- 0034-dropout-is-refused-for-want-of-a-user
- 0035-a-null-pre-split-is-removed-with-invert-not-isolated
- 0036-a-member-may-ship-without-an-oracle-if-it-says-so
- 0037-the-guards-run-before-the-commit
- 0038-the-gate-confronts-an-exception-tag-with-the-page-that-documents-it
- 0039-mutual-information-returns-zero-on-an-empty-input
- 0040-a-curve-is-a-sealed-class-per-curve
- 0041-one-sample-file-per-public-class
- 0042-phonetic-encoders-refuse-a-null-word
- 0043-the-equality-table-is-sized-to-the-pattern
- 0044-compression-belongs-to-the-caller
- 0045-a-console-call-carries-its-reason-on-the-line
- 0046-check-adr-immutable-runs-in-ci-only
- 0047-one-gate-per-kernel-not-one-per-alphabet
- 0048-the-gate-depends-on-the-kernel-and-the-alphabet
- 0049-two-gates-per-kernel-tested-where-the-width-is-known
- 0050-the-sentencepiece-bpe-lineage-stays-a-bpe-model
- benchmark_latest
- decisions
- equivalence
- matplotlib
- migration
- nightly_run
- numpy
- pandas
- performance
- pytorch
- seaborn
- sklearn
- statsmodels