Feature Stores
A feature store enables an offline and online serving of feature data.
Feature stores allow data teams to serve data via an offline store and an online low-latency store where data is kept in sync between the two. It also offers a centralized registry where features (and feature schemas) are stored for use within a team or wider organization.
As a data scientist working on training your model, your requirements for how you access your batch / 'offline' data will almost certainly be different from how you access that data as part of a real-time or online inference setting. Feast solves the problem of developing train-serve skew where those two sources of data diverge from each other.
BaseFeatureStore
Bases: StackComponent
, ABC
Base class for all ZenML feature stores.
Source code in src/zenml/feature_stores/base_feature_store.py
28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 |
|
config
property
Returns the BaseFeatureStoreConfig
config.
Returns:
Type | Description |
---|---|
BaseFeatureStoreConfig
|
The configuration. |
get_historical_features(entity_df, features, full_feature_names=False)
abstractmethod
Returns the historical features for training or batch scoring.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
entity_df
|
Any
|
The entity DataFrame or entity name. |
required |
features
|
List[str]
|
The features to retrieve. |
required |
full_feature_names
|
bool
|
Whether to return the full feature names. |
False
|
Returns:
Type | Description |
---|---|
Any
|
The historical features. |
Source code in src/zenml/feature_stores/base_feature_store.py
40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 |
|
get_online_features(entity_rows, features, full_feature_names=False)
abstractmethod
Returns the latest online feature data.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
entity_rows
|
List[Dict[str, Any]]
|
The entity rows to retrieve. |
required |
features
|
List[str]
|
The features to retrieve. |
required |
full_feature_names
|
bool
|
Whether to return the full feature names. |
False
|
Returns:
Type | Description |
---|---|
Dict[str, Any]
|
The latest online feature data as a dictionary. |
Source code in src/zenml/feature_stores/base_feature_store.py
58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 |
|