org.apache.mahout.clustering.display
Class DisplayClustering

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by java.awt.Window
              extended by java.awt.Frame
                  extended by org.apache.mahout.clustering.display.DisplayClustering
All Implemented Interfaces:
ImageObserver, MenuContainer, Serializable, Accessible
Direct Known Subclasses:
DisplayCanopy, DisplayFuzzyKMeans, DisplayKMeans, DisplaySpectralKMeans

public class DisplayClustering
extends Frame

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class java.awt.Frame
Frame.AccessibleAWTFrame
 
Nested classes/interfaces inherited from class java.awt.Window
Window.AccessibleAWTWindow
 
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
 
Field Summary
protected static List<List<Cluster>> CLUSTERS
           
protected static int DS
           
protected static int res
           
protected static List<VectorWritable> SAMPLE_DATA
           
protected static int SIZE
           
protected static double T1
           
protected static double T2
           
 
Fields inherited from class java.awt.Frame
CROSSHAIR_CURSOR, DEFAULT_CURSOR, E_RESIZE_CURSOR, HAND_CURSOR, ICONIFIED, MAXIMIZED_BOTH, MAXIMIZED_HORIZ, MAXIMIZED_VERT, MOVE_CURSOR, N_RESIZE_CURSOR, NE_RESIZE_CURSOR, NORMAL, NW_RESIZE_CURSOR, S_RESIZE_CURSOR, SE_RESIZE_CURSOR, SW_RESIZE_CURSOR, TEXT_CURSOR, W_RESIZE_CURSOR, WAIT_CURSOR
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
DisplayClustering()
           
 
Method Summary
protected static void generate2dSamples()
           
protected static void generate2dSamples(int num, double mx, double my, double sdx, double sdy)
          Generate random samples and add them to the sampleData
protected static void generateSamples()
           
protected static void generateSamples(int num, double mx, double my, double sd)
          Generate random samples and add them to the sampleData
 void initialize()
           
protected static boolean isSignificant(Cluster cluster)
           
protected static void loadClustersWritable(org.apache.hadoop.fs.Path output)
           
static void main(String[] args)
           
 void paint(Graphics g)
           
protected static void plotClusteredRectangle(Graphics2D g2, Vector v, Vector dv, Color color)
          Identical to plotRectangle(), but with the option of setting the color of the rectangle's stroke.
protected static void plotClusteredSampleData(Graphics2D g2, org.apache.hadoop.fs.Path data)
          This method plots points and colors them according to their cluster membership, rather than drawing ellipses.
protected static void plotClusters(Graphics2D g2)
           
protected static void plotEllipse(Graphics2D g2, Vector v, Vector dv)
          Draw an ellipse on the graphics context
protected static void plotRectangle(Graphics2D g2, Vector v, Vector dv)
          Draw a rectangle on the graphics context
protected static void plotSampleData(Graphics2D g2)
           
protected static void plotSampleParameters(Graphics2D g2)
           
protected static List<Cluster> readClustersWritable(org.apache.hadoop.fs.Path clustersIn)
           
protected static void writeSampleData(org.apache.hadoop.fs.Path output)
           
 
Methods inherited from class java.awt.Frame
addNotify, getAccessibleContext, getCursorType, getExtendedState, getFrames, getIconImage, getMaximizedBounds, getMenuBar, getState, getTitle, isResizable, isUndecorated, paramString, remove, removeNotify, setCursor, setExtendedState, setIconImage, setMaximizedBounds, setMenuBar, setResizable, setState, setTitle, setUndecorated
 
Methods inherited from class java.awt.Window
addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getGraphicsConfiguration, getIconImages, getInputContext, getListeners, getLocale, getModalExclusionType, getMostRecentFocusOwner, getOwnedWindows, getOwner, getOwnerlessWindows, getToolkit, getWarningString, getWindowFocusListeners, getWindowListeners, getWindows, getWindowStateListeners, hide, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isShowing, pack, postEvent, processEvent, processWindowEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImages, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, setVisible, show, toBack, toFront
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, setLayout, transferFocusBackward, transferFocusDownCycle, update, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isPreferredSizeSet, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resize, resize, setBackground, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setName, setPreferredSize, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface java.awt.MenuContainer
getFont, postEvent
 

