Class ResultMatrix

java.lang.Object
weka.experiment.ResultMatrix
All Implemented Interfaces:
Serializable, OptionHandler, RevisionHandler
Direct Known Subclasses:
ResultMatrixCSV, ResultMatrixGnuPlot, ResultMatrixHTML, ResultMatrixLatex, ResultMatrixPlainText, ResultMatrixSignificance

public abstract class ResultMatrix extends Object implements Serializable, RevisionHandler, OptionHandler
This matrix is a container for the datasets and classifier setups and their statistics. Derived classes output the data in different formats. Derived classes need to implement the following methods:
  • toStringMatrix()
  • toStringKey()
  • toStringHeader()
  • toStringSummary()
  • toStringRanking()
Version:
$Revision: 13955 $
Author:
FracPete (fracpete at waikato dot ac dot nz)
See Also:
  • Field Details

    • SIGNIFICANCE_TIE

      public static final int SIGNIFICANCE_TIE
      tie.
      See Also:
    • SIGNIFICANCE_WIN

      public static final int SIGNIFICANCE_WIN
      win.
      See Also:
    • SIGNIFICANCE_LOSS

      public static final int SIGNIFICANCE_LOSS
      loss.
      See Also:
    • TIE_STRING

      public String TIE_STRING
      tie string.
    • WIN_STRING

      public String WIN_STRING
      win string.
    • LOSS_STRING

      public String LOSS_STRING
      loss string.
    • LEFT_PARENTHESES

      public String LEFT_PARENTHESES
      the left parentheses for enumerating cols/rows.
    • RIGHT_PARENTHESES

      public String RIGHT_PARENTHESES
      the right parentheses for enumerating cols/rows.
  • Constructor Details

    • ResultMatrix

      public ResultMatrix()
      initializes the matrix as 1x1 matrix.
    • ResultMatrix

      public ResultMatrix(int cols, int rows)
      initializes the matrix with the given dimensions.
      Parameters:
      cols - the number of columns
      rows - the number of rows
    • ResultMatrix

      public ResultMatrix(ResultMatrix matrix)
      initializes the matrix with the values from the given matrix.
      Parameters:
      matrix - the matrix to get the values from
  • Method Details

    • globalInfo

      public abstract String globalInfo()
      Returns a string describing the matrix.
      Returns:
      a description suitable for displaying in the experimenter gui
    • listOptions

      public Enumeration<Option> listOptions()
      Returns an enumeration of all the available options..
      Specified by:
      listOptions in interface OptionHandler
      Returns:
      an enumeration of all available options.
    • setOptions

      public void setOptions(String[] options) throws Exception
      Sets the OptionHandler's options using the given list. All options will be set (or reset) during this call (i.e. incremental setting of options is not possible).
      Specified by:
      setOptions in interface OptionHandler
      Parameters:
      options - the list of options as an array of strings
      Throws:
      Exception - if an option is not supported
    • getOptions

      public String[] getOptions()
      Gets the current option settings for the OptionHandler.
      Specified by:
      getOptions in interface OptionHandler
      Returns:
      the list of current option settings as an array of strings
    • getDisplayName

      public abstract String getDisplayName()
      returns the name of the output format.
      Returns:
      the display name
    • assign

      public void assign(ResultMatrix matrix)
      acquires the data from the given matrix.
      Parameters:
      matrix - the matrix to get the data from
    • clear

      public void clear()
      removes the stored data and the ordering, but retains the dimensions of the matrix.
    • setSize

      public void setSize(int cols, int rows)
      clears the content of the matrix and sets the new size.
      Parameters:
      cols - the number of mean columns
      rows - the number of mean rows
    • setMeanPrec

      public void setMeanPrec(int prec)
      sets the precision for the means.
      Parameters:
      prec - the number of decimals
    • getMeanPrec

      public int getMeanPrec()
      returns the current precision for the means.
      Returns:
      the number of decimals
    • getDefaultMeanPrec

      public int getDefaultMeanPrec()
      returns the default precision for the means.
      Returns:
      the number of decimals
    • meanPrecTipText

      public String meanPrecTipText()
      Returns the tip text for this property.
      Returns:
      tip text for this property suitable for displaying in the experimenter gui
    • setStdDevPrec

      public void setStdDevPrec(int prec)
      sets the precision for the standard deviation.
      Parameters:
      prec - the number of decimals
    • getStdDevPrec

      public int getStdDevPrec()
      returns the current standard deviation precision.
      Returns:
      the number of decimals
    • getDefaultStdDevPrec

      public int getDefaultStdDevPrec()
      returns the default standard deviation precision.
      Returns:
      the number of decimals
    • stdDevPrecTipText

      public String stdDevPrecTipText()
      Returns the tip text for this property.
      Returns:
      tip text for this property suitable for displaying in the experimenter gui
    • setColNameWidth

      public void setColNameWidth(int width)
      sets the width for the column names (0 = optimal).
      Parameters:
      width - the width
    • getColNameWidth

      public int getColNameWidth()
      returns the current width for the column names.
      Returns:
      the width
    • getDefaultColNameWidth

      public int getDefaultColNameWidth()
      returns the default width for the column names.
      Returns:
      the width
    • colNameWidthTipText

      public String colNameWidthTipText()
      Returns the tip text for this property.
      Returns:
      tip text for this property suitable for displaying in the experimenter gui
    • setRowNameWidth

      public void setRowNameWidth(int width)
      sets the width for the row names (0 = optimal).
      Parameters:
      width - the width
    • getRowNameWidth

      public int getRowNameWidth()
      returns the current width for the row names.
      Returns:
      the width
    • getDefaultRowNameWidth

      public int getDefaultRowNameWidth()
      returns the default width for the row names.
      Returns:
      the width
    • rowNameWidthTipText

      public String rowNameWidthTipText()
      Returns the tip text for this property.
      Returns:
      tip text for this property suitable for displaying in the experimenter gui
    • setMeanWidth

      public void setMeanWidth(int width)
      sets the width for the mean (0 = optimal).
      Parameters:
      width - the width
    • getMeanWidth

      public int getMeanWidth()
      returns the current width for the mean.
      Returns:
      the width
    • getDefaultMeanWidth

      public int getDefaultMeanWidth()
      returns the default width for the mean.
      Returns:
      the width
    • meanWidthTipText

      public String meanWidthTipText()
      Returns the tip text for this property.
      Returns:
      tip text for this property suitable for displaying in the experimenter gui
    • setStdDevWidth

      public void setStdDevWidth(int width)
      sets the width for the std dev (0 = optimal).
      Parameters:
      width - the width
    • getStdDevWidth

      public int getStdDevWidth()
      returns the current width for the std dev.
      Returns:
      the width
    • getDefaultStdDevWidth

      public int getDefaultStdDevWidth()
      returns the default width for the std dev.
      Returns:
      the width
    • stdDevWidthTipText

      public String stdDevWidthTipText()
      Returns the tip text for this property.
      Returns:
      tip text for this property suitable for displaying in the experimenter gui
    • setSignificanceWidth

      public void setSignificanceWidth(int width)
      sets the width for the significance (0 = optimal).
      Parameters:
      width - the width
    • getSignificanceWidth

      public int getSignificanceWidth()
      returns the current width for the significance.
      Returns:
      the width
    • getDefaultSignificanceWidth

      public int getDefaultSignificanceWidth()
      returns the default width for the significance.
      Returns:
      the width
    • significanceWidthTipText

      public String significanceWidthTipText()
      Returns the tip text for this property.
      Returns:
      tip text for this property suitable for displaying in the experimenter gui
    • setCountWidth

      public void setCountWidth(int width)
      sets the width for the counts (0 = optimal).
      Parameters:
      width - the width
    • getCountWidth

      public int getCountWidth()
      returns the current width for the counts.
      Returns:
      the width
    • getDefaultCountWidth

      public int getDefaultCountWidth()
      returns the default width for the counts.
      Returns:
      the width
    • countWidthTipText

      public String countWidthTipText()
      Returns the tip text for this property.
      Returns:
      tip text for this property suitable for displaying in the experimenter gui
    • setShowStdDev

      public void setShowStdDev(boolean show)
      sets whether to display the std deviations or not.
      Parameters:
      show - if true then the std deviations are displayed
    • getShowStdDev

      public boolean getShowStdDev()
      returns whether std deviations are displayed or not.
      Returns:
      true if the std deviations are displayed
    • getDefaultShowStdDev

      public boolean getDefaultShowStdDev()
      returns the default of whether std deviations are displayed or not.
      Returns:
      true if the std deviations are displayed
    • showStdDevTipText

      public String showStdDevTipText()
      Returns the tip text for this property.
      Returns:
      tip text for this property suitable for displaying in the experimenter gui
    • setShowAverage

      public void setShowAverage(boolean show)
      sets whether to display the average per column or not.
      Parameters:
      show - if true then the average is displayed
    • getShowAverage

      public boolean getShowAverage()
      returns whether average per column is displayed or not.
      Returns:
      true if the average is displayed
    • getDefaultShowAverage

      public boolean getDefaultShowAverage()
      returns the default of whether average per column is displayed or not.
      Returns:
      true if the average is displayed
    • showAverageTipText

      public String showAverageTipText()
      Returns the tip text for this property.
      Returns:
      tip text for this property suitable for displaying in the experimenter gui
    • setRemoveFilterName

      public void setRemoveFilterName(boolean remove)
      sets whether to remove the filter classname from the dataset name.
      Parameters:
      remove - if true then the filter classnames are shortened
    • getRemoveFilterName

      public boolean getRemoveFilterName()
      returns whether the filter classname is removed from the dataset name.
      Returns:
      true if the filter classnames are shortened
    • getDefaultRemoveFilterName

      public boolean getDefaultRemoveFilterName()
      returns the default of whether the filter classname is removed from the dataset name.
      Returns:
      true if the filter classnames are shortened
    • removeFilterNameTipText

      public String removeFilterNameTipText()
      Returns the tip text for this property.
      Returns:
      tip text for this property suitable for displaying in the experimenter gui
    • setPrintColNames

      public void setPrintColNames(boolean print)
      sets whether the column names or numbers instead are printed. deactivating automatically sets m_EnumerateColNames to TRUE.
      Parameters:
      print - if true then the names are printed instead of numbers
      See Also:
    • getPrintColNames

      public boolean getPrintColNames()
      returns whether column names or numbers instead are printed.
      Returns:
      true if names instead of numbers are printed
    • getDefaultPrintColNames

      public boolean getDefaultPrintColNames()
      returns the default of whether column names or numbers instead are printed.
      Returns:
      true if names instead of numbers are printed
    • printColNamesTipText

      public String printColNamesTipText()
      Returns the tip text for this property.
      Returns:
      tip text for this property suitable for displaying in the experimenter gui
    • setPrintRowNames

      public void setPrintRowNames(boolean print)
      sets whether the row names or numbers instead are printed deactivating automatically sets m_EnumerateColNames to TRUE.
      Parameters:
      print - if true then names instead of numbers are printed
      See Also:
    • getPrintRowNames

      public boolean getPrintRowNames()
      returns whether row names or numbers instead are printed.
      Returns:
      true if names instead of numbers are printed
    • getDefaultPrintRowNames

      public boolean getDefaultPrintRowNames()
      returns the default of whether row names or numbers instead are printed.
      Returns:
      true if names instead of numbers are printed
    • printRowNamesTipText

      public String printRowNamesTipText()
      Returns the tip text for this property.
      Returns:
      tip text for this property suitable for displaying in the experimenter gui
    • setEnumerateColNames

      public void setEnumerateColNames(boolean enumerate)
      sets whether the column names are prefixed with "(x)" where "x" is the index.
      Parameters:
      enumerate - if true then the names are prefixed
    • getEnumerateColNames

      public boolean getEnumerateColNames()
      returns whether column names are prefixed with the index.
      Returns:
      true if the names are prefixed
    • getDefaultEnumerateColNames

      public boolean getDefaultEnumerateColNames()
      returns the default of whether column names are prefixed with the index.
      Returns:
      true if the names are prefixed
    • enumerateColNamesTipText

      public String enumerateColNamesTipText()
      Returns the tip text for this property.
      Returns:
      tip text for this property suitable for displaying in the experimenter gui
    • setEnumerateRowNames

      public void setEnumerateRowNames(boolean enumerate)
      sets whether to the row names are prefixed with the index.
      Parameters:
      enumerate - if true then the names will be prefixed
    • getEnumerateRowNames

      public boolean getEnumerateRowNames()
      returns whether row names or prefixed with the index.
      Returns:
      true if the names are prefixed
    • getDefaultEnumerateRowNames

      public boolean getDefaultEnumerateRowNames()
      returns theh default of whether row names are prefixed with the index.
      Returns:
      true if the names are prefixed
    • enumerateRowNamesTipText

      public String enumerateRowNamesTipText()
      Returns the tip text for this property.
      Returns:
      tip text for this property suitable for displaying in the experimenter gui
    • getColCount

      public int getColCount()
      returns the number of columns.
      Returns:
      the number of columns
    • getVisibleColCount

      public int getVisibleColCount()
      returns the number of visible columns.
      Returns:
      the number of columns
    • getRowCount

      public int getRowCount()
      returns the number of rows.
      Returns:
      the number of rows
    • getVisibleRowCount

      public int getVisibleRowCount()
      returns the number of visible rows.
      Returns:
      the number of rows
    • setColName

      public void setColName(int index, String name)
      sets the name of the column (if the index is valid).
      Parameters:
      index - the index of the column
      name - the name of the column
    • getColName

      public String getColName(int index)
      returns the name of the row, if the index is valid, otherwise null. if getPrintColNames() is FALSE then an empty string is returned or if getEnumerateColNames() is TRUE then the 1-based index surrounded by parentheses.
      Parameters:
      index - the index of the column
      Returns:
      the name of the column
      See Also:
    • setRowName

      public void setRowName(int index, String name)
      sets the name of the row (if the index is valid).
      Parameters:
      index - the index of the row
      name - the name of the row
    • getRowName

      public String getRowName(int index)
      returns the name of the row, if the index is valid, otherwise null. if getPrintRowNames() is FALSE then an empty string is returned or if getEnumerateRowNames() is TRUE then the 1-based index surrounded by parentheses.
      Parameters:
      index - the index of the row
      Returns:
      the name of the row
      See Also:
    • setColHidden

      public void setColHidden(int index, boolean hidden)
      sets the hidden status of the column (if the index is valid).
      Parameters:
      index - the index of the column
      hidden - the hidden status of the column
    • getColHidden

      public boolean getColHidden(int index)
      returns the hidden status of the column, if the index is valid, otherwise false.
      Parameters:
      index - the index of the column
      Returns:
      true if hidden
    • setRowHidden

      public void setRowHidden(int index, boolean hidden)
      sets the hidden status of the row (if the index is valid).
      Parameters:
      index - the index of the row
      hidden - the hidden status of the row
    • getRowHidden

      public boolean getRowHidden(int index)
      returns the hidden status of the row, if the index is valid, otherwise false.
      Parameters:
      index - the index of the row
      Returns:
      true if hidden
    • setCount

      public void setCount(int index, double count)
      sets the count for the row (if the index is valid).
      Parameters:
      index - the index of the row
      count - the count for the row
    • getCount

      public double getCount(int index)
      returns the count for the row. if the index is invalid then 0.
      Parameters:
      index - the index of the row
      Returns:
      the count for the row
    • setMean

      public void setMean(int col, int row, double value)
      sets the mean at the given position (if the position is valid).
      Parameters:
      col - the column of the mean
      row - the row of the mean
      value - the value of the mean
    • getMean

      public double getMean(int col, int row)
      returns the mean at the given position, if the position is valid, otherwise 0.
      Parameters:
      col - the column index
      row - the row index
      Returns:
      the mean
    • getAverage

      public double getAverage(int col)
      returns the average of the mean at the given position, if the position is valid, otherwise 0.
      Parameters:
      col - the column index
      Returns:
      the average
    • setStdDev

      public void setStdDev(int col, int row, double value)
      sets the std deviation at the given position (if the position is valid).
      Parameters:
      col - the column of the std. deviation
      row - the row of the std deviation
      value - the value of the std deviation
    • getStdDev

      public double getStdDev(int col, int row)
      returns the std deviation at the given position, if the position is valid, otherwise 0.
      Parameters:
      col - the column index
      row - the row index
      Returns:
      the std deviation
    • setSignificance

      public void setSignificance(int col, int row, int value)
      sets the significance at the given position (if the position is valid).
      Parameters:
      col - the column of the significance
      row - the row of the significance
      value - the value of the significance
    • getSignificance

      public int getSignificance(int col, int row)
      returns the significance at the given position, if the position is valid, otherwise SIGNIFICANCE_ATIE.
      Parameters:
      col - the column index
      row - the row index
      Returns:
      the indicator
    • getSignificanceCount

      public int getSignificanceCount(int col, int type)
      counts the occurrences of the given significance type in the given column.
      Parameters:
      col - the columnn to gather the information from
      type - the significance type, WIN/TIE/LOSS
      Returns:
      the count
    • setRowOrder

      public void setRowOrder(int[] order)
      sets the ordering of the rows, null means default.
      Parameters:
      order - the new order of the rows
    • getRowOrder

      public int[] getRowOrder()
      returns the current order of the rows, null means the default order.
      Returns:
      the current order of the rows
    • getDisplayRow

      public int getDisplayRow(int index)
      returns the displayed index of the given row, depending on the order of rows, returns -1 if index out of bounds.
      Parameters:
      index - the row to get the displayed index for
      Returns:
      the real index of the row
    • setColOrder

      public void setColOrder(int[] order)
      sets the ordering of the columns, null means default.
      Parameters:
      order - the new order of the columns
    • getColOrder

      public int[] getColOrder()
      returns the current order of the columns, null means the default order.
      Returns:
      the current order of the columns
    • getDisplayCol

      public int getDisplayCol(int index)
      returns the displayed index of the given col, depending on the order of columns, returns -1 if index out of bounds.
      Parameters:
      index - the column to get the displayed index for
      Returns:
      the real index of the column
    • toStringMatrix

      public abstract String toStringMatrix()
      returns the matrix as a string.
      Returns:
      the matrix as string
    • toString

      public String toString()
      returns the matrix as a string.
      Overrides:
      toString in class Object
      Returns:
      the matrix as string
      See Also:
    • clearHeader

      public void clearHeader()
      removes all the header information.
    • addHeader

      public void addHeader(String key, String value)
      adds the key-value pair to the header.
      Parameters:
      key - the name of the header value
      value - the value of the header value
    • getHeader

      public String getHeader(String key)
      returns the value associated with the given key, null if if cannot be found.
      Parameters:
      key - the key to retrieve the value for
      Returns:
      the associated value
    • headerKeys

      public Enumeration<String> headerKeys()
      returns an enumeration of the header keys.
      Returns:
      all stored keys
    • toStringHeader

      public abstract String toStringHeader()
      returns the header of the matrix as a string.
      Returns:
      the header as string
      See Also:
      • m_HeaderKeys
      • m_HeaderValues
    • toStringKey

      public abstract String toStringKey()
      returns returns a key for all the col names, for better readability if the names got cut off.
      Returns:
      the key
    • clearSummary

      public void clearSummary()
      clears the current summary data.
    • setSummary

      public void setSummary(int[][] nonSigWins, int[][] wins)
      sets the non-significant and significant wins of the resultsets.
      Parameters:
      nonSigWins - the non-significant wins
      wins - the significant wins
    • toStringSummary

      public abstract String toStringSummary()
      returns the summary as string.
      Returns:
      the summary
    • clearRanking

      public void clearRanking()
      clears the currently stored ranking data.
    • setRanking

      public void setRanking(int[][] wins)
      sets the ranking data based on the wins.
      Parameters:
      wins - the wins
    • toStringRanking

      public abstract String toStringRanking()
      returns the ranking in a string representation.
      Returns:
      the ranking