Skip to content

Instantly share code, notes, and snippets.

@bgweber
Created September 16, 2018 19:35
Show Gist options
  • Save bgweber/00f71ef8ff643064b27c6ae7398e4138 to your computer and use it in GitHub Desktop.
Save bgweber/00f71ef8ff643064b27c6ae7398e4138 to your computer and use it in GitHub Desktop.
Generating Features for Raw Event Data
import featuretools as ft
rawEventsDF = ... # load from data warehouse
# 1-hot encode the raw event data
es = ft.EntitySet(id="events")
es = es.entity_from_dataframe(entity_id="events", dataframe=rawDataDF)
feature_matrix, defs = ft.dfs(entityset=es, target_entity="events", max_depth=1)
encodedDF, encoders = ft.encode_features(feature_matrix, defs)
# perform deep feature synthesis on the encoded data
es = ft.EntitySet(id="events")
es = es.entity_from_dataframe(entity_id="events", dataframe=encodedDF)
es = es.normalize_entity(base_entity_id="events", new_entity_id="users", index="user_id")
generated_features, descriptors = ft.dfs(entityset=es, target_entity="users", max_depth=2)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment