@Reference(authors="Elke Achtert, Sascha Goldhofer, Hans-Peter Kriegel, Erich Schubert, Arthur Zimek", title="Evaluation of Clusterings - Metrics and Visual Support", booktitle="Proc. 28th International Conference on Data Engineering (ICDE 2012)", url="https://doi.org/10.1109/ICDE.2012.128", bibkey="DBLP:conf/icde/AchtertGKSZ12") public class Segments extends BasicResult implements java.lang.Iterable<Segment>
Segments are the equally paired database objects of all given (2+) clusterings. Given a contingency table, an object Segment represents the table's cells where an intersection of classes and labels are given. Pair Segments are created by converting an object Segment into its pair representation. Converting all object Segments into pair Segments results in a larger number of pair Segments, if any fragmentation (no perfect match of clusters) within the contingency table has occurred (multiple cells on one row or column). Thus for ever object Segment exists a corresponding pair Segment. Additionally pair Segments represent pairs that are only in one Clustering which occurs for each split of a clusterings cluster by another clustering. Here, these pair Segments are referenced as fragmented Segments. Within the visualization they describe (at least two) pair Segments that have a corresponding object Segment.
Reference:
Elke Achtert, Sascha Goldhofer, Hans-Peter Kriegel, Erich Schubert,
Arthur Zimek
Evaluation of Clusterings – Metrics and Visual Support
Proc. 28th International Conference on Data Engineering (ICDE 2012)
Modifier and Type | Field and Description |
---|---|
private long |
actualPairs
Pairs actually present in the data set
|
private java.util.List<Clustering<?>> |
clusterings
Clusterings
|
private int |
clusteringsCount
Number of clusterings in comparison
|
private java.util.List<java.util.List<? extends Cluster<?>>> |
clusters
Clusters
|
private static Logging |
LOG
Class logger
|
private int[] |
numclusters
Number of Clusters for each clustering
|
private java.util.TreeMap<Segment,Segment> |
segments
The actual segments
|
private int |
totalObjects
Total number of objects
|
Constructor and Description |
---|
Segments(java.util.List<Clustering<?>> clusterings)
Initialize segments.
|
Modifier and Type | Method and Description |
---|---|
java.lang.String |
getClusteringDescription(int clusteringID)
Get the description of the nth clustering.
|
int |
getClusterings()
Get the number of clusterings
|
int |
getHighestClusterCount()
Returns the highest number of Clusters in the clusterings
|
long |
getPairCount(boolean withUnclusteredPairs)
Get total number of pairs with or without the unclustered pairs.
|
java.util.List<Segment> |
getPairedSegments(Segment unpairedSegment)
Return to a given segment with unpaired objects, the corresponding segments
that result in an unpaired segment.
|
int |
getTotalClusterCount()
Return the sum of all clusters
|
java.util.Iterator<Segment> |
iterator() |
private void |
makeOrUpdateSegment(int[] path,
DBIDs ids,
int pairsize) |
private void |
recursivelyFill(java.util.List<java.util.List<? extends Cluster<?>>> cs) |
private void |
recursivelyFill(java.util.List<java.util.List<? extends Cluster<?>>> cs,
int depth,
SetDBIDs first,
SetDBIDs second,
int[] path,
boolean objectsegment) |
int |
size()
Get the number of segments
|
Segment |
unifySegment(Segment temp) |
getLongName, getShortName
addChildResult, getHierarchy, setHierarchy
private static final Logging LOG
private java.util.List<Clustering<?>> clusterings
private java.util.List<java.util.List<? extends Cluster<?>>> clusters
private int clusteringsCount
private int[] numclusters
private int totalObjects
private long actualPairs
public Segments(java.util.List<Clustering<?>> clusterings)
clusterings
- List of clusterings in comparisonprivate void recursivelyFill(java.util.List<java.util.List<? extends Cluster<?>>> cs)
private void recursivelyFill(java.util.List<java.util.List<? extends Cluster<?>>> cs, int depth, SetDBIDs first, SetDBIDs second, int[] path, boolean objectsegment)
private void makeOrUpdateSegment(int[] path, DBIDs ids, int pairsize)
public java.lang.String getClusteringDescription(int clusteringID)
clusteringID
- Clustering numberpublic java.util.List<Segment> getPairedSegments(Segment unpairedSegment)
unpairedSegment
- public Segment unifySegment(Segment temp)
temp
- Temporary segment to be unifiedpublic int size()
public long getPairCount(boolean withUnclusteredPairs)
withUnclusteredPairs
- if false, segment with unclustered pairs is
removedpublic int getClusterings()
public int getTotalClusterCount()
public int getHighestClusterCount()
Copyright © 2019 ELKI Development Team. License information.