BinaryExpandFD Component Specification¶
Contents
Overview¶
BinaryExpandFD component is a feature descriptor. This component executes binary expansion of NOMINAL data using attribute domain.
Example:
SPD:
dl1 -> bexp1 --- components: dl1: component: DataLoader bexp1: component: BinaryExpandFDComponent features: scale == 'nominal'
Input of the component:
_sid
weather
0
cloudy
1
sunny
2
NaN
3
rainy
4
cloudy
Output of the component:
_sid
bexp1(sunny)_weather
bexp1(cloudy)_weather
bexp1(rainy)_weather
0
0
1
0
1
1
0
0
2
NaN
NaN
NaN
3
0
0
1
4
0
1
0
This component has no component-specific external formats.
See also
Component-common external format files in convert_process
Output Attributes¶
BinaryExpandFD component generates the following attribute:
Attribute Name |
Scale |
Description |
||||||||
---|---|---|---|---|---|---|---|---|---|---|
<component_id>(<original_attribute_value>)_<original_attribute_name> |
INTEGER |
Binary-expanded value of the original attribute. The value is determined by the value of the original attribute.
|
These attributes are in the component output data. These can be loaded in SAMPO API or saved as data.csv after executing convert_process.
See also
Obtaining process results via ProcessResultLoader.
Attribute Metadata¶
The metadata of the output attributes is created with the following rules.
Context Rule¶
Attribute Name |
Context Name |
Description |
---|---|---|
<component_id>(<original_attribute_value>)_<original_attribute_name> |
original_value |
Set the original attribute name. |
Derivation Rule¶
Each new attribute is derived from the corresponding attribute selected by the features
parameter of the component.
Example¶
{
"nodes": [
{"aid": "_sid", "name": "_sid", ... },
{"aid": "dl1[0]", "name": "weather", ... },
{"aid": "bexp1[0]", "name": "bexp1(sunny)_weather",
"scale": "integer", "is_excluded": false, "cid": "bexp1", "cindex": 0,
"values": null, "is_kept": false, "context": {"original_value": "sunny"}},
{"aid": "bexp1[1]", "name": "bexp1(cloudy)_weather",
"scale": "integer", "is_excluded": false, "cid": "bexp1", "cindex": 1,
"values": null, "is_kept": false, "context": {"original_value": "cloudy"}},
{"aid": "bexp1[2]", "name": "bexp1(rainy)_weather",
"scale": "integer", "is_excluded": false, "cid": "bexp1", "cindex": 2,
"values": null, "is_kept": false, "context": {"original_value": "rainy"}}
],
"links": [
{"source": "dl1[0]", "target": "bexp1[0]"},
{"source": "dl1[0]", "target": "bexp1[1]"},
{"source": "dl1[0]", "target": "bexp1[2]"}
]
}
See also
Attribute metadata file format in Attribute Metadata File Specification
Model¶
The model of this component can be described by its fd_params.
fd_params |
Type |
Description |
---|---|---|
source_attr_names |
list of string |
A list of attribute names where the output attribute is derived from. |
params |
dict |
The keys of this dictionary are the same as the context of this component’s Attribute Metadata. |
When loaded in the SAMPO API, the model is represented as a dict of its fd_params.
See also
Obtaining process results via ProcessResultLoader.
{'fd_params':
[{'source_attr_names': ['weather'], 'params': {'original_value': 'sunny'}},
{'source_attr_names': ['weather'], 'params': {'original_value': 'cloudy'}},
{'source_attr_names': ['weather'], 'params': {'original_value': 'rainy'}}]}
Details¶
In the learning phase, this component only checks if the attributes are valid as shown below:
If the attribute includes a non-nominal value, this component raises an exception.
If the attribute value is empty or NaN, this component raises an exception.
In the running phase, this component executes binary expansion and returns transformed data.