oracle.dmt.odm.task
Class ModelSeekerTask

java.lang.Object
  |
  +--oracle.dmt.odm.MiningObject
        |
        +--oracle.dmt.odm.LocatableObject
              |
              +--oracle.dmt.odm.task.MiningTask
                    |
                    +--oracle.dmt.odm.task.MiningDataTask
                          |
                          +--oracle.dmt.odm.task.MiningBuildTask
                                |
                                +--oracle.dmt.odm.task.ModelSeekerTask
All Implemented Interfaces:
java.io.Serializable

public class ModelSeekerTask
extends MiningBuildTask

An instance of ModelSeekerTask is a task used to invoke the Model Seeker functionality.

Model Seeker functionality allows the user to:

1. define multiple models to be built, tested, and have lift calculated. This is done by defining an instance of ClassificationMiningFunctionSettings class, and defining which algorithms to use with specific parameter values. This object must be stored before a ModelSeekerTask can be executed.

2. build multiple models as specified by the settings object above. Model Seeker determines a figure of merit (FOM) for each model built from which to select the best model. The FOM value is defined as the weighted sum of the relative accuracy for the preferred target value and the relative accuracy for all other values treated as a single category.

3. store Test and Lift results for all the models. Only the best model is stored. The individual function settings objects used for each model build are also stored.

4. examine the results of the operation after restoring the ModelSeekerResult object.

See Also:
Serialized Form

Constructor Summary
ModelSeekerTask(java.lang.String resultName, java.lang.String prefix, PhysicalDataSpecification buildData, PhysicalDataSpecification testData, java.lang.String miningFunctionSettingsName, int numberOfQuantilesForLift, Category positiveTargetValue, float weight)
          Creates an instance of a ModelSeekerTask with information needed to build multiple models.
 
Method Summary
TypeMethod
 PhysicalDataSpecification getBuildPDS()
          Returns the PhysicalDataSpecification object used to build the model.
 PhysicalDataSpecification getEvaluatePDS()
          Returns the PhysicalDataSpecification object used to test and calculate lift for the model.
 int getNumberOfQuantilesForLift()
          Returns the value representing the number of quantiles.
 Category getPositiveTargetValue()
          Returns the Category for the positive target value.
 java.lang.String getPrefix()
          Returns the String prefix.
 java.lang.String getResultName()
          Returns the name of the result object.
 float getWeight()
          Returns the weight value used to compute the figure of merit.
static MiningBuildTask restore(Connection dmsConn, java.lang.String taskName)
          Restores the user-specified mining task object from the ODM database.
 
Methods inherited from class oracle.dmt.odm.task.MiningBuildTask
getResultModelName, getSettingsName
 
Methods inherited from class oracle.dmt.odm.task.MiningDataTask
getInputModelName, getTaskInputData
 
Methods inherited from class oracle.dmt.odm.task.MiningTask
execute, getCurrentStatus, getExecutionDuration, getName, getStatusHistory, listTasks, remove, store, terminate, waitForCompletion, waitForCompletion
 
Methods inherited from class oracle.dmt.odm.LocatableObject
deserialize, serialize
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ModelSeekerTask

public ModelSeekerTask(java.lang.String resultName,
                       java.lang.String prefix,
                       PhysicalDataSpecification buildData,
                       PhysicalDataSpecification testData,
                       java.lang.String miningFunctionSettingsName,
                       int numberOfQuantilesForLift,
                       Category positiveTargetValue,
                       float weight)
                throws InvalidArgumentException,
                       ODMException
Creates an instance of a ModelSeekerTask with information needed to build multiple models. This information includes the names of the source tables for building and testing the models, the name of the ModelSeekerResult object created, a prefix string from which names are created for all the models built and their corresponding result objects, the name of the MiningFunctionSettings object used to build the models, and the weight parameter used to calcuate a figure of merit for each of the models. The model with the best figure of merit will be chosen as the best model.
Parameters:
resultName - Name of the result object associated with the task.
prefix - This string is used as the prefix for the names of all the named created objects, such as model names, function settings name, test result names, etc.
buildData - This pds object specifies the build dataset.
testData - This pds object specifies the dataset used for test and lift.
miningFunctionSettingsName - This string names the mfs object to be used by ModelSeeker.
numberOfQuantilesForLift - Number of quantiles to be used while computing lift.
numberOfQuantilesForLift - This is the number of quantiles to be used while computing lift.
positiveTargetValue - This is the positive target value to be used for computing lift.
weight - This is the weight value to be used for computing the figure of merit (FOM). A weight of 1.0 means that the false negative and false positves have equal importance or cost. The user should set weight to an estimate of the ratio of the cost of false negatives to the cost of false positives as follows. Estimate the ratio of (1) the cost associated with some fraction of the true positives being incorrectly classified as negatives to (2) the cost associated with the same fraction of the true negatives being incorrectly classified as positives.
Throws:
ODMException
- the caller has not previously logged into the DMS

InvalidArgumentException
- null sModelSeekerResultName
- null prefix
- null bData
- null tData
- null miningFunctionSettingsName
- null positiveTargetValue
- zero length or too long cResultName
- zero length or too long prefix
- zero length or too long miningFunctionSettingsName
- numberOfQuantilesForLift < 2
- weight < 0.0
If there is more than one invalid argument, the exception message identifies the first invalid argument found and the reason it is invalid.
Method Detail

restore

public static MiningBuildTask restore(Connection dmsConn,
                                      java.lang.String taskName)
                               throws InvalidArgumentException,
                                      MiningTaskException,
                                      java.sql.SQLException,
                                      ODMException
Restores the user-specified mining task object from the ODM database.

It is NECESSARY TO CAST the object returned by this method to be a ModelSeekerTask object in the following manner:

     ModelSeekerTask msTask =
          (ModelSeekerTask)ModelSeekerTask.restore(conn,"name");
Parameters:
dmsConn - Data mining server connection.
taskName - Name of the ModelSeekerTask object to be restored.
Returns:
the restored MiningBuildTask object.
Throws:
ODMException
- the caller has not previously logged into ODM DMS

MiningTaskException
- the named task does not exist in the database

SQLException
- failure in a JDBC call to the database made by an internally used method

InvalidArgumentException
- null dmsConn
- null sTaskName
- zero length or too long sTaskName argument
If there is more than one invalid argument, the exception message identifies the first invalid argument found and the reason it is invalid

getResultName

public java.lang.String getResultName()
Returns the name of the result object.
Returns:
The name of the result associated with the task.

getPrefix

public java.lang.String getPrefix()
Returns the String prefix.
Returns:
The String prefix to be used while creating names internally for various objects.

getBuildPDS

public PhysicalDataSpecification getBuildPDS()
Returns the PhysicalDataSpecification object used to build the model.
Returns:
The PhysicalDataSpecification object for the data source used to build the model.

getEvaluatePDS

public PhysicalDataSpecification getEvaluatePDS()
Returns the PhysicalDataSpecification object used to test and calculate lift for the model.
Returns:
The PhysicalDataSpecification object for the data source used to test and calculate lift for the model.

getNumberOfQuantilesForLift

public int getNumberOfQuantilesForLift()
Returns the value representing the number of quantiles.
Returns:
The value representing the number of quantiles used for lift computation.

getPositiveTargetValue

public Category getPositiveTargetValue()
Returns the Category for the positive target value.
Returns:
The Category for the positive target value to be used for lift computation and for figure of merit.

getWeight

public float getWeight()
Returns the weight value used to compute the figure of merit.
Returns:
The value representing the weight parameter used in computing the figure of merit for each model built.