infomat
Class Clusterer

java.lang.Object
  extended by infomat.Clusterer
All Implemented Interfaces:
HasProperties

public class Clusterer
extends java.lang.Object
implements HasProperties

Class for running clustering tasks without the GUI. Only works on sparse data, with such similarity measures. Reads Properties (one for this class, one for each class it uses) from a directory. Only one of each Properties is allowed.

java -cp classes/ -Xms1024m -Xmx1024m infomat.Clusterer


Field Summary
private  PropertiesPool pool
           
private  Properties properties
           
 
Constructor Summary
Clusterer(PropertiesPool pool)
           
 
Method Summary
private static void badInput(java.lang.String comment)
           
static void checkClustererProperties(Properties properties)
           
static java.io.File checkInputReturnDirectory(java.lang.String[] args, java.lang.String usageString)
           
static IObjectGrouping constructReferenceGrouping(Properties props, IMatrix matrix)
           
static SparseISimilarity constructSimilarityMeasure(PropertiesPool pool, IMatrix matrix, boolean rows)
           
 void doIt()
           
static void evaluate(PropertiesPool pool, IMatrix matrix, IObjectGrouping clustering, IObjectGrouping referenceGrouping, SparseISimilarity sparseISimilarity, java.lang.String resultPath, long time)
           
static void filter(PropertiesPool pool, IMatrix matrix)
           
static GroupingAlgorithm getAlgorithm(PropertiesPool pool, IMatrix matrix, SparseISimilarity sparseISimilarity)
           
private static java.util.Vector<GroupingAlgorithm> getAlgorithms(PropertiesPool pool, IMatrix matrix, SparseISimilarity sparseISimilarity)
           
 Properties getDefaultProperties()
           
 Properties getProperties()
           
 java.lang.Object getPropertyValue(java.lang.String name)
           
private static java.util.Vector<SparseISimilarity> getSimilarityMeasures(PropertiesPool pool, IMatrix matrix, boolean rows)
           
static java.util.Vector<Weighter> getWeighters(PropertiesPool pool)
           
static IMatrix loadMatrix(Properties properties)
           
static void main(java.lang.String[] args)
           
 void setProperties(Properties properties)
           
 void setProperty(java.lang.String name, java.lang.Object value)
           
static void stoplist(Properties properties, PropertiesPool pool, IMatrix matrix)
           
private static java.lang.String weight(PropertiesPool pool, IMatrix matrix)
           
static void writeFullClusteringResult(PropertiesPool pool, IMatrix matrix, IObjectGrouping clustering, java.lang.String resultPath, long time)
           
static void writeTextClusteringResult(PropertiesPool pool, IMatrix matrix, IObjectGrouping clustering, SparseISimilarity sparseISimilarity, java.lang.String resultPath, long time)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

properties

private Properties properties

pool

private PropertiesPool pool
Constructor Detail

Clusterer

public Clusterer(PropertiesPool pool)
Method Detail

getDefaultProperties

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

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

main

public static void main(java.lang.String[] args)
                 throws java.io.IOException,
                        PropertyNotFoundException
Throws:
java.io.IOException
PropertyNotFoundException

badInput

private static void badInput(java.lang.String comment)

checkClustererProperties

public static void checkClustererProperties(Properties properties)

checkInputReturnDirectory

public static java.io.File checkInputReturnDirectory(java.lang.String[] args,
                                                     java.lang.String usageString)
                                              throws java.io.IOException,
                                                     PropertyNotFoundException
Throws:
java.io.IOException
PropertyNotFoundException

doIt

public void doIt()
          throws java.io.IOException,
                 PropertyNotFoundException
Throws:
java.io.IOException
PropertyNotFoundException

loadMatrix

public static IMatrix loadMatrix(Properties properties)

constructReferenceGrouping

public static IObjectGrouping constructReferenceGrouping(Properties props,
                                                         IMatrix matrix)

stoplist

public static void stoplist(Properties properties,
                            PropertiesPool pool,
                            IMatrix matrix)

filter

public static void filter(PropertiesPool pool,
                          IMatrix matrix)

getWeighters

public static java.util.Vector<Weighter> getWeighters(PropertiesPool pool)

weight

private static java.lang.String weight(PropertiesPool pool,
                                       IMatrix matrix)

getSimilarityMeasures

private static java.util.Vector<SparseISimilarity> getSimilarityMeasures(PropertiesPool pool,
                                                                         IMatrix matrix,
                                                                         boolean rows)

constructSimilarityMeasure

public static SparseISimilarity constructSimilarityMeasure(PropertiesPool pool,
                                                           IMatrix matrix,
                                                           boolean rows)

getAlgorithm

public static GroupingAlgorithm getAlgorithm(PropertiesPool pool,
                                             IMatrix matrix,
                                             SparseISimilarity sparseISimilarity)

getAlgorithms

private static java.util.Vector<GroupingAlgorithm> getAlgorithms(PropertiesPool pool,
                                                                 IMatrix matrix,
                                                                 SparseISimilarity sparseISimilarity)

writeFullClusteringResult

public static void writeFullClusteringResult(PropertiesPool pool,
                                             IMatrix matrix,
                                             IObjectGrouping clustering,
                                             java.lang.String resultPath,
                                             long time)

writeTextClusteringResult

public static void writeTextClusteringResult(PropertiesPool pool,
                                             IMatrix matrix,
                                             IObjectGrouping clustering,
                                             SparseISimilarity sparseISimilarity,
                                             java.lang.String resultPath,
                                             long time)

evaluate

public static void evaluate(PropertiesPool pool,
                            IMatrix matrix,
                            IObjectGrouping clustering,
                            IObjectGrouping referenceGrouping,
                            SparseISimilarity sparseISimilarity,
                            java.lang.String resultPath,
                            long time)