Venez nous dire bonjour sur Slack !
Feast ( Fea ture Store ) est un magasin de fonctionnalités open source pour l'apprentissage automatique. Feast est le moyen le plus rapide de gérer l'infrastructure existante afin de produire des données analytiques pour la formation de modèles et l'inférence en ligne.
Feast permet aux équipes de la plateforme ML de :
Veuillez consulter notre documentation pour plus d'informations sur le projet.
L'architecture ci-dessus est le déploiement minimal de Feast. Vous souhaitez exécuter le Feast complet sur Snowflake/GCP/AWS ? Cliquez ici.
pip install feast
feast init my_feature_repo
cd my_feature_repo/feature_repo
feast apply
feast ui
from feast import FeatureStore
import pandas as pd
from datetime import datetime
entity_df = pd . DataFrame . from_dict ({
"driver_id" : [ 1001 , 1002 , 1003 , 1004 ],
"event_timestamp" : [
datetime ( 2021 , 4 , 12 , 10 , 59 , 42 ),
datetime ( 2021 , 4 , 12 , 8 , 12 , 10 ),
datetime ( 2021 , 4 , 12 , 16 , 40 , 26 ),
datetime ( 2021 , 4 , 12 , 15 , 1 , 12 )
]
})
store = FeatureStore ( repo_path = "." )
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 ()
print ( training_df . head ())
# Train model
# model = ml.fit(training_df)
event_timestamp driver_id conv_rate acc_rate avg_daily_trips
0 2021-04-12 08:12:10+00:00 1002 0.713465 0.597095 531
1 2021-04-12 10:59:42+00:00 1001 0.072752 0.044344 11
2 2021-04-12 15:01:12+00:00 1004 0.658182 0.079150 220
3 2021-04-12 16:40:26+00:00 1003 0.162092 0.309035 959
CURRENT_TIME=$(date -u +"%Y-%m-%dT%H:%M:%S")
feast materialize-incremental $CURRENT_TIME
Materializing feature view driver_hourly_stats from 2021-04-14 to 2021-04-15 done!
from pprint import pprint
from feast import FeatureStore
store = FeatureStore ( repo_path = "." )
feature_vector = store . get_online_features (
features = [
'driver_hourly_stats:conv_rate' ,
'driver_hourly_stats:acc_rate' ,
'driver_hourly_stats:avg_daily_trips'
],
entity_rows = [{ "driver_id" : 1001 }]
). to_dict ()
pprint ( feature_vector )
# Make prediction
# model.predict(feature_vector)
{
"driver_id" : [ 1001 ],
"driver_hourly_stats__conv_rate" : [ 0.49274 ],
"driver_hourly_stats__acc_rate" : [ 0.92743 ],
"driver_hourly_stats__avg_daily_trips" : [ 72 ]
}
La liste ci-dessous contient les fonctionnalités que les contributeurs envisagent de développer pour Feast.
Nous apprécions toute contribution à tous les éléments de la feuille de route !
Sources de données
Boutiques hors ligne
Boutiques en ligne
Ingénierie des fonctionnalités
Streaming
Déploiements
Service de fonctionnalités
Gestion de la qualité des données (voir RFC)
Découverte et gouvernance des fonctionnalités
Traitement du langage naturel
Veuillez vous référer à la documentation officielle sur Documentation
Feast est un projet communautaire et est toujours en développement actif. Veuillez consulter nos guides de contribution et de développement si vous souhaitez contribuer au projet :
Merci à ces personnes incroyables :