|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--weka.classifiers.Classifier | +--probabilityMachine.VennProbabilityClassifier | +--probabilityMachine.vpm.VPMBartsRMI2
The second VPM version of the BartsRMI algorithm. Uses Gaussians to model strangeness types! (Only for use on Ovarian Cancer data)
Constructor Summary | |
VPMBartsRMI2()
The amazing VPMBartsRMI classifier |
|
VPMBartsRMI2(double rmit,
int vennt)
The amazing VPMBartsRMI2 classifier, used to show how to adapt a classifer to the VPM meta learning framework! |
Method Summary | |
double[] |
addDoubleToEndOfArray(double[] array,
double d)
|
int |
assignVennType(double dist,
int chosenGaussian)
This is the function that sets the type depending on the number of deviations from the mean! (This need not be symmetric about the mean!) |
void |
buildClassifier(Instances instances)
Generates the classifier. |
double |
calculateRMI(Instance instance)
Calculates the Risk of Malignancy Index find ref ? (Jacobs et al) |
int[] |
countNumberInSameTypeAsNewTest(int[] closestGaussianVennType)
Simple function to count the number of training examples of the same Venn type as the new test example. |
int[] |
createSymmetricVennTranslationVector()
Creates a vector to work out how to translate identifier -> index |
java.lang.String |
createTypeDetailString(int[] closestGaussianVennType,
int[] typeDetails,
int classAssigned)
Output type membership details |
int[] |
findVennTypes(double benignAlphaMean,
double benignAlphaVar,
double malignantAlphaMean,
double malignantAlphaVar,
double[] allAlphas,
double alphaNew)
Computes the Venn types for training and new test example |
int[] |
getGaussianStdTypes(int[] closestGaussianVennType,
double benignAlphaMean,
double benignAlphaVar,
double malignantAlphaMean,
double malignantAlphaVar,
double[] allAlphas,
double alphaNew)
Finds the number of std deviations away from the mean of each Gaussian -ve represent in Benign Gaussian +ve represent in Malignant Gaussian. |
int |
getNumberVennTypes()
Gets the number of Venn probability types used! |
java.lang.String[] |
getOptions()
Gets the current settings of VPM. |
double |
getRMIThreshold()
Gets the currently set RMI threshold |
java.util.Enumeration |
listOptions()
Returns an enumeration describing the available options |
double |
mahanobolisDistanceFrom(double mean,
double var,
double x)
Finds the number of standard deviations from the mean of a Gaussian |
static void |
main(java.lang.String[] argv)
Main method for testing this class. |
java.lang.String |
printArray(double[] array)
Debugging function |
double |
probGaussian(double mean,
double var,
double x)
Computes prob from a Gaussian! |
int[] |
setAsTrueGaussian(int chosenGaussianOfTest)
Debugging class that sets the Gaussian to its true class |
void |
setNumberVennTypes(int vennt)
Sets the number of Venn probability types used! |
void |
setOptions(java.lang.String[] options)
Parses a given list of options. |
void |
setRMIThreshold(double rmit)
Sets the RMI threshold |
java.lang.String |
toString()
Returns a description of this classifier. |
Matrix |
vennProbsForInstance(Instance instance)
Returns the Venn probability matrix for a given test instance. |
Methods inherited from class probabilityMachine.VennProbabilityClassifier |
classifyInstance, computeRowOfVPMMatrix, distributionForInstance, printArray, returnDistribution, returnUpperAndLowerProbability |
Methods inherited from class weka.classifiers.Classifier |
debugTipText, forName, getDebug, makeCopies, setDebug |
Methods inherited from class java.lang.Object |
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Constructor Detail |
public VPMBartsRMI2(double rmit, int vennt)
The options for this wonderful algorithm are as follows:
-r threshold
Set the threshold for the RMI
(default: 250)
-y num Venn types
Sets the number of types used for the VPM
rmit
- the RMI thresholdvennt
- the number of Venn probability types usedpublic VPMBartsRMI2()
Method Detail |
public void setRMIThreshold(double rmit)
public double getRMIThreshold()
public void setNumberVennTypes(int vennt)
public int getNumberVennTypes()
public void buildClassifier(Instances instances) throws java.lang.Exception
buildClassifier
in class Classifier
instances
- set of instances serving as training data
java.lang.Exception
- if the classifier has not been generated successfullypublic java.util.Enumeration listOptions()
listOptions
in interface OptionHandler
listOptions
in class Classifier
public void setOptions(java.lang.String[] options) throws java.lang.Exception
-r threshold
Set the threshold for the RMI
(default: 250)
-y num Venn types
Sets the number of types used for the VPM
setOptions
in interface OptionHandler
setOptions
in class Classifier
options
- the list of options as an array of strings
java.lang.Exception
- if an option is not supportedpublic java.lang.String[] getOptions()
getOptions
in interface OptionHandler
getOptions
in class Classifier
public double calculateRMI(Instance instance)
public double[] addDoubleToEndOfArray(double[] array, double d)
public double probGaussian(double mean, double var, double x)
public int[] findVennTypes(double benignAlphaMean, double benignAlphaVar, double malignantAlphaMean, double malignantAlphaVar, double[] allAlphas, double alphaNew)
public int[] getGaussianStdTypes(int[] closestGaussianVennType, double benignAlphaMean, double benignAlphaVar, double malignantAlphaMean, double malignantAlphaVar, double[] allAlphas, double alphaNew)
public int assignVennType(double dist, int chosenGaussian)
public double mahanobolisDistanceFrom(double mean, double var, double x)
public int[] createSymmetricVennTranslationVector()
public int[] countNumberInSameTypeAsNewTest(int[] closestGaussianVennType)
public int[] setAsTrueGaussian(int chosenGaussianOfTest)
public Matrix vennProbsForInstance(Instance instance) throws java.lang.Exception
vennProbsForInstance
in class VennProbabilityClassifier
instance
- the instance to be classified
java.lang.Exception
- no training instancespublic java.lang.String printArray(double[] array)
printArray
in class VennProbabilityClassifier
public java.lang.String createTypeDetailString(int[] closestGaussianVennType, int[] typeDetails, int classAssigned)
public java.lang.String toString()
toString
in class java.lang.Object
public static void main(java.lang.String[] argv)
argv
- should contain command line arguments for evaluation
(see Evaluation).
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
Copyright (c) 2003 David Lindsay, Computer Learning Research Centre, Dept. Computer Science, Royal Holloway, University of London