Appendix I. Command-Line Interface to MIndUtil: Analytical Data Mining Algorithms

The first part of this appendix describes the MIndUtil program and its options. The second part lists and describes the general options for MIndUtil. The final part describes the specific modes available. The MIndUtil program comes with the server side of the MineSet images and is invoked automatically by DataMover on the server when working through Tool Manager. MIndUtil provides extra functionality not directly available from Tool Manager and may be easier to use in a batch environment (for example, when you use cron jobs).

MIndUtil Invocation and Options

MIndUtil provides the MineSet inducers and additional mining utilities, such as discretization (binning). It also provides features for file conversions. In the following description, all examples assume the UNIX shell is csh or tcsh. Users of sh and ksh can transform setenv ENV val into ENV=val; export ENV.

MIndUtil is shorthand for one of two programs, MIndUtil_p and MIndUtil_s. MIndUtil_p is the multi-threaded version of the program, while MIndUtil_s is the single-threaded version. The number of threads spawned by MIndUtil_p is controlled by the NUM_THREADS option (see below for how to set options). In the invocation examples below, replace MIndUtil with whichever version of the program that you intend to use. The Tool Manager parallelization preference determines which version of the program Datamove invokes.

The syntax for invoking MIndUtil is:

MIndUtil [-s] [-o <optionfile>] [-O <option>=<value>]

where the -s option suppresses environment options (described below). The -o option allows reading options from an ASCII option specification file containing one <option>=<value> per line. By convention, MineSet uses the suffix .classify-opt for such option files. The -O option (uppercase) allows setting a specific option by following it with the option name, an equal sign, and the value. The -o and -O can be repeated multiple times. If an option is set more than once, the last time it is set determines its value. For example, if it is set through an option file and then set again through using the -O flag, the latter one determines its value.

Each option has a unique name; all option names are written in uppercase letters. If you want to set up the .datamove file to keep data and classifier option files on the server, the following lines must be in the .datamove file:

keep_data_files=yes
keep_classifier_options_files=yes

This ensures that the option specification files ending with the .classify-opt extension (consisting of the options passed to MIndUtil via the Tool Manager) are not erased from the server after you invoke inducers through Tool Manager.

Example With MIndUtil Options

A typical file (iris-dt.classify-opt) might contain the following lines:

MODE=classify-and-error
LABEL=iris_type
ALGORITHM=decision-tree
DT_SPLIT_BY=normalized-mutual-info
DT_LBOUND_MIN_SPLIT=2
DT_PRUNING_FACTOR=0.7
DT_MAX_LEVEL=0
CLASSIFIER_NAME=iris-dt.class
VIZ_NAME=iris-dt.treeviz
HOLDOUT_PERCENT=0.666667
RANDOM_SEED=7258789
BACKFIT_TEST_SET=Yes
DISP_CONFUSION_MAT=No
DISP_LIFT_CURVE=No

Given a schema file (iris.schema, which references iris.data), you can run MIndUtil from the command line to induce a decision tree by using the options file as follows:

MIndUtil -o iris-dt.classify-opt -O FLAT_FILE=iris-dt.schema 

This is exactly the way MIndUtil is invoked by DataMover.

Options in MIndUtil can be set through a hierarchy of levels. An option set at a higher level (see below) overrides any setting from a lower level. The levels are:

  • Hard-coded default—Many options have a hard-coded default value. If the value is not overridden in any of the higher levels, the hard-coded default is used.

  • Environment option—An environment variable can contain the option's value. You can set the environment variable with the same name as the option itself. For example,

    setenv FLAT_FILE iris-dt.schema
    

    sets the FLAT_FILE option to iris.schema.

    An environment variable takes precedence over hard-coded defaults. The command-line option -s suppresses environment variables.

  • Command-line options—You can set specific options with -O <option>=<value>

    For example, to generate a decision tree from iris.classify-opt, set the pruning factor to 0, and set the minimum records in a split to 1, use:

    MIndUtil -o iris-dt.classify-opt \
             -O FLAT_FILE=iris-dt.schema\ 
             -O DT_PRUNING_FACTOR=0 \ 
             -O DT_LBOUND_MIN_SPLIT=1
    

    This induces a larger tree for the iris dataset. Command-line options take precedence over environment variables and hard-coded defaults.

    The order of command line arguments is important: Options to the right override earlier options to their left. Thus, the -O options override the values set in the iris.classify-opt file.

  • User input—If an option is required but the option was not set using any of the above levels in the hierarchy, you are prompted for the option, and you can type a value.

    If you type ?, a help string appears to explain the meaning of the option. User input has the highest precedence and given values override command line options, environment variables, and hard-coded defaults.

