Building Apps that use the Decision Tree Editor
Users can edit the contents of any FJDT or FSML file. To enable users to create a new FJDT or FSML file, or add additional predictors or treatments to the tree, the app provides a JSON configuration file is either tagged as decision-tree-cfg
or has the same name as the decision tree itself (preferred). The file must have a .json
extension.
decision-tree-data
or has the same name as the decision tree itself (preferred). The file must have CSV or ZIP format.
For the profiling and best split operations to run successfully, the dataset must include a column containing data for each of the profile variables and predictors defined in the tree.
The JSON configuration file provides important metadata to the decision tree editor. It is generated by the app to allow the tree editor to work with data within the app, and should not be edited by a user. It should be similar to the following example:
{
"predictors": [
{
"name":"DK1",
"displayName":"Predictor 1",
"type": "real",
"class": "continuous"
},
{
"name":"DK2",
"displayName":"Predictor 2",
"type": "enum",
"categories": ["category1", "category2"],
"class": "categorical"
}
],
"leafNodes": [
{
"id": "1234",
"name":"T1",
"displayName":"Segment 1",
"type": "string"
}
],
"profileVariables": [
{
"name":"PV1",
"displayName": "Profile Variable 1",
"profileType":"continuous"
},
{
"name":"PV2",
"displayName": "Profile Variable 2",
"profileType":"categorical",
"categories": ["category1", "category2"],
"defaultTarget": true
}
],
"sampleWeight": "mySampleWeightVar",
"dataSetName": "Name of my dataset",
"leafNodeLabel": "Segments"
}
- Predictors
These variables are the possible levels in the tree and are available for selection by the user in the Predictors panel. The attributes describe the predictor with the type representing:
- the type of the data (integer, real, string, date, datetime, boolean, enum), and
- the class representing whether the data is continuous or categorical in nature (used by the server when calculating a best split).
Both of these attributes are required.
The
constraints
attribute specifies constraint over the data for the predictor. This is currently only used forenum
predictors and is required when using enums. The constraints list all the valid values for the enum, which are used to populate the split dialog in the UI.Note: In earlier versions of Xpress Insight, predictors were referred to as decision keys and defined in theconfig
file using the decisionKeys attribute. This is now deprecated in favor of predictors but is still supported for backwards compatibility with earlier configuration files. - Leaf Nodes
These values are the possible leaf node values for the tree. They are available for selection in the treatment library.
- Profile variables
These are the possible variables that can be profiled through the tree. They will be available in the Profiles panel. All categorical profile variables are also treated as possible targets for the tree and will be available for selection in the Target dialog.
The profile attributes describe the profile variable, the
profileType
attribute defines the variable as either continuous or categorical. Categorical variables should also define an array of the possible categories. If one of the profile variables should be treated as the default target by the UI then specify defaultTarget to be true. - Sample weight
The name of a column to be interpreted as a sample weight for each row. This is used during profiling. The weighted values will be displayed in the profiling UI within columns starting with a W, such as W#T and W%T.
- Name of the dataset
For display in the properties section of the tree editor.
- Leaf Node Label
If it is not configured in an FJDT or PMML tree file, the leaf node label can be specified in the configuration file (FSML files do not contain this information). If the value is not set in either file, the Treatment value is used as the label.
Note: FJDT trees brought in from another app, including old versions of Decision Optimizer, will use the label in the tree rather than Treatments. Decision Optimizer prior to version 8.3 generates trees with a label of Action so all trees generated by older versions of Decision Optimizer will use the label Action rather than Treatments.
See the Xpress Insight Web Client User Guide for a detailed overview of the facilities provided for end-user decision tree editing.
© 2001-2025 Fair Isaac Corporation. All rights reserved. This documentation is the property of Fair Isaac Corporation (“FICO”). Receipt or possession of this documentation does not convey rights to disclose, reproduce, make derivative works, use, or allow others to use it except solely for internal evaluation purposes to determine whether to purchase a license to the software described in this documentation, or as otherwise set forth in a written software license agreement between you and FICO (or a FICO affiliate). Use of this documentation and the software described in it must conform strictly to the foregoing permitted uses, and no other use is permitted.