skbio.stats.distance.SymmetricMatrix.from_iterable#
- classmethod SymmetricMatrix.from_iterable(iterable, metric, key=None, keys=None, validate=True, condensed=False)[source]#
Create a symmetric matrix from an iterable given a metric.
- Parameters:
- iterableiterable
Objects to compute pairwise relationships on.
- metriccallable
A function that takes two arguments and returns a float representing the relationship between the two objects.
- keycallable or str, optional
A function that takes one argument and returns a string representing the ID of the object. Alternatively, a key to the
metadataproperty if exists for each object in theiterable. If None, the default IDs will be used.- keysiterable of str, optional
IDs of the objects. Must be the same length as
iterable.- validateboolean, optional
If True, all pairwise relationships are computed, including upper and lower triangles and the diagonal. If False,
metricis assumed to be symmetric and only the lower triangle (excluding the diagonal) is computed, thereby saving compute.- diagonal1-D array_like or float, optional
Fill the matrix diagonal with this number or vector when
validateis False. Default is zero.- condensedbool, optional
Store the data in a 2-D redundant form (False, default) or a 1-D condensed form (True).
- Returns:
- PairwiseMatrix
The
metricapplied to all pairwise elements in theiterable.
- Raises:
- ValueError
If
keyandkeysare both provided.