Field Detail

DS

protected static final int DS
See Also:
Constant Field Values

SIZE

protected static final int SIZE
See Also:
Constant Field Values

SAMPLE_DATA

protected static final List<VectorWritable> SAMPLE_DATA

CLUSTERS

protected static final List<List<Cluster>> CLUSTERS

T1

protected static final double T1
See Also:
Constant Field Values

T2

protected static final double T2
See Also:
Constant Field Values

res

protected static int res
Constructor Detail

DisplayClustering

public DisplayClustering()
Method Detail

initialize

public void initialize()

main

public static void main(String[] args)
                 throws Exception
Throws:
Exception

paint

public void paint(Graphics g)
Overrides:
paint in class Window

plotClusters

protected static void plotClusters(Graphics2D g2)

plotSampleParameters

protected static void plotSampleParameters(Graphics2D g2)

plotSampleData

protected static void plotSampleData(Graphics2D g2)

plotClusteredSampleData

protected static void plotClusteredSampleData(Graphics2D g2,
                                              org.apache.hadoop.fs.Path data)
This method plots points and colors them according to their cluster membership, rather than drawing ellipses. As of commit, this method is used only by K-means spectral clustering. Since the cluster assignments are set within the eigenspace of the data, it is not inherent that the original data cluster as they would in K-means: that is, as symmetric gaussian mixtures. Since Spectral K-Means uses K-Means to cluster the eigenspace data, the raw output is not directly usable. Rather, the cluster assignments from the raw output need to be transferred back to the original data. As such, this method will read the SequenceFile cluster results of K-means and transfer the cluster assignments to the original data, coloring them appropriately.

Parameters:
g2 -
data -

plotClusteredRectangle

protected static void plotClusteredRectangle(Graphics2D g2,
                                             Vector v,
                                             Vector dv,
                                             Color color)
Identical to plotRectangle(), but with the option of setting the color of the rectangle's stroke. NOTE: This should probably be refactored with plotRectangle() since most of the code here is direct copy/paste from that method.

Parameters:
g2 - A Graphics2D context.
v - A vector for the rectangle's center.
dv - A vector for the rectangle's dimensions.
color - The color of the rectangle's stroke.

plotRectangle

protected static void plotRectangle(Graphics2D g2,
                                    Vector v,
                                    Vector dv)
Draw a rectangle on the graphics context

Parameters:
g2 - a Graphics2D context
v - a Vector of rectangle center
dv - a Vector of rectangle dimensions

plotEllipse

protected static void plotEllipse(Graphics2D g2,
                                  Vector v,
                                  Vector dv)
Draw an ellipse on the graphics context

Parameters:
g2 - a Graphics2D context
v - a Vector of ellipse center
dv - a Vector of ellipse dimensions

generateSamples

protected static void generateSamples()

generate2dSamples

protected static void generate2dSamples()

generateSamples

protected static void generateSamples(int num,
                                      double mx,
                                      double my,
                                      double sd)
Generate random samples and add them to the sampleData

Parameters:
num - int number of samples to generate
mx - double x-value of the sample mean
my - double y-value of the sample mean
sd - double standard deviation of the samples

writeSampleData

protected static void writeSampleData(org.apache.hadoop.fs.Path output)
                               throws IOException
Throws:
IOException

readClustersWritable

protected static List<Cluster> readClustersWritable(org.apache.hadoop.fs.Path clustersIn)

loadClustersWritable

protected static void loadClustersWritable(org.apache.hadoop.fs.Path output)
                                    throws IOException
Throws:
IOException

generate2dSamples

protected static void generate2dSamples(int num,
                                        double mx,
                                        double my,
                                        double sdx,
                                        double sdy)
Generate random samples and add them to the sampleData

Parameters:
num - int number of samples to generate
mx - double x-value of the sample mean
my - double y-value of the sample mean
sdx - double x-value standard deviation of the samples
sdy - double y-value standard deviation of the samples

isSignificant

protected static boolean isSignificant(Cluster cluster)


Copyright © 2008–2014 The Apache Software Foundation. All rights reserved.