Package weka.experiment

# Class ResultMatrix

java.lang.Object
weka.experiment.ResultMatrix

All Implemented Interfaces:
  `Serializable`, `RevisionHandler`

Direct Known Subclasses:
  `ResultMatrixCSV`, `ResultMatrixGnuPlot`, `ResultMatrixHTML`, `ResultMatrixLatex`, `ResultMatrixPlainText`, `ResultMatrixSignificance`

public abstract class ResultMatrix extends Object implements Serializable, RevisionHandler
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: 1.9 $
Author:
  FracPete (fracpete at waikato dot ac dot nz)
See Also:
  - `toStringMatrix()`
  - `toStringKey()`
  - `toStringHeader()`
  - `toStringSummary()`
  - `toStringRanking()`
  - Serialized Form

## Field Summary

Fields
Modifier and Type
Field
Description
`String`
`LEFT_PARENTHESES`
the left parentheses for enumerating cols/rows
`String`
`LOSS_STRING`
loss string
`String`
`RIGHT_PARENTHESES`
the right parentheses for enumerating cols/rows
`static final int`
`SIGNIFICANCE_LOSS`
loss
`static final int`
`SIGNIFICANCE_TIE`
tie
`static final int`
`SIGNIFICANCE_WIN`
win
`String`
`TIE_STRING`
tie string
`String`
`WIN_STRING`
win string

## Constructor Summary

Constructors
Constructor
Description
`ResultMatrix()`
initializes the matrix as 1x1 matrix
`ResultMatrix(int cols, int rows)`
initializes the matrix with the given dimensions
`ResultMatrix(ResultMatrix matrix)`
initializes the matrix with the values from the given matrix

## Method Summary

