/feast

Feature Store for Machine Learning

Primary LanguageJavaApache License 2.0Apache-2.0


Unit Tests Code Standards Docs Latest GitHub Release

Overview

Feast (Feature Store) is a tool for managing and serving machine learning features. Feast is the bridge between models and data.

Feast aims to:

  • Provide a unified means of managing feature data from a single person to large enterprises.
  • Provide scalable and performant access to feature data when training and serving models.
  • Provide consistent and point-in-time correct access to feature data.
  • Enable discovery, documentation, and insights into your features.

Feast decouples feature engineering from feature usage, allowing independent development of features and consumption of features. Features that are added to Feast become available immediately for training and serving. Models can retrieve the same features used in training from a low latency online store in production. This means that new ML projects start with a process of feature selection from a catalog instead of having to do feature engineering from scratch.

# Setting things up
fs = feast.Client('feast.example.com')
customer_features = ['CreditScore', 'Balance', 'Age', 'NumOfProducts', 'IsActive']

# Training your model (typically from a notebook or pipeline)
data = fs.get_historical_features(customer_features, customer_entities)
my_model = ml.fit(data)

# Serving predictions (when serving the model in production)
prediction = my_model.predict(fs.get_online_features(customer_features, customer_entities))

Getting Started with Docker Compose

The following commands will start Feast in online-only mode.

git clone https://github.com/feast-dev/feast.git
cd feast/infra/docker-compose
cp .env.sample .env

At this point the .env can be configured, and a GCP service account can be added if BigQuery will be used for historical serving.

Bring up Feast:

docker-compose up -d

The command above will bring up a complete Feast deployment with a Jupyter Notebook. This notebook contains Feast example tutorials.

Important resources

Please refer to the official documentation at https://docs.feast.dev

Notice

Feast is a community project and is still under active development. Your feedback and contributions are important to us. Please have a look at our contributing guide for details.