infomat.algorithms.grouping
Class RelativeClusterer

java.lang.Object
  extended by infomat.algorithms.grouping.GroupingAlgorithm
      extended by infomat.algorithms.grouping.RelativeClusterer
All Implemented Interfaces:
NeedsIMatrix, NeedsIMatrixDimension, NeedsOtherIObjectGrouping, NeedsSparseISimilarity, HasProperties, UniqueIdentifiable

public class RelativeClusterer
extends GroupingAlgorithm
implements NeedsIMatrix, NeedsSparseISimilarity, NeedsIMatrixDimension, NeedsOtherIObjectGrouping

The similarity should be the one for the other dimension! The other IObjectGrouping should be along the other dimension.


Field Summary
private  IMatrix matrix
           
(package private)  IObjectGrouping otherIObjectGrouping
           
private static int relativeClusteringNumber
           
private  boolean row
           
private  SparseISimilarity similarity
           
 
Fields inherited from class infomat.algorithms.grouping.GroupingAlgorithm
identifier, printGroupSizesInIterations, properties
 
Constructor Summary
RelativeClusterer()
           
 
Method Summary
 IObjectGrouping cluster(IObjectGroup iogroup)
          The algorithm clusters the opposite dimension specified in the ISimilarity.
 java.lang.String getAlgorithmName()
           
 Properties getDefaultProperties()
           
 IMatrix getIMatrix()
          Returns the actual IMatrix.
 boolean getIMatrixDimension()
          Returns a boolean that indicates wether the algorithm should consider rows or columns of a matrix.
 java.lang.String getInfoString()
           
 Properties getProperties()
           
 java.lang.Object getPropertyValue(java.lang.String name)
           
 java.util.Vector getPropertyVector()
           
 UniqueIdentifier getUniqueIdentifier()
           
private  IObjectGrouping makeWeightGroupingRelativeGroupingOfOtherSet(IObjectGroup iogroup, IObjectGrouping grouping, ISimilarity similarity)
           
 void setIMatrix(IMatrix matrix)
          Sets the IMatrix.
 void setIMatrixDimension(boolean row)
          Sets a boolean that indicates wether the algorithm should consider rows or columns of a matrix.
 void setOtherIObjectGrouping(IObjectGrouping grouping)
           
 void setProperties(Properties properties)
           
 void setProperty(java.lang.String name, java.lang.Object value)
           
 void setSimilarity(SparseISimilarity similarity)
          The similarity should be the one for the other dimension!
 void setUniqueIdentifier(UniqueIdentifier uniqueIdentifier)
           
 
Methods inherited from class infomat.algorithms.grouping.GroupingAlgorithm
printGroup, printGroupSizes
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

relativeClusteringNumber

private static int relativeClusteringNumber

similarity

private SparseISimilarity similarity

matrix

private IMatrix matrix

row

private boolean row

otherIObjectGrouping

IObjectGrouping otherIObjectGrouping
Constructor Detail

RelativeClusterer

public RelativeClusterer()
Method Detail

getDefaultProperties

public Properties getDefaultProperties()
Specified by:
getDefaultProperties in interface HasProperties

cluster

public IObjectGrouping cluster(IObjectGroup iogroup)
The algorithm clusters the opposite dimension specified in the ISimilarity.

Specified by:
cluster in class GroupingAlgorithm

makeWeightGroupingRelativeGroupingOfOtherSet

private IObjectGrouping makeWeightGroupingRelativeGroupingOfOtherSet(IObjectGroup iogroup,
                                                                     IObjectGrouping grouping,
                                                                     ISimilarity similarity)

setSimilarity

public void setSimilarity(SparseISimilarity similarity)
The similarity should be the one for the other dimension!

Specified by:
setSimilarity in interface NeedsSparseISimilarity

getInfoString

public java.lang.String getInfoString()
Specified by:
getInfoString in class GroupingAlgorithm

getAlgorithmName

public java.lang.String getAlgorithmName()
Specified by:
getAlgorithmName in class GroupingAlgorithm

getPropertyVector

public java.util.Vector getPropertyVector()
Specified by:
getPropertyVector in class GroupingAlgorithm

getPropertyValue

public java.lang.Object getPropertyValue(java.lang.String name)
Specified by:
getPropertyValue in interface HasProperties

setProperty

public void setProperty(java.lang.String name,
                        java.lang.Object value)
                 throws PropertyNotFoundException
Specified by:
setProperty in interface HasProperties
Throws:
PropertyNotFoundException

getProperties

public Properties getProperties()
Specified by:
getProperties in interface HasProperties

setProperties

public void setProperties(Properties properties)
Specified by:
setProperties in interface HasProperties

getUniqueIdentifier

public UniqueIdentifier getUniqueIdentifier()
Specified by:
getUniqueIdentifier in interface UniqueIdentifiable

setUniqueIdentifier

public void setUniqueIdentifier(UniqueIdentifier uniqueIdentifier)
Specified by:
setUniqueIdentifier in interface UniqueIdentifiable

setIMatrix

public void setIMatrix(IMatrix matrix)
Description copied from interface: NeedsIMatrix
Sets the IMatrix.

Specified by:
setIMatrix in interface NeedsIMatrix

getIMatrix

public IMatrix getIMatrix()
Description copied from interface: NeedsIMatrix
Returns the actual IMatrix. (Not a copy.)

Specified by:
getIMatrix in interface NeedsIMatrix

setIMatrixDimension

public void setIMatrixDimension(boolean row)
Description copied from interface: NeedsIMatrixDimension
Sets a boolean that indicates wether the algorithm should consider rows or columns of a matrix. true - rows, false - columns

Specified by:
setIMatrixDimension in interface NeedsIMatrixDimension

getIMatrixDimension

public boolean getIMatrixDimension()
Description copied from interface: NeedsIMatrixDimension
Returns a boolean that indicates wether the algorithm should consider rows or columns of a matrix. true - rows, false - columns

Specified by:
getIMatrixDimension in interface NeedsIMatrixDimension

setOtherIObjectGrouping

public void setOtherIObjectGrouping(IObjectGrouping grouping)
Specified by:
setOtherIObjectGrouping in interface NeedsOtherIObjectGrouping