Package weka.experiment
Class ResultMatrix
- java.lang.Object
-
- weka.experiment.ResultMatrix
-
- All Implemented Interfaces:
java.io.Serializable
,RevisionHandler
- Direct Known Subclasses:
ResultMatrixCSV
,ResultMatrixGnuPlot
,ResultMatrixHTML
,ResultMatrixLatex
,ResultMatrixPlainText
,ResultMatrixSignificance
public abstract class ResultMatrix extends java.lang.Object implements java.io.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 java.lang.String
LEFT_PARENTHESES
the left parentheses for enumerating cols/rowsjava.lang.String
LOSS_STRING
loss stringjava.lang.String
RIGHT_PARENTHESES
the right parentheses for enumerating cols/rowsstatic int
SIGNIFICANCE_LOSS
lossstatic int
SIGNIFICANCE_TIE
tiestatic int
SIGNIFICANCE_WIN
winjava.lang.String
TIE_STRING
tie stringjava.lang.String
WIN_STRING
win string
-
Constructor Summary
Constructors Constructor Description ResultMatrix()
initializes the matrix as 1x1 matrixResultMatrix(int cols, int rows)
initializes the matrix with the given dimensionsResultMatrix(ResultMatrix matrix)
initializes the matrix with the values from the given matrix
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description void
addHeader(java.lang.String key, java.lang.String value)
adds the key-value pair to the headervoid
assign(ResultMatrix matrix)
acquires the data from the given matrixvoid
clear()
removes the stored data and the ordering, but retains the dimensions of the matrixvoid
clearHeader()
removes all the header informationvoid
clearRanking()
clears the currently stored ranking datavoid
clearSummary()
clears the current summary datadouble
getAverage(int col)
returns the average of the mean at the given position, if the position is valid, otherwise 0int
getColCount()
returns the number of columnsboolean
getColHidden(int index)
returns the hidden status of the column, if the index is valid, otherwise falsejava.lang.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 namesint[]
getColOrder()
returns the current order of the columns, null means the default orderdouble
getCount(int index)
returns the count for the row.int
getCountWidth()
returns the current width for the countsint
getDisplayCol(int index)
returns the displayed index of the given col, depending on the order of columns, returns -1 if index out of boundsabstract java.lang.String
getDisplayName()
returns the name of the output formatint
getDisplayRow(int index)
returns the displayed index of the given row, depending on the order of rows, returns -1 if index out of boundsboolean
getEnumerateColNames()
returns whether column names or numbers instead are enumerateedboolean
getEnumerateRowNames()
returns whether row names or numbers instead are enumerateedjava.lang.String
getHeader(java.lang.String key)
returns the value associated with the given key, null if if cannot be founddouble
getMean(int col, int row)
returns the mean at the given position, if the position is valid, otherwise 0int
getMeanPrec()
returns the current precision for the meansint
getMeanWidth()
returns the current width for the meanboolean
getPrintColNames()
returns whether column names or numbers instead are printedboolean
getPrintRowNames()
returns whether row names or numbers instead are printedboolean
getRemoveFilterName()
returns whether the filter classname is removed from the dataset nameint
getRowCount()
returns the number of rowsboolean
getRowHidden(int index)
returns the hidden status of the row, if the index is valid, otherwise falsejava.lang.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 namesint[]
getRowOrder()
returns the current order of the rows, null means the default orderboolean
getShowAverage()
returns whether average per column is displayed or notboolean
getShowStdDev()
returns whether std deviations are displayed or notint
getSignificance(int col, int row)
returns the significance at the given position, if the position is valid, otherwise SIGNIFICANCE_ATIEint
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 significancedouble
getStdDev(int col, int row)
returns the std deviation at the given position, if the position is valid, otherwise 0int
getStdDevPrec()
returns the current standard deviation precisionint
getStdDevWidth()
returns the current width for the std devint
getVisibleColCount()
returns the number of visible columnsint
getVisibleRowCount()
returns the number of visible rowsjava.util.Enumeration
headerKeys()
returns an enumeration of the header keysvoid
setColHidden(int index, boolean hidden)
sets the hidden status of the column (if the index is valid)void
setColName(int index, java.lang.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 defaultvoid
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 indexvoid
setEnumerateRowNames(boolean enumerate)
sets whether to the row names or numbers instead are enumerateedvoid
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 meansvoid
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 winsvoid
setRemoveFilterName(boolean remove)
sets whether to remove the filter classname from the dataset namevoid
setRowHidden(int index, boolean hidden)
sets the hidden status of the row (if the index is valid)void
setRowName(int index, java.lang.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 defaultvoid
setShowAverage(boolean show)
sets whether to display the average per column or notvoid
setShowStdDev(boolean show)
sets whether to display the std deviations or notvoid
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 sizevoid
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 deviationvoid
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 resultsetsjava.lang.String
toString()
returns the matrix as a stringabstract java.lang.String
toStringHeader()
returns the header of the matrix as a stringabstract java.lang.String
toStringKey()
returns returns a key for all the col names, for better readability if the names got cut offabstract java.lang.String
toStringMatrix()
returns the matrix as a stringabstract java.lang.String
toStringRanking()
returns the ranking in a string representationabstract java.lang.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 Detail
-
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 java.lang.String TIE_STRING
tie string
-
WIN_STRING
public java.lang.String WIN_STRING
win string
-
LOSS_STRING
public java.lang.String LOSS_STRING
loss string
-
LEFT_PARENTHESES
public java.lang.String LEFT_PARENTHESES
the left parentheses for enumerating cols/rows
-
RIGHT_PARENTHESES
public java.lang.String RIGHT_PARENTHESES
the right parentheses for enumerating cols/rows
-
-
Constructor Detail
-
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 Detail
-
getDisplayName
public abstract java.lang.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 columnsrows
- 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, java.lang.String name)
sets the name of the column (if the index is valid)- Parameters:
index
- the index of the columnname
- the name of the column
-
getColName
public java.lang.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.
-
setRowName
public void setRowName(int index, java.lang.String name)
sets the name of the row (if the index is valid)- Parameters:
index
- the index of the rowname
- the name of the row
-
getRowName
public java.lang.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.
-
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 columnhidden
- 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 rowhidden
- 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 rowcount
- 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 meanrow
- the row of the meanvalue
- 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. deviationrow
- the row of the std deviationvalue
- 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 significancerow
- the row of the significancevalue
- 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 fromtype
- 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 java.lang.String toStringMatrix()
returns the matrix as a string
-
toString
public java.lang.String toString()
returns the matrix as a string- Overrides:
toString
in classjava.lang.Object
- See Also:
toStringMatrix()
-
clearHeader
public void clearHeader()
removes all the header information
-
addHeader
public void addHeader(java.lang.String key, java.lang.String value)
adds the key-value pair to the header- Parameters:
key
- the name of the header valuevalue
- the value of the header value
-
getHeader
public java.lang.String getHeader(java.lang.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 java.util.Enumeration headerKeys()
returns an enumeration of the header keys- Returns:
- all stored keys
-
toStringHeader
public abstract java.lang.String toStringHeader()
returns the header of the matrix as a string- See Also:
m_HeaderKeys
,m_HeaderValues
-
toStringKey
public abstract java.lang.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 winswins
- the significant wins
-
toStringSummary
public abstract java.lang.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 java.lang.String toStringRanking()
returns the ranking in a string representation
-
-