public class PrincipalComponents extends UnsupervisedAttributeEvaluator implements AttributeTransformer, OptionHandler
-C Center (rather than standardize) the data and compute PCA using the covariance (rather than the correlation) matrix.
-R Retain enough PC attributes to account for this proportion of variance in the original data. (default = 0.95)
-O Transform through the PC space and back to the original space.
-A Maximum number of attributes to include in transformed attribute names. (-1 = include all)
| Constructor and Description |
|---|
PrincipalComponents() |
| Modifier and Type | Method and Description |
|---|---|
void |
buildEvaluator(Instances data)
Initializes principal components and performs the analysis
|
java.lang.String |
centerDataTipText()
Returns the tip text for this property
|
Instance |
convertInstance(Instance instance)
Transform an instance in original (unormalized) format.
|
double |
evaluateAttribute(int att)
Evaluates the merit of a transformed attribute.
|
Capabilities |
getCapabilities()
Returns the capabilities of this evaluator.
|
boolean |
getCenterData()
Get whether to center (rather than standardize) the data.
|
double[][] |
getCorrelationMatrix()
Return the correlation/covariance matrix
|
double[] |
getEigenValues()
Return the eigenvalues corresponding to the eigenvectors
|
Instances |
getFilteredInputFormat()
Return the header of the training data after all filtering - i.e missing
values and nominal to binary.
|
int |
getMaximumAttributeNames()
Gets maximum number of attributes to include in transformed attribute
names.
|
java.lang.String[] |
getOptions()
Gets the current settings of PrincipalComponents
|
java.lang.String |
getRevision()
Returns the revision string.
|
boolean |
getTransformBackToOriginal()
Gets whether the data is to be transformed back to the original space.
|
double[][] |
getUnsortedEigenVectors()
Return the unsorted eigenvectors
|
double |
getVarianceCovered()
Gets the proportion of total variance to account for when retaining
principal components
|
java.lang.String |
globalInfo()
Returns a string describing this attribute transformer
|
void |
initializeAndComputeMatrix(Instances data)
Intializes the evaluator, filters the input data and computes the
correlation/covariance matrix.
|
java.util.Enumeration<Option> |
listOptions()
Returns an enumeration describing the available options.
|
static void |
main(java.lang.String[] argv)
Main method for testing this class
|
static java.lang.String |
matrixToString(double[][] matrix)
Return a matrix as a String
|
java.lang.String |
maximumAttributeNamesTipText()
Returns the tip text for this property
|
void |
setCenterData(boolean center)
Set whether to center (rather than standardize) the data.
|
void |
setMaximumAttributeNames(int m)
Sets maximum number of attributes to include in transformed attribute
names.
|
void |
setOptions(java.lang.String[] options)
Parses a given list of options.
|
void |
setTransformBackToOriginal(boolean b)
Sets whether the data should be transformed back to the original space
|
void |
setVarianceCovered(double vc)
Sets the amount of variance to account for when retaining principal
components
|
java.lang.String |
toString()
Returns a description of this attribute transformer
|
java.lang.String |
transformBackToOriginalTipText()
Returns the tip text for this property
|
Instances |
transformedData(Instances data)
Gets the transformed training data.
|
Instances |
transformedHeader()
Returns just the header for the transformed data (ie.
|
java.lang.String |
varianceCoveredTipText()
Returns the tip text for this property
|
clean, doNotCheckCapabilitiesTipText, forName, getDoNotCheckCapabilities, makeCopies, postExecution, postProcess, preExecution, run, runEvaluator, setDoNotCheckCapabilitiesequals, getClass, hashCode, notify, notifyAll, wait, wait, waitmakeCopypublic java.lang.String globalInfo()
public java.util.Enumeration<Option> listOptions()
listOptions in interface OptionHandlerlistOptions in class ASEvaluationpublic void setOptions(java.lang.String[] options)
throws java.lang.Exception
-C Center (rather than standardize) the data and compute PCA using the covariance (rather than the correlation) matrix.
-R Retain enough PC attributes to account for this proportion of variance in the original data. (default = 0.95)
-O Transform through the PC space and back to the original space.
-A Maximum number of attributes to include in transformed attribute names. (-1 = include all)
setOptions in interface OptionHandlersetOptions in class ASEvaluationoptions - the list of options as an array of stringsjava.lang.Exception - if an option is not supportedpublic java.lang.String centerDataTipText()
public void setCenterData(boolean center)
center - true if the data is to be centered rather than standardizedpublic boolean getCenterData()
public java.lang.String varianceCoveredTipText()
public void setVarianceCovered(double vc)
vc - the proportion of total variance to account forpublic double getVarianceCovered()
public java.lang.String maximumAttributeNamesTipText()
public void setMaximumAttributeNames(int m)
m - the maximum number of attributespublic int getMaximumAttributeNames()
public java.lang.String transformBackToOriginalTipText()
public void setTransformBackToOriginal(boolean b)
b - true if the data should be transformed back to the original spacepublic boolean getTransformBackToOriginal()
public java.lang.String[] getOptions()
getOptions in interface OptionHandlergetOptions in class ASEvaluationpublic Capabilities getCapabilities()
getCapabilities in interface CapabilitiesHandlergetCapabilities in class ASEvaluationCapabilitiespublic void buildEvaluator(Instances data) throws java.lang.Exception
buildEvaluator in class ASEvaluationdata - the instances to analyse/transformjava.lang.Exception - if analysis failspublic void initializeAndComputeMatrix(Instances data) throws java.lang.Exception
data - the instances to analysejava.lang.Exception - if a problem occurspublic Instances transformedHeader() throws java.lang.Exception
transformedHeader in interface AttributeTransformerjava.lang.Exception - if the header of the transformed data can't be
determined.public Instances getFilteredInputFormat()
public double[][] getCorrelationMatrix()
public double[][] getUnsortedEigenVectors()
public double[] getEigenValues()
public Instances transformedData(Instances data) throws java.lang.Exception
transformedData in interface AttributeTransformerjava.lang.Exception - if transformed data can't be returnedpublic double evaluateAttribute(int att)
throws java.lang.Exception
evaluateAttribute in interface AttributeEvaluatoratt - the attribute to be evaluatedjava.lang.Exception - if attribute can't be evaluatedpublic java.lang.String toString()
toString in class java.lang.Objectpublic static java.lang.String matrixToString(double[][] matrix)
matrix - that is decribed as a stringpublic Instance convertInstance(Instance instance) throws java.lang.Exception
convertInstance in interface AttributeTransformerinstance - an instance in the original (unormalized) formatjava.lang.Exception - if instance cant be transformedpublic java.lang.String getRevision()
getRevision in interface RevisionHandlergetRevision in class ASEvaluationpublic static void main(java.lang.String[] argv)
argv - should contain the command line arguments to the
evaluator/transformer (see AttributeSelection)