Class PrincipalComponents
java.lang.Object
weka.filters.Filter
weka.filters.unsupervised.attribute.PrincipalComponents
- All Implemented Interfaces:
Serializable,CapabilitiesHandler,CapabilitiesIgnorer,CommandlineRunnable,OptionHandler,RevisionHandler,UnsupervisedFilter
Performs a principal components analysis and
transformation of the data.
Dimensionality reduction is accomplished by choosing enough eigenvectors to account for some percentage of the variance in the original data -- default 0.95 (95%).
Based on code of the attribute selection scheme 'PrincipalComponents' by Mark Hall and Gabi Schmidberger. Valid options are:
Dimensionality reduction is accomplished by choosing enough eigenvectors to account for some percentage of the variance in the original data -- default 0.95 (95%).
Based on code of the attribute selection scheme 'PrincipalComponents' by Mark Hall and Gabi Schmidberger. Valid options are:
-C Center (rather than standardize) the data and compute PCA using the covariance (rather than the correlation) matrix.
-R <num> Retain enough PC attributes to account for this proportion of variance in the original data. (default: 0.95)
-A <num> Maximum number of attributes to include in transformed attribute names. (-1 = include all, default: 5)
-M <num> Maximum number of PC attributes to retain. (-1 = include all, default: -1)
- Version:
- $Revision: 12660 $
- Author:
- Mark Hall (mhall@cs.waikato.ac.nz) -- attribute selection code, Gabi Schmidberger (gabi@cs.waikato.ac.nz) -- attribute selection code, fracpete (fracpete at waikato dot ac dot nz) -- filter code
- See Also:
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbooleanSignify that this batch of input to the filter is finished.Returns the tip text for this propertyReturns the capabilities of this evaluator.booleanGet whether to center (rather than standardize) the data.intGets maximum number of attributes to include in transformed attribute names.intGets maximum number of PC attributes to retain.String[]Gets the current settings of the filter.Returns the revision string.doubleGets the proportion of total variance to account for when retaining principal components.Returns a string describing this filter.booleanInput an instance for filtering.Returns an enumeration describing the available options.static voidMain method for running this filter.Returns the tip text for this property.Returns the tip text for this property.voidsetCenterData(boolean center) Set whether to center (rather than standardize) the data.booleansetInputFormat(Instances instanceInfo) Sets the format of the input instances.voidsetMaximumAttributeNames(int value) Sets maximum number of attributes to include in transformed attribute names.voidsetMaximumAttributes(int value) Sets maximum number of PC attributes to retain.voidsetOptions(String[] options) Parses a list of options for this object.voidsetVarianceCovered(double value) Sets the amount of variance to account for when retaining principal components.Returns the tip text for this property.Methods inherited from class weka.filters.Filter
batchFilterFile, debugTipText, doNotCheckCapabilitiesTipText, filterFile, getCapabilities, getCopyOfInputFormat, getDebug, getDoNotCheckCapabilities, getOutputFormat, isFirstBatchDone, isNewBatch, isOutputFormatDefined, makeCopies, makeCopy, mayRemoveInstanceAfterFirstBatchDone, numPendingOutput, output, outputPeek, postExecution, preExecution, run, runFilter, setDebug, setDoNotCheckCapabilities, toString, useFilter, wekaStaticWrapper
-
Constructor Details
-
PrincipalComponents
public PrincipalComponents()
-
-
Method Details
-
globalInfo
Returns a string describing this filter.- Returns:
- a description of the filter suitable for displaying in the explorer/experimenter gui
-
listOptions
Returns an enumeration describing the available options.- Specified by:
listOptionsin interfaceOptionHandler- Overrides:
listOptionsin classFilter- Returns:
- an enumeration of all the available options.
-
setOptions
Parses a list of options for this object. Valid options are:-C Center (rather than standardize) the data and compute PCA using the covariance (rather than the correlation) matrix.
-R <num> Retain enough PC attributes to account for this proportion of variance in the original data. (default: 0.95)
-A <num> Maximum number of attributes to include in transformed attribute names. (-1 = include all, default: 5)
-M <num> Maximum number of PC attributes to retain. (-1 = include all, default: -1)
- Specified by:
setOptionsin interfaceOptionHandler- Overrides:
setOptionsin classFilter- Parameters:
options- the list of options as an array of strings- Throws:
Exception- if an option is not supported
-
getOptions
Gets the current settings of the filter.- Specified by:
getOptionsin interfaceOptionHandler- Overrides:
getOptionsin classFilter- Returns:
- an array of strings suitable for passing to setOptions
-
centerDataTipText
Returns the tip text for this property- Returns:
- tip text for this property suitable for displaying in the explorer/experimenter gui
-
setCenterData
public void setCenterData(boolean center) Set whether to center (rather than standardize) the data. If set to true then PCA is computed from the covariance rather than correlation matrix.- Parameters:
center- true if the data is to be centered rather than standardized
-
getCenterData
public boolean getCenterData()Get whether to center (rather than standardize) the data. If true then PCA is computed from the covariance rather than correlation matrix.- Returns:
- true if the data is to be centered rather than standardized.
-
varianceCoveredTipText
Returns the tip text for this property.- Returns:
- tip text for this property suitable for displaying in the explorer/experimenter gui
-
setVarianceCovered
public void setVarianceCovered(double value) Sets the amount of variance to account for when retaining principal components.- Parameters:
value- the proportion of total variance to account for
-
getVarianceCovered
public double getVarianceCovered()Gets the proportion of total variance to account for when retaining principal components.- Returns:
- the proportion of variance to account for
-
maximumAttributeNamesTipText
Returns the tip text for this property.- Returns:
- tip text for this property suitable for displaying in the explorer/experimenter gui
-
setMaximumAttributeNames
public void setMaximumAttributeNames(int value) Sets maximum number of attributes to include in transformed attribute names.- Parameters:
value- the maximum number of attributes
-
getMaximumAttributeNames
public int getMaximumAttributeNames()Gets maximum number of attributes to include in transformed attribute names.- Returns:
- the maximum number of attributes
-
maximumAttributesTipText
Returns the tip text for this property.- Returns:
- tip text for this property suitable for displaying in the explorer/experimenter gui
-
setMaximumAttributes
public void setMaximumAttributes(int value) Sets maximum number of PC attributes to retain.- Parameters:
value- the maximum number of attributes
-
getMaximumAttributes
public int getMaximumAttributes()Gets maximum number of PC attributes to retain.- Returns:
- the maximum number of attributes
-
getCapabilities
Returns the capabilities of this evaluator.- Specified by:
getCapabilitiesin interfaceCapabilitiesHandler- Overrides:
getCapabilitiesin classFilter- Returns:
- the capabilities of this evaluator
- See Also:
-
setInputFormat
Sets the format of the input instances.- Overrides:
setInputFormatin classFilter- Parameters:
instanceInfo- an Instances object containing the input instance structure (any instances contained in the object are ignored - only the structure is required).- Returns:
- true if the outputFormat may be collected immediately
- Throws:
Exception- if the input format can't be set successfully
-
input
Input an instance for filtering. Filter requires all training instances be read before producing output.- Overrides:
inputin classFilter- Parameters:
instance- the input instance- Returns:
- true if the filtered instance may now be collected with output().
- Throws:
IllegalStateException- if no input format has been setException- if conversion fails
-
batchFinished
Signify that this batch of input to the filter is finished.- Overrides:
batchFinishedin classFilter- Returns:
- true if there are instances pending output
- Throws:
NullPointerException- if no input structure has been defined,Exception- if there was a problem finishing the batch.
-
getRevision
Returns the revision string.- Specified by:
getRevisionin interfaceRevisionHandler- Overrides:
getRevisionin classFilter- Returns:
- the revision
-
main
Main method for running this filter.- Parameters:
args- should contain arguments to the filter: use -h for help
-