Azure Machine Learning

Documentation: Feature Store

Azure Machine Learning Feature Store

The Azure Machine Learning Feature Store is a managed service that helps you create, manage, and serve machine learning features. It provides a centralized repository for features, enabling consistency, reusability, and discovery across different ML projects and teams.

Core Concepts

Understand the fundamental building blocks of the Feature Store, including feature groups, features, and feature views. Learn how they are organized and related.

  • Feature Groups
  • Features
  • Feature Views
  • Data Sources
Learn More

Key Benefits

Discover the advantages of using a Feature Store for your machine learning workflows, such as improved collaboration, reduced redundancy, and enhanced model performance.

  • Consistency & Reusability
  • Faster Time-to-Market
  • Feature Discovery
  • Governance & Compliance
Learn More

Getting Started

Follow these steps to set up and start using your Azure Machine Learning Feature Store. Includes prerequisites and initial configuration guidance.

  • Prerequisites
  • Creating a Feature Store
  • Ingesting Data
  • Defining Features
Learn More

Feature Store Concepts

Feature Group

A logical grouping of related features that share a common data source and schema. Feature groups are the fundamental organizational unit in the Feature Store.

Example: Customer demographics, transaction history, product attributes.

Feature

A specific attribute or characteristic derived from a data source, used as input for machine learning models. Features can be raw or transformed.

Example: `customer_age`, `average_transaction_value`, `product_category`.

Feature View

A curated selection of features from one or more feature groups, presented with a specific schema and intended for consumption by ML models. Feature views allow for data access control and versioning.

Example: A feature view for a fraud detection model might combine customer transaction features with customer demographic features.

Data Source

The underlying data storage where features are sourced from, such as Azure Data Lake Storage, Azure SQL Database, or Azure Blob Storage.

Key Benefits of Using a Feature Store

Consistency & Reusability

Ensure that the same features are used across different models and teams, preventing data leakage and improving model reproducibility. Features can be easily shared and reused, saving development time.

Faster Time-to-Market

Accelerate the ML development lifecycle by providing pre-engineered and readily available features. Data scientists can focus on model development rather than repetitive feature engineering tasks.

Feature Discovery

A centralized catalog allows teams to discover existing features, understand their definitions, and leverage them for new projects, fostering collaboration and knowledge sharing.

Governance & Compliance

Implement robust governance policies for feature definitions, access control, and lineage tracking. This ensures compliance with data regulations and internal policies.

Getting Started with Azure ML Feature Store

Ready to leverage the power of a managed Feature Store? Here's how to begin:

Prerequisites

  • An Azure subscription.
  • An Azure Machine Learning workspace.
  • Necessary permissions to access data sources and the Azure ML workspace.

Creating a Feature Store

You can create a Feature Store resource within your Azure ML workspace. This involves selecting the appropriate SKU and configuring region settings.

az ml feature-store create --workspace-name my-workspace --resource-group my-rg --name my-feature-store --location eastus

Ingesting Data

Define your data sources and ingest data into feature groups. This can be done through batch or streaming pipelines.

Example: Creating a feature group from a CSV file in Azure Data Lake Storage.


# feature_group_definition.yaml
name: customer_demographics
version: 1
data_source:
  type: adls
  path: azureml://datastores/workspaceblobstore/paths/datasets/customer_data.csv
schema:
  columns:
    - name: customer_id
      type: string
    - name: age
      type: int
    - name: gender
      type: string
    - name: registration_date
      type: datetime

Defining Features

Create feature views that select, transform, and organize features from feature groups for specific model use cases.

Example: Defining a feature view for customer age and gender.


# feature_view_definition.yaml
name: customer_basic_info
version: 1
feature_group: customer_demographics@1
features:
  - name: customer_id
    transformation: identity
  - name: age
    transformation: identity
  - name: gender
    transformation: identity
online_store:
  type: managed