Skip to content

featurebyte.FeatureList

class FeatureList(
items: Sequence[Union[Feature, BaseFeatureGroup]],
name: str,
)

Description

The FeatureList class is used as a constructor to create a FeatureList Object. A FeatureList object is added to the catalog only when explicitly saved.

A Feature List is a collection of Feature Objects specifically designed to address a particular Use Case. The Feature List is initially used to gather historical feature values for EDA, training, or testing data for a Use Case. These values are then utilized to analyze features, train, and test models. Once a model is trained and validated, the Feature List can be deployed, and the feature values can be accessed through online serving for generating predictions.

Before serving a feature list, you can verify its primary entity using the primary_entity attribute. If the features within the list relate to different primary entities, the feature list's primary entity is determined based on the relationships between the entities, with the lowest-level entity chosen as the primary entity. If there are no relationships between entities, the primary entity may become a tuple comprising those entities.

For example, imagine a feature list that includes features related to a card, customer, and customer city. In this scenario, the primary entity is the card entity because it is a child of both the customer and customer city entities. However, if the feature list also contains features for a merchant and merchant city, the primary entity becomes a tuple of card and merchant.

Parameters

  • items: Sequence[Union[Feature, BaseFeatureGroup]]

  • name: str

Examples

Create a feature list with two features.

>>> features = fb.FeatureList(
...     [
...         catalog.get_feature("InvoiceCount_60days"),
...         catalog.get_feature("InvoiceAmountAvg_60days"),
...     ],
...     name="My new feature list",
... )