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
ijundji, 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