A special environment variable, called PROMPTLEVEL, determines when to prompt the user for an option. The variable has three possible values:

  • Required-only prompts you for required options only. There are no prompts for options with a hard-coded default value. This is the lowest level prompting mode and the default.

  • Basic prompts you for basic options (each option is hard-coded as basic or not), whether or not they have a default value. Some options are defined as “nuisance” (non-basic) options and are not prompted for by this mode. The purpose of this mode is to prompt for the most commonly used options.

    If the option has a default, you can change it to be a nuisance option by setting the option value to an exclamation mark (“!”). A nuisance option can be changed to a non-nuisance option by setting its value to be a question mark (“?”). For example, you can type:

    setenv PROMPTLEVEL basic
    MIndUtil -o iris-dt.classify-opt -O DT_MAX_LEVEL="?"
    

    You now are prompted for most options (non-nuisance) with defaults taken from iris.classify-opt. To accept the default, press Enter. Since FLAT_FILE is not defined in iris.classify-opt and is a required option, you are prompted for FLAT_FILE without a default. DT_MAX_LEVEL is a nuisance option, but setting it to a question mark specifies to prompt for it.

  • All prompts you for all options, regardless of their nuisance setting.

When MIndUtil is executed from Tool Manager, all options except the schema filename are passed from the client through an options file <file>.classify-opt. On the server, the DataMover invokes MIndUtil with the options file and the appropriate schema file.

Tool Manager prepends any options it finds in .mineset-classopt on the client workstation. The file is searched first in the current directory, then in the home directory. The first one found is used.

When an option requires one of a given set of values (for instance, an enumerated option), a prefix of the desired option value can be used, and comparison is case-insensitive. If there are multiple values with the given prefix, the first one in the list is chosen. For example, the first option in MIndUtil is MODE, which takes on one of the following values: classify-only, classify-and-error, estimate-error, learning-curve, discretize, auto-select, compute-importance, test-classifier, fit-data, mineset-to-mlc, mlc-to-mineset, score, upload-mlc, upload-mineset, visualize. Setting the option to “c” selects classify-only. In scripts, use the full option name for future compatibility.

To facilitate repeat runs of a program under the same options, these can be saved in a file. The name of the file can be set through the environment variable OPTIONS_FILE. For example, if you run MIndUtil as

MIndUtil -o iris-dt.classify-opt \ 
         -O FLAT_FILE=iris-dt.schema\
         -O DT_MAX_LEVEL=1 \ 
         -O OPTIONS_FILE=foo.opt

the options will be saved in the file foo.opt, which you can edit and rerun by typing:

MIndUtil -o foo.opt

General Options

