Skip to content

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:

  1. Feature selection area. Click a feature to select/deselect it
  2. Selected features area. Lists currently selected features for the feature set. The target column is always included
  3. Search bar. Use to search for particular features, which are then displayed in the feature selection area
  4. "Select all" button. Click to select every feature currently displayed in the feature selection area
  5. "Deselect all" button. Click to remove all features except the target column(s)
  6. Advanced options. You can generate a new feature set using one or more existing feature set(s) by
    1. Cloning
    2. Union
    3. Intersection
    4. 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"
    )
)