Modifier and Type
Method
Description
`void`
`addHeader(String key, String value)`
adds the key-value pair to the header
`void`
`assign(ResultMatrix matrix)`
acquires the data from the given matrix
`void`
`clear()`
removes the stored data and the ordering, but retains the dimensions of the matrix
`void`
`clearHeader()`
removes all the header information
`void`
`clearRanking()`
clears the currently stored ranking data
`void`
`clearSummary()`
clears the current summary data
`double`
`getAverage(int col)`
returns the average of the mean at the given position, if the position is valid, otherwise 0
`int`
`getColCount()`
returns the number of columns
`boolean`
`getColHidden(int index)`
returns the hidden status of the column, if the index is valid, otherwise false
`String`
`getColName(int index)`
returns the name of the row, if the index is valid, otherwise null.
`int`
`getColNameWidth()`
returns the current width for the column names
`int[]`
`getColOrder()`
returns the current order of the columns, null means the default order
`double`
`getCount(int index)`
returns the count for the row.
`int`
`getCountWidth()`
returns the current width for the counts
`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
`abstract String`
`getDisplayName()`
returns the name of the output format
`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
`boolean`
`getEnumerateColNames()`
returns whether column names or numbers instead are enumerateed
`boolean`
`getEnumerateRowNames()`
returns whether row names or numbers instead are enumerateed
`String`
`getHeader(String key)`
returns the value associated with the given key, null if if cannot be found
`double`
`getMean(int col, int row)`
returns the mean at the given position, if the position is valid, otherwise 0
`int`
`getMeanPrec()`
returns the current precision for the means
`int`
`getMeanWidth()`
returns the current width for the mean
`boolean`
`getPrintColNames()`
returns whether column names or numbers instead are printed
`boolean`
`getPrintRowNames()`
returns whether row names or numbers instead are printed
`boolean`
`getRemoveFilterName()`
returns whether the filter classname is removed from the dataset name
`int`
`getRowCount()`
returns the number of rows
`boolean`
`getRowHidden(int index)`
returns the hidden status of the row, if the index is valid, otherwise false
`String`
`getRowName(int index)`
returns the name of the row, if the index is valid, otherwise null.
`int`
`getRowNameWidth()`
returns the current width for the row names
`int[]`
`getRowOrder()`
returns the current order of the rows, null means the default order
`boolean`
`getShowAverage()`
returns whether average per column is displayed or not
`boolean`
`getShowStdDev()`
returns whether std deviations are displayed or not
`int`
`getSignificance(int col, int row)`
returns the significance at the given position, if the position is valid, otherwise SIGNIFICANCE_ATIE
`int`
`getSignificanceCount(int col, int type)`
counts the occurrences of the given significance type in the given column.
`int`
`getSignificanceWidth()`
returns the current width for the significance
`double`
`getStdDev(int col, int row)`
returns the std deviation at the given position, if the position is valid, otherwise 0
`int`
`getStdDevPrec()`
returns the current standard deviation precision
`int`
`getStdDevWidth()`
returns the current width for the std dev
`int`
`getVisibleColCount()`
returns the number of visible columns
`int`
`getVisibleRowCount()`
returns the number of visible rows
`Enumeration`
`headerKeys()`
returns an enumeration of the header keys
`void`
`setColHidden(int index, boolean hidden)`
sets the hidden status of the column (if the index is valid)
`void`
`setColName(int index, String name)`
sets the name of the column (if the index is valid)
`void`
`setColNameWidth(int width)`
sets the width for the column names (0 = optimal)
`void`
`setColOrder(int[] order)`
sets the ordering of the columns, null means default
`void`
`setCount(int index, double count)`
sets the count for the row (if the index is valid)
`void`
`setCountWidth(int width)`
sets the width for the counts (0 = optimal)
`void`
`setEnumerateColNames(boolean enumerate)`
sets whether the column names are prefixed with "(x)" where "x" is the index
`void`
`setEnumerateRowNames(boolean enumerate)`
sets whether to the row names or numbers instead are enumerateed
`void`
`setMean(int col, int row, double value)`
sets the mean at the given position (if the position is valid)
`void`
`setMeanPrec(int prec)`
sets the precision for the means
`void`
`setMeanWidth(int width)`
sets the width for the mean (0 = optimal)
`void`
`setPrintColNames(boolean print)`
sets whether the column names or numbers instead are printed.
`void`
`setPrintRowNames(boolean print)`
sets whether the row names or numbers instead are printed deactivating automatically sets m_EnumerateColNames to TRUE.
`void`
`setRanking(int[][] wins)`
sets the ranking data based on the wins
`void`
`setRemoveFilterName(boolean remove)`
sets whether to remove the filter classname from the dataset name
`void`
`setRowHidden(int index, boolean hidden)`
sets the hidden status of the row (if the index is valid)
`void`
`setRowName(int index, String name)`
sets the name of the row (if the index is valid)
`void`
`setRowNameWidth(int width)`
sets the width for the row names (0 = optimal)
`void`
`setRowOrder(int[] order)`
sets the ordering of the rows, null means default
`void`
`setShowAverage(boolean show)`
sets whether to display the average per column or not
`void`
`setShowStdDev(boolean show)`
sets whether to display the std deviations or not
`void`
`setSignificance(int col, int row, int value)`
sets the significance at the given position (if the position is valid)
`void`
`setSignificanceWidth(int width)`
sets the width for the significance (0 = optimal)
`void`
`setSize(int cols, int rows)`
clears the content of the matrix and sets the new size
`void`
`setStdDev(int col, int row, double value)`
sets the std deviation at the given position (if the position is valid)
`void`
`setStdDevPrec(int prec)`
sets the precision for the standard deviation
`void`
`setStdDevWidth(int width)`
sets the width for the std dev (0 = optimal)
`void`
`setSummary(int[][] nonSigWins, int[][] wins)`
sets the non-significant and significant wins of the resultsets
`String`
`toString()`
returns the matrix as a string
`abstract String`
`toStringHeader()`
returns the header of the matrix as a string
`abstract String`
`toStringKey()`
returns returns a key for all the col names, for better readability if the names got cut off
`abstract String`
`toStringMatrix()`
returns the matrix as a string
`abstract String`
`toStringRanking()`
returns the ranking in a string representation
`abstract String`
`toStringSummary()`
returns the summary as string

### Methods inherited from class java.lang.Object

`equals, getClass, hashCode, notify, notifyAll, wait, wait, wait`

### Methods inherited from interface weka.core.RevisionHandler

`getRevision`

## Field Details

### SIGNIFICANCE_TIE

public static final int SIGNIFICANCE_TIE
tie

See Also:
  - Constant Field Values

### SIGNIFICANCE_WIN

public static final int SIGNIFICANCE_WIN
win

See Also:
  - Constant Field Values

### SIGNIFICANCE_LOSS

public static final int SIGNIFICANCE_LOSS
loss

See Also:
  - Constant Field Values

