scipy.spatial.distance.

is_valid_dm#

scipy.spatial.distance.is_valid_dm(D, tol=0.0, throw=False, name='D', warning=False)[Quelle]#

Gibt True zurück, wenn das Eingabearray eine gültige Distanzmatrix ist.

Distanzmatrizen müssen zweidimensionale Numpy-Arrays sein. Sie müssen eine Nulldiagonale haben und symmetrisch sein.

Parameter:
Darray_like

Das zu prüfende Kandidatenobjekt auf Gültigkeit.

tolfloat, optional

Die Distanzmatrix sollte symmetrisch sein. tol ist die maximale Differenz zwischen den Einträgen ij und ji, damit die Distanzmetrik als symmetrisch gilt.

throwbool, optional

Es wird eine Ausnahme ausgelöst, wenn die übergebene Distanzmatrix ungültig ist.

namestr, optional

Der Name der zu prüfenden Variable. Dies ist nützlich, wenn throw auf True gesetzt ist, damit die fehlerhafte Variable in der Ausnahmemeldung identifiziert werden kann, wenn eine Ausnahme ausgelöst wird.

warningbool, optional

Anstatt eine Ausnahme auszulösen, wird eine Warnmeldung ausgegeben.

Rückgabe:
gültigbool

True, wenn die Variable D eine gültige Distanzmatrix ist.

Hinweise

Kleine numerische Unterschiede in D und D.T und Nicht-Null-Werte der Diagonalen werden ignoriert, wenn sie innerhalb der durch tol angegebenen Toleranz liegen.

Beispiele

>>> import numpy as np
>>> from scipy.spatial.distance import is_valid_dm

Diese Matrix ist eine gültige Distanzmatrix.

>>> d = np.array([[0.0, 1.1, 1.2, 1.3],
...               [1.1, 0.0, 1.0, 1.4],
...               [1.2, 1.0, 0.0, 1.5],
...               [1.3, 1.4, 1.5, 0.0]])
>>> is_valid_dm(d)
True

In den folgenden Beispielen ist die Eingabe keine gültige Distanzmatrix.

Nicht quadratisch

>>> is_valid_dm([[0, 2, 2], [2, 0, 2]])
False

Nicht-Null-Diagonalelement

>>> is_valid_dm([[0, 1, 1], [1, 2, 3], [1, 3, 0]])
False

Nicht symmetrisch

>>> is_valid_dm([[0, 1, 3], [2, 0, 1], [3, 1, 0]])
False