public class SOMClassifier extends AbstractWandoraTool implements WandoraTool
Creates a Self Organized Map (SOM) using given associations. SOM is a 2D matrix visualization of given association player topics where similar topics i.e. topics with similar associations locate near each other. Tool is able to group similar topics.
This class is strictly speaking the a train vector builder while the actual SOM implementation locates in class SOMMap.
About train vector building: Lets say user has selected eight binary associations a-q, a-e, a-t, b-e, b-l, c-q, c-o, and d-e. User selects first player as the grouping role. Training vectors for this setting are:
a: [ q=1, e=1, t=1, l=0, o=0 ]
b: [ q=0, e=1, t=0, l=1, o=0 ]
c: [ q=1, e=0, t=1, l=0, o=1 ]
d: [ q=0, e=1, t=0, l=0, o=0 ]
in other words:
a: [ 1, 1, 1, 0, 0 ]
b: [ 0, 1, 0, 1, 0 ]
c: [ 1, 0, 1, 0, 1 ]
d: [ 0, 1, 0, 0, 0 ]
One should note SOM gives best results if vectors are NOT orthogonal.
Read more about Self Organizing Maps here: http://en.wikipedia.org/wiki/Self-organizing_map
| Constructor and Description |
|---|
SOMClassifier(Context preferredContext) |
| Modifier and Type | Method and Description |
|---|---|
private java.util.HashMap<Topic,java.util.Set> |
buildInputSets(Wandora admin,
Topic groupingRole,
java.util.Iterator<Association> associations) |
private java.util.HashMap<Topic,SOMVector> |
buildInputVectors(java.util.HashMap<Topic,java.util.Set> inputSets) |
void |
execute(Wandora wandora,
Context context)
Runs the tool.
|
java.lang.String |
getDescription()
AdminToolManager views tool descriptions while user browses available
tools and build user customizable GUI elements such as Tools menu.
|
java.lang.String |
getName()
Tools name represent the tool in UI unless the tool has been given
explicitly another GUI name.
|
private java.util.Set<Topic> |
getRolesFrom(java.util.Iterator<Association> associations) |
SOMVector |
topicVector2SOMVector(Topic[] topicVector) |
addUndoMarker, addUndoMarker, allowMultipleInvocations, clearAllThreads, clearThreads, clearThreads, clearToolLock, clearToolLock, clearToolLocks, configure, execute, execute, forceStop, forceStop, getContext, getCurrentLogger, getDefaultLogger, getHistory, getIcon, getLastLogger, getState, getThreads, getThreads, getToolMenuItem, getToolMenuItem, getTopicName, getType, hlog, initialize, interruptAllThreads, interruptThreads, interruptThreads, isConfigurable, isRunning, isRunning, lockLog, log, log, log, log, requiresRefresh, run, runInOwnThread, setContext, setDefaultLogger, setLogTitle, setProgress, setProgressMax, setState, setToolLogger, singleLog, singleLog, singleLog, solveContextTopicMap, solveNameForTopicMap, writeOptionsclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitconfigure, execute, execute, getContext, getIcon, getToolMenuItem, getType, hlog, initialize, isConfigurable, isRunning, log, log, log, log, requiresRefresh, setContext, setToolLogger, writeOptionsforceStop, getHistory, getState, lockLog, setLogTitle, setProgress, setProgressMax, setStatepublic SOMClassifier(Context preferredContext)
public java.lang.String getName()
AbstractWandoraToolgetName in interface WandoraToolgetName in class AbstractWandoraToolpublic java.lang.String getDescription()
AbstractWandoraToolgetDescription in interface WandoraToolgetDescription in class AbstractWandoraToolpublic void execute(Wandora wandora, Context context)
WandoraToolexecute in interface WandoraToolprivate java.util.Set<Topic> getRolesFrom(java.util.Iterator<Association> associations) throws TopicMapException
TopicMapExceptionprivate java.util.HashMap<Topic,java.util.Set> buildInputSets(Wandora admin, Topic groupingRole, java.util.Iterator<Association> associations)
private java.util.HashMap<Topic,SOMVector> buildInputVectors(java.util.HashMap<Topic,java.util.Set> inputSets)
Copyright 2004-2015 Wandora Team