MIndUtil is written using MLC++, the machine learning library in C++ (see
http://www.sgi.com/Technology/mlc ). More options can be used for those familiar with MLC++. Here are the important ones shared by many modes.

All filename specifications require the file suffix, except where detailed below.

  • MODE is an enumerated option containing one of the following: classify-only, classify-and-error, estimate-error, learning-curve, discretize, auto-select, compute-importance, test-classifier, assoc, cluster, fit-data, mineset-to-mlc, mlc-to-mineset, score, upload-mlc, upload-mineset, visualize.

    • Classify-only builds a classifier using all the data.

    • Classify-and-error splits the data into a training set and a test set; a classifier is built from the training set and evaluated on the test set. If the classifier is a decision tree or option tree, the error estimates are added at the tree nodes for the visualization.

    • Estimate-error performs cross-validation to estimate the error of a classifier built using the induce option.

    • Learning-curve generates a learning curve.

    • Discretize allows discretizing continuous attributes.

    • Auto-select allows finding a set of important attributes together with prespecified attributes.

    • Compute-importance computes the importance of each attribute as if it were used individually with a prespecified set of attributes.

    • Test-classifier evaluates a previously induced classifier on new data. If a decision tree or option tree is used, the error estimates are added at the tree nodes for the visualization.

    • Assoc runs an association rules generator over the data and produces a file for the Rule Visualizer.

    • Cluster invokes the various modes of clustering that are available. It produces a file for the Cluster Visualizer.

    • Fit-data allows fitting new data to the structure of an existing classifier (backfitting).

    • MineSet-to-MLC and MLC-to-MineSet allow converting files from MLC++ format to MineSet format and vice versa.

    • Score generates a label values for each record, performing the same function as apply-classifier in the data-transformation panel of Tool Manager. This option is not supported and not documented further.

    • upload-MLC and upload-MineSet allow uploading a file in either MLC++ or MineSet format to a database. This option is not supported and not documented further. There may be loss of type information when files are uploaded, since MLC++ supports a smaller set of types than MineSet.

    • Visualize allows converting a classifier to a visualization.

    The details of each mode are described in the next section.

  • FLAT_FILE is a string defining the MineSet schema file to use. The file specification must be complete (that is, with the .schema extension) and the file can be either a MineSet ASCII or binary file. See “Using MineSet With Existing Data Files” in Chapter 2 for a description of schema files.

  • LOSS_FILE is the name of the loss matrix file. The loss file is optional. If it is supplied the format should be as follows:

    nodefault.
     ?,Iris-setosa: 10
     Iris-setosa,Iris-setosa: 0
     Iris-versicolor,Iris-setosa: 1
     Iris-virginica,Iris-setosa: 1
     ?,Iris-versicolor: 10
     Iris-setosa,Iris-versicolor: 1
     Iris-versicolor,Iris-versicolor: 0
     Iris-virginica,Iris-versicolor: 1
     ?,Iris-virginica: 1
     Iris-setosa,Iris-virginica: 1
     Iris-versicolor,Iris-virginica: 1
     Iris-virginica,Iris-virginica: 0
    endloss
    

    where each line other than the first and the last contain the predicted and the actual label values followed by a colon and the loss. The first line may be default, in which case all unspecified entries are zero on the diagonal and one off the diagonal. If nodefault is used, all matrix entries must be specified.

  • LABEL is the name of the column or attribute that is to be used as the label whenever it is needed. The label name must be one of the columns in the schema file.

  • WEIGHT is the name of the attribute that should determine the weight of each instance. It must be an integer or a floating point attribute and should be part of the schema.

  • WEIGHT_IS_ATTRIBUTE is a Boolean option that determines whether the weight attribute can be used by the classifier as a regular attribute. In certain cases where the weight is a result of a stratified sample that is part of the experimental design, the classifier should not be given access to the weight column as it is not a property of the real-word entity.

  • DISC_TYPE is an enumerated option taking on the value uniform-weight, uniform-range, or entropy. It determines the discretization mode: uniform-weight invokes uniform binning by record weights (ranges are not uniform); uniform-range invokes uniform binning by range, while entropy invokes automatic, nonuniform binning based on minimizing entropy (see “The Bin Columns Button” in Chapter 3). The default is entropy.

  • DISC_MIN_SPLIT is an floating point value specifying the minimum weight of instances that must be in each bucket when discretization is being done. A value of zero automatically determines a value for DISC_MIN_SPLIT that grows slowly as the weight of the dataset grows.

  • LOGLEVEL is an integer >= 0 defining the amount of logging information to print during the run. The default is zero. This option is hidden; you are not prompted for it.

  • DRIBBLE is a Boolean operation defining whether to dribble output during processing in order to show progress. The default is TRUE. This option is hidden; you are not prompted for it.

  • LINE_WIDTH is an integer > 1 defining the line width for the output. Automatic wrapping occurs to break words before this width. Wrapped lines begin with the WRAP_PREFIX string. The default line width is 79. This option is hidden; you are not prompted for it.

Induction Modes

This section describes the options for induction modes: classify-only, classify-and-error, estimate-error, and learning-curve. The classify-only mode induces a classifier using the whole dataset. The classify-and-error mode induces a classifier on a portion of the dataset and tests it on the remainder of the dataset. The estimate-error mode performs cross-validation using the full dataset for a more robust error estimate. The learning-curve mode induces many classifiers using differently sized samples of the dataset to estimate the effect of sampling on the error rate.

All modes require specifying an ALGORITHM option, which determines the type of classifier or regressor to build. Note that in MIndUtil (unlike in the Tool Manager) regression models are treated as a type of classification model. The available values for the ALGORITHM option are decision-tree, option-tree, evidence, decision-table, and regression-tree. The following options are common to all algorithms:

  • VIZ_NAME is a string defining the visualization name whenever appropriate. For the decision tree, option tree, and regression tree inducers, this option specifies the full name of the configuration file to be generated for the Tree Visualizer (recommended suffix is .treeviz). For the decision table inducer, this option specifies the full name of the configuration file to be generated for the Decision Table Visualizer (recommended suffix is .dtableviz). For the evidence inducer, this option specifies the full name of the Visualizer file (recommended suffix is .eviviz). For all inducers except the evidence inducer, a data file with an extra .data suffix will be generated automatically.

  • CLASSIFIER_NAME is a string defining the name of the model which will be generated. This options is not applicable in the learning-curve mode.

  • BACKFIT_TEST_SET is a Boolean option determining whether to backfit the test set data into the classifier's structure (see “Boosting: Accuracy is Sometimes Crucial” in Chapter 10).

  • DISP_CONFUSION_MAT is a Boolean defining whether to display a confusion matrix (see “Confusion Matrices in Error Estimation” in Chapter 10). If this is set to yes, the option CONFUSION_MAT_SCATTERVIZ_NAME is needed, which determines the fully specified scatterviz file name (recommended suffix .scatterviz). This option is only applicable in the classify-and-error mode. It is not applicable to the regression-tree inducer.

  • DISP_LIFT_CURVE is a Boolean defining whether to display a lift curve (see “Lift Curves in Error Estimation” in Chapter 10). If this is set to yes, the following options are needed: LIFT_CURVE_LABEL_VALUE, identifying the label value for which to generate the lift curve, and LIFT_CURVE_SCATTERVIZ_NAME, which determines the fully specified scatterviz file name (recommended suffix .scatterviz).This option is only applicable in the classify-and-error mode. It is not applicable to the regression-tree inducer

  • DISP_ROI_CURVE is a Boolean defining whether to display a return-on-investment (ROI) curve (see “ROI Curves” in Chapter 11). If this is set to yes, the option ROI_CURVE_SCATTERVIZ_NAME is needed, which determines the fully specifies scatterviz file name (recommended suffix .scatterviz). This option is only applicable in the classify-and-error mode. It is not applicable to the regression-tree inducer.

  • BOOST_INDUCER is a Boolean defining whether to apply a boosting algorithm in conjunction with the Inducer to improve accuracy. (See “Boosting: Accuracy is Sometimes Crucial” in Chapter 10). There are a number of restrictions imposed if you turn on this option:

    • no visualization is produced (the VIZ_NAME option is ignored).

    • you cannot use the regression-tree inducer.

    • you MUST set BACKFIT_TEST_SET to FALSE (or you will get an error).

    • you MUST set EVI_AUTO_FEATURE_SELECTION to FALSE if running the evidence inducer.

  • HOLDOUT_PERCENT is a floating point number between 0 and 1. It determines what ratio of the records to use as a training set. The rest are used as a test set. The default is two-thirds.

  • RANDOM_SEED is an integer serving as the seed for the random-number generator used to split the records into training and test sets.

Decision Tree Inducer Options

The following options are available for decision trees (ALGORITHM = decision-tree):

  • DT_MAX_LEVEL, an integer >=0, limits the number of levels to grow the decision tree. The default of zero implies no limit.

  • DT_PRUNING_FACTOR, a floating point number >=0, determines the pruning factor. Zero implies no pruning. The default is 0.7.

  • DT_LBOUND_MIN_SPLIT, a float that provides a lower bound on the weight of records required to trickle down to at least two branches in a given node. No split will be made otherwise. The default is 2.

  • DT_MIN_SPLIT_WEIGHT, a floating point number >=0, is the minimum ratio of training records divided by the number of classes that are required to trickle down to at least two branches in a given node. The default is 0.1. This option is not controllable from Tool Manager.

  • DT_SPLIT_BY is an enumerated option taking one of the following values: mutual-info, normalized-mutual-info, gain-ratio. It specifies the evaluation criterion for choosing the attribute to split on at every node (see Chapter 11 for details). The default is normalized-mutual-info.

  • DT_ADJUST_THRESHOLDS is a Boolean operator determining whether splits on continuous attributes have thresholds that are midpoints between two data points or whether the thresholds should be actual data values. The default is FALSE (that is, not to adjust the thresholds to data values). This option is not controllable from Tool Manager.

    This option is useful when you want to avoid splits on fractional values if attributes take on only integer values.

Option Tree Inducer Options

The following options are available for the option tree inducer (ALGORITHM = option-tree) in addition to the options listed above for decision trees, which are all applicable to option trees too:

  • ODT_ROOT_OPTIONS is an integer option determining the maximum number of splits at the root. The default is five.

  • ODT_OPTION_CHANGE is an integer option determining the change in the maximum width allowed at every level of the tree. The default is -2. With the default ODT_OPTION_CHANGE of 5, option nodes will only be generated for the root (up to 5) and for the second level (up to 3). All levels below will have no option nodes.

  • ODT_INIT_FITNESS is a floating point value which determines when to exclude attributes as options. When the inducer gives a fitness score to each attribute, it chooses the best attribute and other attributes that might also be good as options. The fitness ratio determines how good those other options must be. A factor value of f implies that to be considered an option, an attribute must rank at least(1- f)*b from the best scoring node, where b is the score for the best attribute. A fitness ratio of 1 picks all the attributes (so the limiting options described above are reached if there are attributes on which to split). A fitness ratio of 0 causes a regular decision tree to be created (no option nodes).

Evidence Inducer Options

The following options are available for the evidence inducer (ALGORITHM= evidence):

  • EVI_LAPLACE_CORRECTION is a Boolean determining whether to apply the Laplace correction (see Chapter 13). The default is false.

  • EVI_LAPLACE_FACTOR specifies the correction factor to be applied during Laplace correction (see Chapter 13). The default is 0, which chooses a value automatically based on the data.

  • EVI_AUTO_FEATURE_SELECTION is a Boolean determining whether to apply feature subset search along with the induction. (See Chapter 10). This may improve performance, but can be slow. You cannot set this option to TRUE if BOOST_INDUCER is set.

  • EVI_FSS_BACKWARDS is a Boolean determining whether to run the feature subset search starting from the full set of columns. Doing so may perform better but is even slower than a regular feature subset search.

Decision Table Inducer Options

The following options are available for the decision table inducer (ALGORITHM=decision-table)

  • DTAB_X_NUM_ATTRS

  • DTAB_X_ATTR_n

  • DTAB_Y_NUM_ATTRS

  • DTAB_Y_ATTR_n are options which specify the initial column mappings for the Decision Table Inducer. They should be used as follows:

    • set DTAB_X_NUM_ATTRS to the number of columns you wish to map to the X axis.

    • set DTAB_Y_NUM_ATTRS to the number of columns you wish to map to the Y axis.

    • columns are numbered starting with 0. For each column n on the X axis, set DTAB_X_ATTR_n to the name of the column.

    • For each column n on the Y axis, set DTAB_Y_ATTR_n to the name of the column.

Here is an example showing how to set the mappings for a sample file (cars.data from /usr/lib/MineSet/data):

      DTAB_X_NUM_ATTRS=1
      DTAB_X_ATTR_0=time_to_sixty
      DTAB_Y_NUM_ATTRS=0

This example maps a single column to the X axis and no columns to the Y axis.

  • DTAB_FEATURE_SELECTION is a Boolean determining whether to automatically select column mappings for the induction. Setting this option is equivalent to using the Suggest then Go button in the Tool Manager. See Chapter 14, “Inducing and Visualizing the Decision Table.”

  • DTAB_FEATURE_SEARCH is a Boolean determining whether to run a search over the space of column orderings to determine a better mapping ordering. If DTAB_FEATURE_SELECTION is also turned on, the feature selection process will be used to select the initial state for the search. Otherwise the search proceeds based on the column mappings. Checking the search box in Tool Manager and using the Suggest then the Go button will turn both this option and DTAB_FEATURE_SELECTION on.

  • DTAB_MAX_NUM_ATTRS is an integer which limits the number of columns which may be suggested when DTAB_FEATURE_SELECTION is turned on. This option is ignored unless DTAB_FEATURE_SELECTION is turned on.

  • DTAB_MAX_NUM_NODES is an integer which limits the total size of the decision table. See Chapter 14, “Inducing and Visualizing the Decision Table.”

Regression Tree Inducer Options

The following options are available for the Regression Tree Inducer (ALGORITHM=regression-tree):

  • RT_SPLIT_BY is an enumerated option which specifies the split criterion to use for regression tree generation. Allowable values are: variance, absolute-deviation, normalized-variance, and normalized-absolute-deviation.

  • RT_SPLIT_LOWER_BOUND is a floating point option which specifies the minimum weight of instances allowed in one particular branch of a split.

  • RT_PRUNING_METHOD is an enumerated option that specifies the pruning method to use for regression trees. This option currently allows only one value: cost_complexity.

  • RT_PRUNING_FACTOR is a floating point option which specifies the number of standard errors worse than the minimum cost tree is acceptable. A value of 0 will return the minimum cost tree. This value may be any floating point number greater or equal to zero.

  • RT_MAX_LEVELS is an integer option which limits the maximum depth of the tree. Set to zero to disable the depth limit.

Estimate Error

If the MODE is estimate-error, cross-validation will be performed. The following options are available:

  • CV_FOLDS is an integer determining the number of cross-validation folds. The default is 10. See Chapter 10 for details.

  • CV_TIMES is an integer determining the number of times to repeat cross-validation. The default is 1. See Chapter 10 for details.

All other options are the same as for the induction modes.

Learning Curve

If MODE is learning-curve, a learning curve is generated (see “Learning Curves in Error Estimation” in Chapter 10). All the options for the inducer modes are the same, plus the following:

  • LEARN_CURVE_NUM_POINTS is an integer >0 that determines the number of points on the learning curve,

  • LEARN_CURVE_RUNS_PER_POINT is an integer > 0 that determines how many times to run the inducer for each point on the learning curve. The more runs, the better the error estimate and the narrower the confidence interval.

  • LEARN_CURVE_MIN_RECORDS is an integer that determines the minimum number of records, or what value for the x-axis should the learning curve start at. A value of -1 invokes an automatic heuristic.

  • LEARN_CURVE_MAX_RECORDS is an integer that determines the maximum number of records, or what value for the x-axis should the learning curve end at. A value of -1 invokes an automatic heuristic.

Clustering

If MODE is cluster, MIndUtil will invoke the clustering algorithm. Clustering behaves similarly to an inducer, except that no label is required (the LABEL option is ignored). Clustering uses the following options:

  • CLUSTER_METHOD is an enumerated option taking on one of two values: single, or iterative. This option selects between the single k-means and iterative k-means clustering methods. (See Chapter 16, “Inducing and Visualizing Clustering.”).

  • CLUSTER_NUM is an integer which specifies the number of clusters to find in the data. It is only used if CLUSTER_METHOD is set to single.

  • CLUSTER_LOW is an integer which specifies the lower bound on the number of clusters to find in the data. It is only used if CLUSTER_METHOD is set to iterative.

  • CLUSTER_HIGH is an integer which specifies the upper bound on the number of clusters to find in the data. It is only used if CLUSTER_METHOD is set to iterative.

  • CLUSTER_CHOICE_POINT is a floating point number between 0.0 and 1.0 which is used to determine the final number of clusters. It is only used if CLUSTER_METHOD is set to iterative. For more details see Chapter 16, “Inducing and Visualizing Clustering.”

  • CLUSTER_DISTANCE_TYPE is an enumerated option taking on one of two values: euclidean and manhattan. This option chooses the distance metric used by Clustering. See Chapter 16, “Inducing and Visualizing Clustering.”

  • CLUSTER_NUM_ITERATIONS is an integer which specifies the limit on the number of iterations the clustering algorithm may use. This is equivalent to the max # iters parameter in the Tool Manager. See Chapter 3, “The Tool Manager.”

  • RANDOM_SEED specifies a unique random initial starting position for the clustering algorithm. Different values of this option may produce different clusterings. See Chapter 16, “Inducing and Visualizing Clustering.”

  • CLASSIFIER_NAME is a string defining the name of the clustering model to be built. Suggested suffix: .cluster.

  • VIZ_NAME is a string defining the name of the visualization files. This option should be set to the name of the file to generate for the Cluster Visualizer (suggested suffix: .clusterviz). A data file with an additional .data suffix will be automatically generated.

Discretization

If MODE is discretize, discretization (binning) of attributes is performed and thresholds are determined. The following options are available:

  • OUTPUT_NAME is the name of the file to contain the results.

  • DISC_TRAIN_ONLY is a Boolean option that determines whether only the training set should be used for determining the discretization intervals. If a model is built and tested, it is important that the test set not be used for any part of the induction process. If this option is yes, HOLDOUT_PERCENT and RANDOM_SEED will be requested (see “Induction Modes”).

  • ATTR_X, where X starts at 0 and increases. This defines the names of the attributes that you would like discretized.

  • BINS_X, where X starts at 0 and increases. This specifies the number of bins to discretize ATTR_X into. Note that this is an upper bound and entropy binning may choose a lower number of bins. If the number of bins is zero, automatic heuristics are used.

Example: A discretization of two attributes, sepal width and petal length, according to label iris type, such that the number of bins is automatically determined, and only the training set portion of the dataset is used, can be done using the following options:

MODE=discretize
ATTR_0=sepal width
BINS_0=0
ATTR_1=petal length
BINS_1=0
DISC_TRAIN_ONLY=Yes
HOLDOUT_PERCENT=0.666667
RANDOM_SEED=7258789
DISC_TYPE=entropy
DISC_MIN_SPLIT=0
LABEL=iris type
WEIGHT=sepal length
WEIGHT_IS_ATTRIBUTE=Yes
OUTPUT_NAME=iris.disc

Column Importance and Auto Selection

If MODE is auto-select or compute-importance, corresponding to the Find Importance and Compute Importance modes in the Tool Manager's Column Importance, the following options are available:

  • OUTPUT_FILE is the name of the file to contain the results.

  • ATTR_X, where X starts at 0 and increases. This defines the names of preselected attributes. All other attributes are candidates for auto-selection or are ranked if column importance is chosen.

  • SELECT_N, an integer that determines the number of attributes to automatically select in auto-select mode, which corresponds to the non-Advanced mode and the advanced “find...” mode in column importance in the Tool Manager.

Example: To choose three attributes that can be used together with petal width to classify iris type, the following options can be used:

MODE=auto-select
LABEL=iris type
SELECT_N=3
ATTR_0=petal length
DISC_TYPE=entropy
DISC_MIN_SPLIT=0
OUTPUT_NAME=feature.fss

In this example, the discretization mode was entropy and the minimum number of instances in a bin was set to 0, indicating automatic MIN_SPLIT.

Fit-Data

If the MODE is fit-data, the following options are available:

  • TEST_CLASSIFIER_IN determines the input classifier, which usually contains a .class suffix.

  • TEST_CLASSIFIER_OUT is the name of the generated classifier (the .class suffix is recommended).

  • TEST_SHOW_VIZ is a Boolean option that determines if a visualization should also be generated. If the option's value is yes or true, VIZ_NAME must be supplied as the file name to output the visualization.

MineSet-to-MLC, MLC-to-MineSet

These modes provide facilities to convert from MLC++ format to MineSet format and vice versa (see http://www.sgi.com/Technology/mlc ). They can be used to convert UC Irvine (http://www.ics.uci.edu/~mlearn/MLRepository.html ) formatted files or C4.5 formatted files, which are common in the machine learning community.

MineSet-to-MLC provides the following options:

  • SPLIT_TRAIN_TEST, whether to split the data into two files: a training set and a test set.

  • MLCFILE, the filename to export to. Suffixes of .names, .data, and .test are appended to this stem if SPLIT_TRAIN_TEST is true; otherwise, the suffixes are .names and .all. You can then run MLC++ inducers on these files, independent of MineSet.

MLC-to-MineSet provides the following options:

  • DATAFILE, the file to import. If no suffix is given, it is assumed to be .data. It is recommended that you concatenate the training and test sets into a .all file and use that for importing.

  • NAMESFILE, the names file describing the DATAFILE. A reasonable default is automatically suggested based on the DATAFILE option.

  • OUTPUT_DATA, a MineSet output file. This should have a .data suffix.

  • OUTPUT_SCHEMA, a MineSet schema file. This should have a .schema suffix.

  • OUTPUT_LABEL, a string indicating what name to use for the label attribute.

  • REMOVE_UNKNOWN_INST, a Boolean option indicating whether to remove records that have attributes with unknown values. The default is FALSE.

Visualize

This mode lets you generate visualization files from classifiers. The following options are available:

  • CLASSIFIER_NAME is the name of the classifier, including the file suffix.

  • VIZ_NAME is a string defining the visualization name. For the decision tree inducer, this fully specified file name will be the name of the configuration file (recommended suffix is .treeviz) and a suffix of .data will be automatically added to the data file needed. For the evidence inducer, only one file name is needed (recommended suffix is .eviviz).

Note that the classifier does not contain error estimation information, so decision trees and option trees will just show the structure and distributions, not error estimates. You can use the test-classifier option within the apply-classifier option in ToolManager to generate a visualization that contains error estimates.