-
Notifications
You must be signed in to change notification settings - Fork 0
Metrics tweediedeviance
Development build. This page describes
main, not a released package. The latest published Lodestar.Metrics is 0.3.0 — read its documentation.
The deviance of a generalised linear model, which is what a squared error becomes when the target is
not normally distributed. One type with a power, because the reference is one function with a
power: the Poisson and the gamma deviances are this at 1 and 2, and
PoissonDeviance and GammaDeviance exist only so a
caller need not know that.
The deviance's formula and the inputs it will accept both change with the power. This is the whole content of the family, and every boundary below is measured against scikit-learn 1.9.0 rather than inferred:
power |
distribution | yTrue |
yPred |
|---|---|---|---|
below 0
|
stable, positive support | any real | strictly positive |
0 |
normal — the squared error | any real | any real |
(0, 1) |
none — refused | — | — |
1 |
Poisson | non-negative | strictly positive |
(1, 2) |
compound Poisson-gamma | non-negative | strictly positive |
2 |
gamma | strictly positive | strictly positive |
above 2
|
inverse gaussian and beyond | strictly positive | strictly positive |
There is no distribution between the normal and the Poisson. A power in the open interval
(0, 1) is refused with ArgumentOutOfRangeException, where scikit-learn raises
InvalidParameterError saying the parameter "must be a float in the range (-inf, 0.0] or a float in
the range [1.0, inf)". Everything else in the table is an ArgumentException carrying scikit-learn's
own sentence.
The one boundary worth remembering: a zero truth is legal from 1 up to but not including 2,
and illegal from 2 on. Measured, y_true = [0, 2, 3] against y_pred = [1, 2, 3] scores
0.6666… at power 1 and 1.3333… at power 1.5, and is refused at power 2.
Not approximately — the same number. That regime's deviance is (y − ŷ)², so
TweedieDeviance.Score at the default power and
MeanSquaredError.Score agree, and so do
D2Tweedie and R2. It is worth knowing which of the two you are reading
in a table.
| Member | What it does |
|---|---|
TweedieDeviance.Score |
The mean deviance at the given power. |
- 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