javax.datamining.base
Interface BuildSettings

All Superinterfaces:
MiningObject
All Known Subinterfaces:
AssociationSettings, AttributeImportanceSettings, ClassificationSettings, ClusteringSettings, RegressionSettings, SupervisedSettings

public interface BuildSettings
extends MiningObject

BuildSettings instance captures the high level specification for building a data mining model. JDM characterizes mining functions as classification, regression, association rules, attribute importance, or clustering, specified as interfaces inheriting from BuildSettings.

Build settings allow a user to specify the type of result desired without having to specify a particular algorithm. Although build settings allow for the specification of an algorithm, if this is omitted, the DME must select the algorithm.

Author:
JSR-73 Java Data Mining Expert Group
See Also:
MiningObject

Method Summary
 AlgorithmSettings getAlgorithmSettings()
          Returns the algorithm settings associated with the build settings.
 int getDesiredExecutionTimeInMinutes()
          Returns the desired execution time specified by the user, if any.
 java.util.Collection getLogicalAttributes(LogicalAttributeUsage usage)
          Returns a collection of LogicalAttribute names with the specified usage.
 LogicalData getLogicalData()
          Returns a reference to a LogicalData instance associated with the build settings.
 java.lang.String getLogicalDataName()
          Returns the name of the LogicalData object if set via setLogicalDataName(String) method.
 MiningFunction getMiningFunction()
          Returns the type of mining function specified for the build settings.
 Interval getOutlierIdentification(java.lang.String logicalAttrName)
          Returns the interval for non-outliers for the specified attribute.
 OutlierTreatment getOutlierTreatment(java.lang.String logicalAttrName)
          Returns the outlier treatment for the specified logical attribute.
 LogicalAttributeUsage getUsage(java.lang.String logicalAttrName)
          Returns the usage of the specified logical attribute.
 double getWeight(java.lang.String logicalAttrName)
          Returns the weight of the specified logical attribute by name.
 java.lang.String getWeightAttribute()
          Returns the attribute name used as the weight of the individual cases.
 void setAlgorithmSettings(AlgorithmSettings algorithmSettings)
          Sets the algorithm settings to be associated with the build settings.
 void setDesiredExecutionTimeInMinutes(int minutes)
          Sets the desired execution time specified by the user, if any.
 void setLogicalDataName(java.lang.String name)
          Sets the logical data to reference a named LogicalData object.
 void setOutlierIdentification(java.lang.String logicalAttrName, Interval bounds)
          Specifies the range of non-outliers.
 void setOutlierTreatment(java.lang.String logicalAttrName, OutlierTreatment treatment)
          For numerical attributes, specifies the outlier treatment.
 void setUsage(java.lang.String logicalAttrName, LogicalAttributeUsage usage)
          Sets the usage of the specified logical attribute.
 void setWeight(java.lang.String logicalAttrName, double weight)
          Sets the weight of the specified logical attribute by name.
 void setWeightAttribute(java.lang.String logicalAttrName)
          Sets the name of the attribute that contains case (record) weights.
 VerificationReport verify()
          Verifies if the settings are valid to some degree of correctness as specified by the vendor.
 
Methods inherited from interface javax.datamining.MiningObject
getCreationDate, getCreatorInfo, getDescription, getName, getObjectIdentifier, getObjectType, setDescription
 

Method Detail

getAlgorithmSettings

public AlgorithmSettings getAlgorithmSettings()
Returns the algorithm settings associated with the build settings.

Returns:
AlgorithmSettings

getDesiredExecutionTimeInMinutes

public int getDesiredExecutionTimeInMinutes()
Returns the desired execution time specified by the user, if any. The default is Java Integer.MAX_VALUE indicating execution time is not constrained.

Returns:
int

getLogicalAttributes

public java.util.Collection getLogicalAttributes(LogicalAttributeUsage usage)
                                          throws JDMException
Returns a collection of LogicalAttribute names with the specified usage. The returned collection may be empty, not null.

Parameters:
usage - The usage of the attributes to be returned.
Returns:
Collection
Throws:
JDMException

getLogicalData

public LogicalData getLogicalData()
Returns a reference to a LogicalData instance associated with the build settings. This indicates that the build settings has been obtained from a model. This method returns null if the build settings has been assigned a name of a logical data via setLogicalDataName method.

Returns:
LogicalData

getLogicalDataName

public java.lang.String getLogicalDataName()
Returns the name of the LogicalData object if set via setLogicalDataName(String) method. Returns null if the build settings has been obtained from a model.

Returns:
String

getMiningFunction

public MiningFunction getMiningFunction()
Returns the type of mining function specified for the build settings.

Returns:
MiningFunction

getOutlierIdentification

public Interval getOutlierIdentification(java.lang.String logicalAttrName)
                                  throws JDMException
Returns the interval for non-outliers for the specified attribute. Throws an exception if invoked on a categorical attribute. If the specified logical attribute is not found in the logical data, an exception is thrown.