### 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

### 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

### getDisplayName

public abstract String getDisplayName()
returns the name of the output format

### assign

public void assign(ResultMatrix matrix)
acquires the data from the given matrix

### 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

### getMeanPrec

public int getMeanPrec()
returns the current precision for the means

### setStdDevPrec

public void setStdDevPrec(int prec)
sets the precision for the standard deviation

### getStdDevPrec

public int getStdDevPrec()
returns the current standard deviation precision

### setColNameWidth

public void setColNameWidth(int width)
sets the width for the column names (0 = optimal)

### getColNameWidth

public int getColNameWidth()
returns the current width for the column names

### setRowNameWidth

public void setRowNameWidth(int width)
sets the width for the row names (0 = optimal)

### getRowNameWidth

public int getRowNameWidth()
returns the current width for the row names

### setMeanWidth

public void setMeanWidth(int width)
sets the width for the mean (0 = optimal)

### getMeanWidth

public int getMeanWidth()
returns the current width for the mean

### setStdDevWidth

public void setStdDevWidth(int width)
sets the width for the std dev (0 = optimal)

### getStdDevWidth

public int getStdDevWidth()
returns the current width for the std dev

### setSignificanceWidth

public void setSignificanceWidth(int width)
sets the width for the significance (0 = optimal)

### getSignificanceWidth

public int getSignificanceWidth()
returns the current width for the significance

### setCountWidth

public void setCountWidth(int width)
sets the width for the counts (0 = optimal)

### getCountWidth

public int getCountWidth()
returns the current width for the counts

### setShowStdDev

public void setShowStdDev(boolean show)
sets whether to display the std deviations or not

### getShowStdDev

public boolean getShowStdDev()
returns whether std deviations are displayed or not

### setShowAverage

public void setShowAverage(boolean show)
sets whether to display the average per column or not

### getShowAverage

public boolean getShowAverage()
returns whether average per column is displayed or not

### setRemoveFilterName

public void setRemoveFilterName(boolean remove)
sets whether to remove the filter classname from the dataset name

### getRemoveFilterName

public boolean getRemoveFilterName()
returns whether the filter classname is removed from the dataset name

### setPrintColNames

public void setPrintColNames(boolean print)
sets whether the column names or numbers instead are printed. deactivating automatically sets m_EnumerateColNames to TRUE.

See Also:
  - `setEnumerateColNames(boolean)`

### getPrintColNames

public boolean getPrintColNames()
returns whether column names or numbers instead are printed

### setPrintRowNames

public void setPrintRowNames(boolean print)
sets whether the row names or numbers instead are printed deactivating automatically sets m_EnumerateColNames to TRUE.

See Also:
  - `setEnumerateRowNames(boolean)`

### getPrintRowNames

public boolean getPrintRowNames()
returns whether row names or numbers instead are printed

### setEnumerateColNames

public void setEnumerateColNames(boolean enumerate)
sets whether the column names are prefixed with "(x)" where "x" is the index

### getEnumerateColNames

public boolean getEnumerateColNames()
returns whether column names or numbers instead are enumerateed

### setEnumerateRowNames

public void setEnumerateRowNames(boolean enumerate)
sets whether to the row names or numbers instead are enumerateed

### getEnumerateRowNames

public boolean getEnumerateRowNames()
returns whether row names or numbers instead are enumerateed

### getColCount

public int getColCount()
returns the number of columns

### getVisibleColCount

public int getVisibleColCount()
returns the number of visible columns

### getRowCount

public int getRowCount()
returns the number of rows

### getVisibleRowCount

public int getVisibleRowCount()
returns the number of visible 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.

See Also:
  - `setPrintColNames(boolean)`
  - `getPrintColNames()`
  - `setEnumerateColNames(boolean)`
  - `getEnumerateColNames()`

### 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.

See Also:
  - `setPrintRowNames(boolean)`
  - `getPrintRowNames()`
  - `setEnumerateRowNames(boolean)`
  - `getEnumerateRowNames()`

### 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

### 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

### 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

### getAverage

public double getAverage(int col)
returns the average of the mean at the given position, if the position is valid, otherwise 0

### 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

### 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

### 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

### 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

### toString

public String toString()
returns the matrix as a string

Overrides:
  `toString` in class `Object`
See Also:
  - `toStringMatrix()`

### 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 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

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

### 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

### 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