-
Notifications
You must be signed in to change notification settings - Fork 0
Metrics calinskiharabasz
The variance ratio criterion: how far the clusters sit from each other, against how spread they are inside, each corrected for the degrees of freedom it uses. Higher is better, and there is no upper bound — which is what makes it a way to compare clusterings of one dataset rather than a quality you can read on its own.
Where the five agreement metrics compare a clustering against a reference partition, this and
DaviesBouldin score it against nothing but the samples. That is what makes them
useful for choosing how many clusters to ask for, and it is why they take a feature matrix where the
others take two label vectors.
Silhouette offers ScoreFromDistances for a
caller who has a distance matrix and wants another metric than the euclidean. Neither of these two
can: both read the mean position of each cluster, and a distance matrix does not carry one. A reader
arriving from silhouette_score(metric='precomputed') will look for the equivalent and there is
none — the reference has none either.
Clusters with no spread at all score 1, not an infinity: the reference tests the within-cluster
dispersion against exact zero and returns 1 rather than dividing. Measured, four identical points
split into two clusters score 1, and so do two distinct points each duplicated into a cluster of
its own — the second is a perfect clustering and reads the same as the degenerate one, which is the
number's own limit rather than something this library chose.
Neither this nor DaviesBouldin ever returns a non-finite value on an input the reference
accepts. That was worth measuring rather than assuming, because no other metric in this package
answers with an infinity or a NaN and one that did would be a surprise.
| Member | What it does |
|---|---|
CalinskiHarabasz.Score |
The between-cluster dispersion over the within-cluster one. |
- 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