hongbo-miao/hongbomiao.com

View on GitHub
machine-learning/feature-store/generate_training_data.py

Summary

Maintainability
A
0 mins
Test Coverage
from datetime import datetime, timedelta

import pandas as pd
from feast import FeatureStore
from pandas import option_context

# The entity dataframe is the dataframe we want to enrich with feature values
entity_df = pd.DataFrame.from_dict(
    {
        "driver_id": [1001, 1002, 1003],
        "label_driver_reported_satisfaction": [1, 5, 3],
        "event_timestamp": [
            datetime.now() - timedelta(minutes=11),
            datetime.now() - timedelta(minutes=36),
            datetime.now() - timedelta(minutes=73),
        ],
    }
)

store = FeatureStore(repo_path="./driver_features")

training_df = store.get_historical_features(
    entity_df=entity_df,
    features=[
        "driver_hourly_stats:conv_rate",
        "driver_hourly_stats:acc_rate",
        "driver_hourly_stats:avg_daily_trips",
    ],
).to_df()

with option_context(
    "display.max_rows", 10, "display.max_columns", None, "display.width", 500
):
    print("----- Feature schema -----\n")
    print(training_df.info())

    print()
    print("----- Example features -----\n")
    print(training_df.head())