Parameters:
logicalAttrName -
Returns:
Interval
Throws:
JDMException

getOutlierTreatment

public OutlierTreatment getOutlierTreatment(java.lang.String logicalAttrName)
                                     throws JDMException
Returns the outlier treatment for the specified logical attribute. Throws an exception if invoked on a categorical attribute. If the specified logical attribute is not found in the logical data, an exception is thrown.

Parameters:
logicalAttrName -
Returns:
OutlierTreatment
Throws:
JDMException

getUsage

public LogicalAttributeUsage getUsage(java.lang.String logicalAttrName)
                               throws JDMException
Returns the usage of the specified logical attribute. If the specified logical attribute is not found in the logical data, an exception is thrown.

Parameters:
logicalAttrName - The name of the logical attribute whose usage is to be returned.
Returns:
LogicalAttributeUsage
Throws:
JDMException

getWeight

public double getWeight(java.lang.String logicalAttrName)
                 throws JDMException
Returns the weight of the specified logical attribute by name. The default weight is 1 for all attributes.

If the attribute name is not found, an exception is thrown.

Parameters:
logicalAttrName - The name of the logical attribute whose weight is to be returned.
Returns:
double
Throws:
JDMException

getWeightAttribute

public java.lang.String getWeightAttribute()
Returns the attribute name used as the weight of the individual cases. Weight attributes are always inactive.

Returns:
String

setAlgorithmSettings

public void setAlgorithmSettings(AlgorithmSettings algorithmSettings)
Sets the algorithm settings to be associated with the build settings.

A null value can be specified to indicate that no algorithm settings are specified and that the DME should select a suitable algorithm.

If the DME does not support the specified algorithm for the function, an exception is raised.

Parameters:
algorithmSettings - The algorithm settings to be associated with.
Returns:
void

setDesiredExecutionTimeInMinutes

public void setDesiredExecutionTimeInMinutes(int minutes)
Sets the desired execution time specified by the user, if any. This is a hint provided by the user to help constrain the build time. It may affect the quality of the model. It may be ignored by the DME.

The default is Java Integer.MAX_VALUE indicating execution time is not constrained.

Parameters:
minutes - The desired execution time in minutes.
Returns:
void

setLogicalDataName

public void setLogicalDataName(java.lang.String name)
                        throws JDMException
Sets the logical data to reference a named LogicalData object. If this method is used, then the constraints on the weight, usage, outlierTreatment methods may not identify any constraint violations.

Parameters:
name -
Returns:
void
Throws:
JDMException

setOutlierIdentification

public void setOutlierIdentification(java.lang.String logicalAttrName,
                                     Interval bounds)
                              throws JDMException
Specifies the range of non-outliers. A null value instructs the system to determine the interval.

This method does not verify if the name exists in the logical data. This is verified using the verify method.

Throws an exception if the attribute does not exist or this method is invoked on a categorical attribute.

Parameters:
logicalAttrName -
bounds -
Returns:
void
Throws:
JDMException

setOutlierTreatment

public void setOutlierTreatment(java.lang.String logicalAttrName,
                                OutlierTreatment treatment)
                         throws JDMException
For numerical attributes, specifies the outlier treatment. This method does not verify if the name exists in the logical data. This is verified using the verify method.

Throws an exception if the attribute does not exist or this method is invoked on a categorical attribute.

Parameters:
logicalAttrName -
treatment -
Returns:
void
Throws:
JDMException

setUsage

public void setUsage(java.lang.String logicalAttrName,
                     LogicalAttributeUsage usage)
              throws JDMException
Sets the usage of the specified logical attribute. This method does not verify if the name exists in the logical data. This is verified using the verify method.

Parameters:
logicalAttrName - The name of the logical attribute whose usage is to be set.
usage - The usage to be assigned to the specified logical attribute.
Returns:
void
Throws:
JDMException

setWeight

public void setWeight(java.lang.String logicalAttrName,
                      double weight)
               throws JDMException
Sets the weight of the specified logical attribute by name. This method does not verify if the name exists in the logical data. This is verified using the verify method.

Throws an exception if the attribute name is currently set as the target in supervised settings.

Parameters:
logicalAttrName - The name of the logical attribute whose weight is to be set.
weight - The weight value to be assigned to the logical attribute.
Returns:
void
Throws:
JDMException

setWeightAttribute

public void setWeightAttribute(java.lang.String logicalAttrName)
                        throws JDMException
Sets the name of the attribute that contains case (record) weights. This method does not verify if the name exists in the logical data. This is verified using the verify method.

Throws an exception if the attribute name is currently set as the target in supervised settings.

Parameters:
logicalAttrName -
Returns:
void
Throws:
JDMException

verify

public VerificationReport verify()
Verifies if the settings are valid to some degree of correctness as specified by the vendor. Returns null if the settings object is valid. If the settings object is invalid, it returns an instance of VerificationReport.

Returns:
VerificationReport