Feature Set
When an app is ready, a feature set named "Default" is created automatically including all features in the processed dataset. Optionally, you can create additional feature sets as subsets of the "Default" feature set, in order to save model training time or to test how predictive certain features are on the target. Here the target feature must be included for every feature set. This section shows how to create, modify and list feature sets within an app in AI & Analytics Engine
- Using the GUI
- Using API access through SDK
Using the GUI
Creating a feature set
Click the "FEATURE SETS" tab to enter the feature sets details page, then click the floating action button and select "ADD NEW FEATURE SET" to create a feature set. You can also create a new feature set from the app's dashboard:
Once you have given the feature set a name, click next. You should see the following screen:
On this screen, we see:
- Feature selection area. Click a feature to select/deselect it
- Selected features area. Lists currently selected features for the feature set. The target column is always included
- Search bar. Use to search for particular features, which are then displayed in the feature selection area
- "Select all" button. Click to select every feature currently displayed in the feature selection area
- "Deselect all" button. Click to remove all features except the target column(s)
- Advanced options. You can generate a new feature set using one or more existing feature set(s) by
- Cloning
- Union
- Intersection
- Set-difference
Retrieving feature set information
The summary of a feature set includes the status, associated dataset, the number of features for each column type, as well as the models and deployments attached to the feature set. For more details on each feature, you can check the "FEATURE SELECTION" section.
Updating a feature set
You can add or remove selected features in a feature set. Note that this does not apply to the "Default" feature set or any feature set that has been used for model training.
You also can update the name and description of a feature set on the "SETTINGS" section.
Deleting a feature set
You can delete a feature set either on the "FEATURE SETS" section or on the page of the feature set to be removed. Note that the "Default" feature set cannot be deleted.
Listing feature sets
You can see a list of feature sets created in an app on the dashboard or on the "FEATURE SETS" page for more details.
Using API access through SDK
To access the API functions in the featureset
module, you must first authenticate into the platform by
from aiaengine import api
client = api.Client()
and import featureset
from aiaengine.api import featureset
Creating a feature set
Now you can add a new feature set by specifying the required parameter values as follows
create_feature_set_response = client.featuresets.CreateFeatureSet(
featureset.CreateFeatureSetRequest(
app_id="id_of_app_in_which_feature_set_will_be_created",
name="Feature Set Name",
description="What is this feature set about",
selected_features=[
"column_1", "column_2", "column_3", "target_column"
]
)
)
Once created, the feature set is assigned with a unique id, which will be frequently used in the subsequent operations where this feature set is involved.
feature_set_id = create_feature_set_response.id
Retrieving feature set information
Then you can get information of a feature set by specifying the feature set id.
client.featuresets.GetFeatureSet(
featureset.GetFeatureSetRequest(
id="id_of_feature_set"
)
Updating a feature set
You can also change the name, description and selected features of a feature set with input of the feature set id.
client.featuresets.UpdateFeatureSet(
featureset.UpdateFeatureSetRequest(
id="id_of_feature_set_to_be_updated",
name="Updated Feature Set Name",
description="This feature set is updated",
selected_features=[
"new_column_1", "new_column_2", "new_column_3", "target_column"
]
)
)
Deleting a feature set
Once a feature set is no longer needed, you can remove it by providing the feature set id.
client.featuresets.DeleteFeatureSet(
featureset.DeleteFeatureSetRequest(
id="id_of_feature_set_to_be_removed"
)
)
Listing feature sets
For a given app, you can list all feature sets attached to this app by specifying the app id.
client.featuresets.ListFeatureSets(
featureset.ListFeatureSetsRequest(
app_id="id_of_app_in_which_feature_sets_are_listed"
)
)