seg1d.algorithm.cluster¶
-
seg1d.algorithm.
cluster
(segGroups, segAdder=0.5, nClust=2)[source]¶ Clustering
Clusters segments based on correlation values
Parameters: - segGroupsn x 3 array
[ [ start index, end index, correlation ] ]
- segAdderfloat, optional
0.0 to 1.0 or None If not None, the value that is added to the cluster groups to force a correlation cluster of the highest values
Returns: - n x 3 array
[start segment, end segment, correlation score of segment]
Other Parameters: - nClustint, optional
number of clusters to group data in (Default 2)
If
nClust=0
, returns segGroups
Warns: - Segment Adder value was included in final cluster.
This may mean cluster is poorly defined or Adder is too high. It is removed before being returned. However, it may be a sign of poor clustering settings as the intention of the segment adder is to force clustering of highly similar segments by creating a lower group (therefore, it should not be in the high cluster group).
See also
uniques
- (input for this function)
Examples
>>> import numpy as np >>> import seg1d.algorithm as alg
>>> x = [[7, 17, 0.90], [20, 40, 0.88], [40, 65, 0.8], [50, 65, 0.70]] >>> alg.cluster(x) [[7, 17, 0.9], [20, 40, 0.88], [40, 65, 0.8], [50, 65, 0.7]] >>> alg.cluster(x,segAdder=None) [[7, 17, 0.9], [20, 40, 0.88], [40, 65, 0.8]] >>> alg.cluster(x,segAdder=0.85) [[7, 17, 0.9], [20, 40, 0.88], [40, 65, 0.8]]
Note: This should raise the following warning:
- UserWarning: Segment Adder value was included in final cluster.
- This may mean cluster is poorly defined or Adder is too high.
>>> alg.cluster(x,nClust=3) [[7, 17, 0.9], [20, 40, 0.88], [40, 65, 0.8]] >>> alg.cluster(x,segAdder=None,nClust=3) [[7, 17, 0.9], [20, 40, 0.88]]