From c1f0d457700cbc98c42004afa690ac7581113496 Mon Sep 17 00:00:00 2001 From: Gaurav Sheni Date: Thu, 17 Sep 2020 17:36:20 -0400 Subject: [PATCH 01/14] working unit test --- docs/source/conf.py | 2 +- .../tests/variables/test_variables.py | 32 +++++++++++++++++++ featuretools/variable_types/variable.py | 11 ++++++- 3 files changed, 43 insertions(+), 2 deletions(-) create mode 100644 featuretools/tests/variables/test_variables.py diff --git a/docs/source/conf.py b/docs/source/conf.py index 9910338d44..81456de459 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -164,7 +164,7 @@ # The name of an image file (relative to this directory) to place at the top # of the sidebar. -#html_logo = None +html_logo = "images/alteryx_innovation_labs.png" # The name of an image file (relative to this directory) to use as a favicon of # the docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32 diff --git a/featuretools/tests/variables/test_variables.py b/featuretools/tests/variables/test_variables.py new file mode 100644 index 0000000000..d4e007d7cc --- /dev/null +++ b/featuretools/tests/variables/test_variables.py @@ -0,0 +1,32 @@ +import warnings + +import pandas as pd + +import featuretools as ft +from featuretools.variable_types import ( + NaturalLanguage, + Text +) + + +def test_text_depreciation(): + data = pd.DataFrame({ + "id": [1, 2, 3, 4, 5], + "text_column": ["a", "c", "b", "a", "a"], + }) + + with warnings.catch_warnings(record=True) as ws: + warnings.simplefilter("always") + es = ft.EntitySet() + es.entity_from_dataframe(entity_id="test", dataframe=data, index="id", + variable_types={"text_column": Text}) + assert len(ws) == 1 + assert ws[0].category == FutureWarning + assert str(ws[0].message) == "Text has been deprecated. Please use NaturalLanguage instead" + + with warnings.catch_warnings(record=True) as ws: + warnings.simplefilter("always") + es = ft.EntitySet() + es.entity_from_dataframe(entity_id="test", dataframe=data, index="id", + variable_types={"text_column": NaturalLanguage}) + assert len(ws) == 0 \ No newline at end of file diff --git a/featuretools/variable_types/variable.py b/featuretools/variable_types/variable.py index cc1ce4a244..407a574c60 100644 --- a/featuretools/variable_types/variable.py +++ b/featuretools/variable_types/variable.py @@ -1,3 +1,5 @@ +import warnings + import numpy as np import pandas as pd @@ -314,11 +316,18 @@ def to_data_description(self): return description -class Text(Variable): +class NaturalLanguage(Variable): """Represents variables that are arbitary strings""" _default_pandas_dtype = str +class Text(NaturalLanguage): + def __init__(self, id, entity, name=None): + msg = "Text has been deprecated. Please use NaturalLanguage instead" + warnings.warn(msg, category=FutureWarning) + super(Text, self).__init__(id, entity, name) + + class PandasTypes(object): _all = 'all' _categorical = 'category' From e954e245f58caf21510425016e018076afda4a28 Mon Sep 17 00:00:00 2001 From: Gaurav Sheni Date: Thu, 17 Sep 2020 17:36:45 -0400 Subject: [PATCH 02/14] lint:' --- featuretools/tests/variables/test_variables.py | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/featuretools/tests/variables/test_variables.py b/featuretools/tests/variables/test_variables.py index d4e007d7cc..d64f9da976 100644 --- a/featuretools/tests/variables/test_variables.py +++ b/featuretools/tests/variables/test_variables.py @@ -3,10 +3,7 @@ import pandas as pd import featuretools as ft -from featuretools.variable_types import ( - NaturalLanguage, - Text -) +from featuretools.variable_types import NaturalLanguage, Text def test_text_depreciation(): @@ -29,4 +26,4 @@ def test_text_depreciation(): es = ft.EntitySet() es.entity_from_dataframe(entity_id="test", dataframe=data, index="id", variable_types={"text_column": NaturalLanguage}) - assert len(ws) == 0 \ No newline at end of file + assert len(ws) == 0 From de68339d05f7dde0ffdee8c49ee0dece60a5ebbc Mon Sep 17 00:00:00 2001 From: Gaurav Sheni Date: Thu, 17 Sep 2020 17:52:52 -0400 Subject: [PATCH 03/14] remove from primitives, more tests --- docs/source/api_reference.rst | 6 ++--- .../primitives.rst | 4 ++-- .../guides/advanced_custom_primitives.rst | 14 ++++++------ featuretools/demo/retail.py | 2 +- .../standard/transform_primitive.py | 6 ++--- .../tests/entityset_tests/test_dask_es.py | 22 +++++++++---------- .../tests/entityset_tests/test_entity.py | 4 ++-- featuretools/tests/entityset_tests/test_es.py | 2 +- .../tests/entityset_tests/test_koalas_es.py | 22 +++++++++---------- .../tests/selection/test_selection.py | 4 ++-- featuretools/tests/testing_utils/mock_ds.py | 4 ++-- .../tests/variables/test_variables_utils.py | 7 +++++- featuretools/utils/entity_utils.py | 2 +- featuretools/variable_types/utils.py | 4 ++-- 14 files changed, 54 insertions(+), 49 deletions(-) diff --git a/docs/source/api_reference.rst b/docs/source/api_reference.rst index 00efd1bce2..84783f5095 100644 --- a/docs/source/api_reference.rst +++ b/docs/source/api_reference.rst @@ -166,8 +166,8 @@ Cumulative Transform Primitives CumMin CumMax -Text Transform Primitives -************************* +NaturalLanguage Transform Primitives +************************************ .. autosummary:: :toctree: generated/ @@ -345,7 +345,7 @@ Variable types Categorical Ordinal Boolean - Text + NaturalLanguage LatLong ZIPCode IPAddress diff --git a/docs/source/automated_feature_engineering/primitives.rst b/docs/source/automated_feature_engineering/primitives.rst index b97a1af507..2ecef7d8c8 100644 --- a/docs/source/automated_feature_engineering/primitives.rst +++ b/docs/source/automated_feature_engineering/primitives.rst @@ -112,7 +112,7 @@ Simple Custom Primitives .. ipython :: python from featuretools.primitives import make_agg_primitive, make_trans_primitive - from featuretools.variable_types import Text, Numeric + from featuretools.variable_types import NaturalLanguage, Numeric def absolute(column): return abs(column) @@ -171,7 +171,7 @@ Next, we need to create a custom primitive from the ``word_count`` function. .. ipython :: python WordCount = make_trans_primitive(function=word_count, - input_types=[Text], + input_types=[NaturalLanguage], return_type=Numeric) .. ipython :: python diff --git a/docs/source/guides/advanced_custom_primitives.rst b/docs/source/guides/advanced_custom_primitives.rst index 4217ccc2b5..996d94596c 100644 --- a/docs/source/guides/advanced_custom_primitives.rst +++ b/docs/source/guides/advanced_custom_primitives.rst @@ -8,9 +8,9 @@ Functions With Additional Arguments import featuretools as ft from featuretools.primitives import make_trans_primitive - from featuretools.variable_types import Text, Numeric, Categorical + from featuretools.variable_types import NaturalLanguage, Numeric, Categorical -One caveat with the make\_primitive functions is that the required arguments of ``function`` must be input features. Here we create a function for ``StringCount``, a primitive which counts the number of occurrences of a string in a ``Text`` input. Since ``string`` is not a feature, it needs to be a keyword argument to ``string_count``. +One caveat with the make\_primitive functions is that the required arguments of ``function`` must be input features. Here we create a function for ``StringCount``, a primitive which counts the number of occurrences of a string in a ``NaturalLanguage`` input. Since ``string`` is not a feature, it needs to be a keyword argument to ``string_count``. .. ipython:: python @@ -34,7 +34,7 @@ Now that we have the function, we create the primitive using the ``make_trans_pr .. ipython:: python StringCount = make_trans_primitive(function=string_count, - input_types=[Text], + input_types=[NaturalLanguage], return_type=Numeric, cls_attributes={"generate_name": string_count_generate_name}) @@ -63,7 +63,7 @@ Features with Multiple Outputs import numpy as np import re from featuretools.primitives import make_trans_primitive - from featuretools.variable_types import Text, Numeric + from featuretools.variable_types import NaturalLanguage, Numeric With the ``make_primitive`` functions, it is possible to have multiple columns output from a single feature. In order to do that, the output must be formatted as a list of arrays/series where each item in the list corresponds to an output from the primitive. In each of these list items (either arrays or series), there must be one element for each input element. @@ -84,7 +84,7 @@ We must use the ``num_output_features`` attribute to specify the number of outpu .. ipython:: python CaseCount = make_trans_primitive(function=case_count, - input_types=[Text], + input_types=[NaturalLanguage], return_type=Numeric, number_output_features=2) @@ -110,9 +110,9 @@ When we call ``dfs`` on this entityset, there are 6 instances (one for each of t .. from featuretools.primitives import TransformPrimitive .. class Sentiment(TransformPrimitive): -.. '''Reads in a text field and returns "negative", "neutral", or "positive"''' +.. '''Reads in a NaturalLanguage field and returns "negative", "neutral", or "positive"''' .. name = "sentiment" -.. input_types = [Text] +.. input_types = [NaturalLanguage] .. return_type = Categorical .. def get_function(self): .. filepath = self.get_filepath('sentiment_model.pickle') # returns absolute path to the file diff --git a/featuretools/demo/retail.py b/featuretools/demo/retail.py index e7e519d7f8..cbcf9ff3af 100644 --- a/featuretools/demo/retail.py +++ b/featuretools/demo/retail.py @@ -79,7 +79,7 @@ def load_retail(id='demo_retail_data', nrows=None, return_single_table=False): index="order_product_id", make_index=True, time_index="order_date", - variable_types={'description': vtypes.Text}) + variable_types={'description': vtypes.NaturalLanguage}) es.normalize_entity(new_entity_id="products", base_entity_id="order_products", diff --git a/featuretools/primitives/standard/transform_primitive.py b/featuretools/primitives/standard/transform_primitive.py index 50198da701..e33248b60e 100644 --- a/featuretools/primitives/standard/transform_primitive.py +++ b/featuretools/primitives/standard/transform_primitive.py @@ -16,7 +16,7 @@ LatLong, Numeric, Ordinal, - Text, + NaturalLanguage, Variable ) @@ -326,7 +326,7 @@ class NumCharacters(TransformPrimitive): [16, 11, 6] """ name = 'num_characters' - input_types = [Text] + input_types = [NaturalLanguage] return_type = Numeric compatibility = [Library.PANDAS, Library.DASK, Library.KOALAS] @@ -348,7 +348,7 @@ class NumWords(TransformPrimitive): [4, 2, 1, 6] """ name = 'num_words' - input_types = [Text] + input_types = [NaturalLanguage] return_type = Numeric compatibility = [Library.PANDAS, Library.DASK, Library.KOALAS] diff --git a/featuretools/tests/entityset_tests/test_dask_es.py b/featuretools/tests/entityset_tests/test_dask_es.py index 2e6335bb9a..939ddb175b 100644 --- a/featuretools/tests/entityset_tests/test_dask_es.py +++ b/featuretools/tests/entityset_tests/test_dask_es.py @@ -85,7 +85,7 @@ def test_add_last_time_indexes(): "id": ft.variable_types.Id, "user": ft.variable_types.Id, "time": ft.variable_types.DatetimeTimeIndex, - "strings": ft.variable_types.Text + "strings": ft.variable_types.NaturalLanguage } transactions = pd.DataFrame({"id": [0, 1, 2, 3, 4, 5], @@ -159,7 +159,7 @@ def test_single_table_dask_entityset(): "id": ft.variable_types.Id, "values": ft.variable_types.Numeric, "dates": ft.variable_types.Datetime, - "strings": ft.variable_types.Text + "strings": ft.variable_types.NaturalLanguage } dask_es.entity_from_dataframe(entity_id="data", dataframe=values_dd, @@ -174,7 +174,7 @@ def test_single_table_dask_entityset(): pd_es.entity_from_dataframe(entity_id="data", dataframe=df, index="id", - variable_types={"strings": ft.variable_types.Text}) + variable_types={"strings": ft.variable_types.NaturalLanguage}) fm, _ = ft.dfs(entityset=pd_es, target_entity="data", @@ -204,7 +204,7 @@ def test_single_table_dask_entityset_ids_not_sorted(): "id": ft.variable_types.Id, "values": ft.variable_types.Numeric, "dates": ft.variable_types.Datetime, - "strings": ft.variable_types.Text + "strings": ft.variable_types.NaturalLanguage } dask_es.entity_from_dataframe(entity_id="data", dataframe=values_dd, @@ -219,7 +219,7 @@ def test_single_table_dask_entityset_ids_not_sorted(): pd_es.entity_from_dataframe(entity_id="data", dataframe=df, index="id", - variable_types={"strings": ft.variable_types.Text}) + variable_types={"strings": ft.variable_types.NaturalLanguage}) fm, _ = ft.dfs(entityset=pd_es, target_entity="data", @@ -250,7 +250,7 @@ def test_single_table_dask_entityset_with_instance_ids(): "id": ft.variable_types.Id, "values": ft.variable_types.Numeric, "dates": ft.variable_types.Datetime, - "strings": ft.variable_types.Text + "strings": ft.variable_types.NaturalLanguage } dask_es.entity_from_dataframe(entity_id="data", dataframe=values_dd, @@ -266,7 +266,7 @@ def test_single_table_dask_entityset_with_instance_ids(): pd_es.entity_from_dataframe(entity_id="data", dataframe=df, index="id", - variable_types={"strings": ft.variable_types.Text}) + variable_types={"strings": ft.variable_types.NaturalLanguage}) fm, _ = ft.dfs(entityset=pd_es, target_entity="data", @@ -296,7 +296,7 @@ def test_single_table_dask_entityset_single_cutoff_time(): "id": ft.variable_types.Id, "values": ft.variable_types.Numeric, "dates": ft.variable_types.Datetime, - "strings": ft.variable_types.Text + "strings": ft.variable_types.NaturalLanguage } dask_es.entity_from_dataframe(entity_id="data", dataframe=values_dd, @@ -312,7 +312,7 @@ def test_single_table_dask_entityset_single_cutoff_time(): pd_es.entity_from_dataframe(entity_id="data", dataframe=df, index="id", - variable_types={"strings": ft.variable_types.Text}) + variable_types={"strings": ft.variable_types.NaturalLanguage}) fm, _ = ft.dfs(entityset=pd_es, target_entity="data", @@ -340,7 +340,7 @@ def test_single_table_dask_entityset_cutoff_time_df(): "id": ft.variable_types.Id, "values": ft.variable_types.Numeric, "dates": ft.variable_types.DatetimeTimeIndex, - "strings": ft.variable_types.Text + "strings": ft.variable_types.NaturalLanguage } dask_es.entity_from_dataframe(entity_id="data", dataframe=values_dd, @@ -365,7 +365,7 @@ def test_single_table_dask_entityset_cutoff_time_df(): dataframe=df, index="id", time_index="dates", - variable_types={"strings": ft.variable_types.Text}) + variable_types={"strings": ft.variable_types.NaturalLanguage}) fm, _ = ft.dfs(entityset=pd_es, target_entity="data", diff --git a/featuretools/tests/entityset_tests/test_entity.py b/featuretools/tests/entityset_tests/test_entity.py index b408e6b4bd..1358eb78a8 100644 --- a/featuretools/tests/entityset_tests/test_entity.py +++ b/featuretools/tests/entityset_tests/test_entity.py @@ -259,12 +259,12 @@ def test_passing_strings_to_variable_types_dfs(): 'home_team_score': [3, 0, 1, 0, 4], 'away_team_score': [2, 1, 2, 0, 0] }) - entities = {'teams': (teams, 'id', None, {'name': 'text'}), 'games': (games, 'id')} + entities = {'teams': (teams, 'id', None, {'name': 'natural_language'}), 'games': (games, 'id')} relationships = [('teams', 'id', 'games', 'home_team_id')] features = ft.dfs(entities, relationships, target_entity="teams", features_only=True) name_class = features[0].entity['name'].__class__ - assert name_class == variable_types['text'] + assert name_class == variable_types['natural_language'] def test_replace_latlong_nan_during_entity_creation(pd_es): diff --git a/featuretools/tests/entityset_tests/test_es.py b/featuretools/tests/entityset_tests/test_es.py index b6dc286281..d453fdf424 100644 --- a/featuretools/tests/entityset_tests/test_es.py +++ b/featuretools/tests/entityset_tests/test_es.py @@ -133,7 +133,7 @@ def test_add_relationship_errors_on_dtype_mismatch(es): 'value_many_nans': variable_types.Numeric, 'priority_level': variable_types.Ordinal, 'purchased': variable_types.Boolean, - 'comments': variable_types.Text + 'comments': variable_types.NaturalLanguage } assert set(log_variable_types) == set(log_2_df.columns) es.entity_from_dataframe(entity_id='log2', diff --git a/featuretools/tests/entityset_tests/test_koalas_es.py b/featuretools/tests/entityset_tests/test_koalas_es.py index bee1d45c65..658e4dabf2 100644 --- a/featuretools/tests/entityset_tests/test_koalas_es.py +++ b/featuretools/tests/entityset_tests/test_koalas_es.py @@ -93,7 +93,7 @@ def test_add_last_time_indexes(): "id": ft.variable_types.Id, "user": ft.variable_types.Id, "time": ft.variable_types.DatetimeTimeIndex, - "strings": ft.variable_types.Text + "strings": ft.variable_type.NaturalLanguage } transactions = pd.DataFrame({"id": [0, 1, 2, 3, 4, 5], @@ -167,7 +167,7 @@ def test_single_table_ks_entityset(): "id": ft.variable_types.Id, "values": ft.variable_types.Numeric, "dates": ft.variable_types.Datetime, - "strings": ft.variable_types.Text + "strings": ft.variable_type.NaturalLanguage } ks_es.entity_from_dataframe(entity_id="data", dataframe=values_dd, @@ -182,7 +182,7 @@ def test_single_table_ks_entityset(): pd_es.entity_from_dataframe(entity_id="data", dataframe=df, index="id", - variable_types={"strings": ft.variable_types.Text}) + variable_types={"strings": ft.variable_type.NaturalLanguage}) fm, _ = ft.dfs(entityset=pd_es, target_entity="data", @@ -213,7 +213,7 @@ def test_single_table_ks_entityset_ids_not_sorted(): "id": ft.variable_types.Id, "values": ft.variable_types.Numeric, "dates": ft.variable_types.Datetime, - "strings": ft.variable_types.Text + "strings": ft.variable_type.NaturalLanguage } ks_es.entity_from_dataframe(entity_id="data", dataframe=values_dd, @@ -228,7 +228,7 @@ def test_single_table_ks_entityset_ids_not_sorted(): pd_es.entity_from_dataframe(entity_id="data", dataframe=df, index="id", - variable_types={"strings": ft.variable_types.Text}) + variable_types={"strings": ft.variable_type.NaturalLanguage}) fm, _ = ft.dfs(entityset=pd_es, target_entity="data", @@ -260,7 +260,7 @@ def test_single_table_ks_entityset_with_instance_ids(): "id": ft.variable_types.Id, "values": ft.variable_types.Numeric, "dates": ft.variable_types.Datetime, - "strings": ft.variable_types.Text + "strings": ft.variable_type.NaturalLanguage } ks_es.entity_from_dataframe(entity_id="data", dataframe=values_dd, @@ -276,7 +276,7 @@ def test_single_table_ks_entityset_with_instance_ids(): pd_es.entity_from_dataframe(entity_id="data", dataframe=df, index="id", - variable_types={"strings": ft.variable_types.Text}) + variable_types={"strings": ft.variable_type.NaturalLanguage}) fm, _ = ft.dfs(entityset=pd_es, target_entity="data", @@ -307,7 +307,7 @@ def test_single_table_ks_entityset_single_cutoff_time(): "id": ft.variable_types.Id, "values": ft.variable_types.Numeric, "dates": ft.variable_types.Datetime, - "strings": ft.variable_types.Text + "strings": ft.variable_type.NaturalLanguage } ks_es.entity_from_dataframe(entity_id="data", dataframe=values_dd, @@ -323,7 +323,7 @@ def test_single_table_ks_entityset_single_cutoff_time(): pd_es.entity_from_dataframe(entity_id="data", dataframe=df, index="id", - variable_types={"strings": ft.variable_types.Text}) + variable_types={"strings": ft.variable_type.NaturalLanguage}) fm, _ = ft.dfs(entityset=pd_es, target_entity="data", @@ -352,7 +352,7 @@ def test_single_table_ks_entityset_cutoff_time_df(): "id": ft.variable_types.Id, "values": ft.variable_types.Numeric, "dates": ft.variable_types.Datetime, - "strings": ft.variable_types.Text + "strings": ft.variable_type.NaturalLanguage } ks_es.entity_from_dataframe(entity_id="data", dataframe=values_dd, @@ -377,7 +377,7 @@ def test_single_table_ks_entityset_cutoff_time_df(): dataframe=df, index="id", time_index="dates", - variable_types={"strings": ft.variable_types.Text}) + variable_types={"strings": ft.variable_type.NaturalLanguage}) fm, _ = ft.dfs(entityset=pd_es, target_entity="data", diff --git a/featuretools/tests/selection/test_selection.py b/featuretools/tests/selection/test_selection.py index c4fc60acf2..4b48d9a53f 100644 --- a/featuretools/tests/selection/test_selection.py +++ b/featuretools/tests/selection/test_selection.py @@ -5,7 +5,7 @@ import featuretools as ft from featuretools import Feature from featuretools.tests.testing_utils import make_ecommerce_entityset -from featuretools.variable_types.variable import Text +from featuretools.variable_types.variable import NaturalLanguage @pytest.fixture @@ -131,7 +131,7 @@ def test_remove_highly_correlated_features(): 'corr_2': [99, 88, 77, 33] }) - es = ft.EntitySet("data", {'correlated': (correlated_df, 'id', None, {'words': Text})}) + es = ft.EntitySet("data", {'correlated': (correlated_df, 'id', None, {'words': NaturalLanguage})}) fm, _ = ft.dfs(entityset=es, target_entity="correlated", trans_primitives=['num_characters'], diff --git a/featuretools/tests/testing_utils/mock_ds.py b/featuretools/tests/testing_utils/mock_ds.py index d29643d825..a73f36db61 100644 --- a/featuretools/tests/testing_utils/mock_ds.py +++ b/featuretools/tests/testing_utils/mock_ds.py @@ -234,7 +234,7 @@ def make_variable_types(with_integer_time_index=False): 'age': variable_types.Numeric, u'région_id': variable_types.Id, 'loves_ice_cream': variable_types.Boolean, - 'favorite_quote': variable_types.Text, + 'favorite_quote': variable_types.NaturalLanguage, 'signup_date': variable_types.Datetime, 'upgrade_date': variable_types.Datetime, 'cancel_date': variable_types.Datetime, @@ -269,7 +269,7 @@ def make_variable_types(with_integer_time_index=False): 'value_many_nans': variable_types.Numeric, 'priority_level': variable_types.Ordinal, 'purchased': variable_types.Boolean, - 'comments': variable_types.Text + 'comments': variable_types.NaturalLanguage } if with_integer_time_index: log_variable_types['datetime'] = variable_types.Numeric diff --git a/featuretools/tests/variables/test_variables_utils.py b/featuretools/tests/variables/test_variables_utils.py index 1895ec62e4..ab04be7283 100644 --- a/featuretools/tests/variables/test_variables_utils.py +++ b/featuretools/tests/variables/test_variables_utils.py @@ -6,6 +6,7 @@ from featuretools import variable_types as v_types from featuretools.variable_types import ( + Text, Variable, find_variable_types, graph_variable_types, @@ -17,13 +18,15 @@ def test_find_variable_types(): expected_v_types = [] for name, obj in inspect.getmembers(v_types.variable): if inspect.isclass(obj) and issubclass(obj, Variable) \ - and obj != Variable: + and obj != Variable and obj != Text: expected_v_types.append(obj) assert isinstance(find_variable_types(), dict) found_vtypes = find_variable_types() assert len(found_vtypes) == len(expected_v_types) for v_type in expected_v_types: assert found_vtypes[v_type.type_string] == v_type + assert 'text' not in found_vtypes.keys() + assert Text not in found_vtypes.values() def test_list_variables(): @@ -32,6 +35,8 @@ def test_list_variables(): assert v_type.__name__ in df['name'].values assert v_type.__doc__ in df['description'].values assert v_type.type_string in df['type_string'].values + assert 'text' not in df['type_string'] + assert Text not in df['name'] def test_returns_digraph_object(): diff --git a/featuretools/utils/entity_utils.py b/featuretools/utils/entity_utils.py index b96a729f23..3ffe3090ce 100644 --- a/featuretools/utils/entity_utils.py +++ b/featuretools/utils/entity_utils.py @@ -66,7 +66,7 @@ def infer_variable_types(df, link_vars, variable_types, time_index, secondary_ti try: avg_length = sample.str.len().mean() if avg_length > 50: - inferred_type = vtypes.Text + inferred_type = vtypes.NaturalLanguage except AttributeError: pass diff --git a/featuretools/variable_types/utils.py b/featuretools/variable_types/utils.py index 9e7c47a77f..385e6ed4be 100644 --- a/featuretools/variable_types/utils.py +++ b/featuretools/variable_types/utils.py @@ -6,7 +6,7 @@ get_graphviz_format, save_graph ) -from featuretools.variable_types.variable import Variable +from featuretools.variable_types.variable import Text, Variable def find_variable_types(): @@ -22,7 +22,7 @@ def find_variable_types(): """ return {vtype.type_string: vtype for vtype in find_descendents(Variable) - if vtype != Variable} + if vtype != Variable and vtype != Text} def list_variable_types(): From 7f9eb52593cdc1521ffe71c4294d849727409d69 Mon Sep 17 00:00:00 2001 From: Gaurav Sheni Date: Thu, 17 Sep 2020 18:00:25 -0400 Subject: [PATCH 04/14] changelog --- docs/source/changelog.rst | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/docs/source/changelog.rst b/docs/source/changelog.rst index f253aad35a..108b642d32 100644 --- a/docs/source/changelog.rst +++ b/docs/source/changelog.rst @@ -3,16 +3,20 @@ Changelog --------- **Future Release** + .. warning:: + The Text variable type has been deprecated and been replaced with NaturalLanguage. Future releases of Featuretools will not have the Text variable type. + * Enhancements * Fixes * Allow FeatureOutputSlice features to be serialized (:pr:`1150`) * Changes + * Text variable type has been replaced with NaturalLanguage (:pr:`1159`) * Documentation Changes * Update release doc for clarity and to add Future Release template (:pr:`1151`) * Testing Changes Thanks to the following people for contributing to this release: - :user:`tamargrey` + :user:`tamargrey`, :user:`gsheni` **v0.19.0 Sept 8, 2020** * Enhancements @@ -28,8 +32,8 @@ Changelog * Added return values to dfs and calculate_feature_matrix (:pr:`1125`) * Testing Changes * Better test case for normalizing from no time index to time index (:pr:`1113`) - - \* When passing multiple instances of a primitive built with ``make_trans_primitive`` + + \* When passing multiple instances of a primitive built with ``make_trans_primitive`` or ``maxe_agg_primitive``, those instances must have the same relative order when passed to ``dfs`` to ensure a consistent ordering of features. @@ -39,9 +43,9 @@ Changelog **Breaking Changes** -* ``ft.dfs`` will no longer build features from Transform primitives where one - of the inputs is a Transform feature, a GroupByTransform feature, - or a Direct Feature of a Transform / GroupByTransform feature. This will make some +* ``ft.dfs`` will no longer build features from Transform primitives where one + of the inputs is a Transform feature, a GroupByTransform feature, + or a Direct Feature of a Transform / GroupByTransform feature. This will make some features that would previously be generated by ``ft.dfs`` only possible if explicitly specified in ``seed_features``. From 8bad3dd6f9b27b4027aa962aa97aac1960a8a273 Mon Sep 17 00:00:00 2001 From: Gaurav Sheni Date: Thu, 17 Sep 2020 18:14:32 -0400 Subject: [PATCH 05/14] fix lint, conf.py --- docs/source/conf.py | 2 +- featuretools/primitives/standard/transform_primitive.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/source/conf.py b/docs/source/conf.py index 81456de459..9910338d44 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -164,7 +164,7 @@ # The name of an image file (relative to this directory) to place at the top # of the sidebar. -html_logo = "images/alteryx_innovation_labs.png" +#html_logo = None # The name of an image file (relative to this directory) to use as a favicon of # the docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32 diff --git a/featuretools/primitives/standard/transform_primitive.py b/featuretools/primitives/standard/transform_primitive.py index e33248b60e..bc10d2ae8c 100644 --- a/featuretools/primitives/standard/transform_primitive.py +++ b/featuretools/primitives/standard/transform_primitive.py @@ -14,9 +14,9 @@ Datetime, DatetimeTimeIndex, LatLong, + NaturalLanguage, Numeric, Ordinal, - NaturalLanguage, Variable ) From 4359b52efbe4eac90be9d52a860cfd84c10f71f8 Mon Sep 17 00:00:00 2001 From: Gaurav Sheni Date: Mon, 21 Sep 2020 16:52:08 -0400 Subject: [PATCH 06/14] fix test --- .../tests/entityset_tests/test_koalas_es.py | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/featuretools/tests/entityset_tests/test_koalas_es.py b/featuretools/tests/entityset_tests/test_koalas_es.py index 658e4dabf2..821f7d95b1 100644 --- a/featuretools/tests/entityset_tests/test_koalas_es.py +++ b/featuretools/tests/entityset_tests/test_koalas_es.py @@ -93,7 +93,7 @@ def test_add_last_time_indexes(): "id": ft.variable_types.Id, "user": ft.variable_types.Id, "time": ft.variable_types.DatetimeTimeIndex, - "strings": ft.variable_type.NaturalLanguage + "strings": ft.variable_types.NaturalLanguage } transactions = pd.DataFrame({"id": [0, 1, 2, 3, 4, 5], @@ -167,7 +167,7 @@ def test_single_table_ks_entityset(): "id": ft.variable_types.Id, "values": ft.variable_types.Numeric, "dates": ft.variable_types.Datetime, - "strings": ft.variable_type.NaturalLanguage + "strings": ft.variable_types.NaturalLanguage } ks_es.entity_from_dataframe(entity_id="data", dataframe=values_dd, @@ -182,7 +182,7 @@ def test_single_table_ks_entityset(): pd_es.entity_from_dataframe(entity_id="data", dataframe=df, index="id", - variable_types={"strings": ft.variable_type.NaturalLanguage}) + variable_types={"strings": ft.variable_types.NaturalLanguage}) fm, _ = ft.dfs(entityset=pd_es, target_entity="data", @@ -213,7 +213,7 @@ def test_single_table_ks_entityset_ids_not_sorted(): "id": ft.variable_types.Id, "values": ft.variable_types.Numeric, "dates": ft.variable_types.Datetime, - "strings": ft.variable_type.NaturalLanguage + "strings": ft.variable_types.NaturalLanguage } ks_es.entity_from_dataframe(entity_id="data", dataframe=values_dd, @@ -228,7 +228,7 @@ def test_single_table_ks_entityset_ids_not_sorted(): pd_es.entity_from_dataframe(entity_id="data", dataframe=df, index="id", - variable_types={"strings": ft.variable_type.NaturalLanguage}) + variable_types={"strings": ft.variable_types.NaturalLanguage}) fm, _ = ft.dfs(entityset=pd_es, target_entity="data", @@ -260,7 +260,7 @@ def test_single_table_ks_entityset_with_instance_ids(): "id": ft.variable_types.Id, "values": ft.variable_types.Numeric, "dates": ft.variable_types.Datetime, - "strings": ft.variable_type.NaturalLanguage + "strings": ft.variable_types.NaturalLanguage } ks_es.entity_from_dataframe(entity_id="data", dataframe=values_dd, @@ -276,7 +276,7 @@ def test_single_table_ks_entityset_with_instance_ids(): pd_es.entity_from_dataframe(entity_id="data", dataframe=df, index="id", - variable_types={"strings": ft.variable_type.NaturalLanguage}) + variable_types={"strings": ft.variable_types.NaturalLanguage}) fm, _ = ft.dfs(entityset=pd_es, target_entity="data", @@ -307,7 +307,7 @@ def test_single_table_ks_entityset_single_cutoff_time(): "id": ft.variable_types.Id, "values": ft.variable_types.Numeric, "dates": ft.variable_types.Datetime, - "strings": ft.variable_type.NaturalLanguage + "strings": ft.variable_types.NaturalLanguage } ks_es.entity_from_dataframe(entity_id="data", dataframe=values_dd, @@ -323,7 +323,7 @@ def test_single_table_ks_entityset_single_cutoff_time(): pd_es.entity_from_dataframe(entity_id="data", dataframe=df, index="id", - variable_types={"strings": ft.variable_type.NaturalLanguage}) + variable_types={"strings": ft.variable_types.NaturalLanguage}) fm, _ = ft.dfs(entityset=pd_es, target_entity="data", @@ -352,7 +352,7 @@ def test_single_table_ks_entityset_cutoff_time_df(): "id": ft.variable_types.Id, "values": ft.variable_types.Numeric, "dates": ft.variable_types.Datetime, - "strings": ft.variable_type.NaturalLanguage + "strings": ft.variable_types.NaturalLanguage } ks_es.entity_from_dataframe(entity_id="data", dataframe=values_dd, @@ -377,7 +377,7 @@ def test_single_table_ks_entityset_cutoff_time_df(): dataframe=df, index="id", time_index="dates", - variable_types={"strings": ft.variable_type.NaturalLanguage}) + variable_types={"strings": ft.variable_types.NaturalLanguage}) fm, _ = ft.dfs(entityset=pd_es, target_entity="data", From da27f40227d902a3ab8762c155024ec240cf65d3 Mon Sep 17 00:00:00 2001 From: Gaurav Sheni Date: Mon, 21 Sep 2020 16:56:18 -0400 Subject: [PATCH 07/14] lint --- featuretools/entityset/entity.py | 3 +++ featuretools/variable_types/variable.py | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/featuretools/entityset/entity.py b/featuretools/entityset/entity.py index 574212cbc7..20a340f29b 100644 --- a/featuretools/entityset/entity.py +++ b/featuretools/entityset/entity.py @@ -297,6 +297,9 @@ def _create_variables(self, variable_types, index, time_index, secondary_time_in for vid in variable_types.copy(): vtype = variable_types[vid] if isinstance(vtype, str): + if vtype in ['Text', 'text']: + msg = f"{vtype} has been deprecated. Please use NaturalLanguage instead." + warnings.warn(msg, category=FutureWarning) if vtype in string_to_class_map: variable_types[vid] = string_to_class_map[vtype] else: diff --git a/featuretools/variable_types/variable.py b/featuretools/variable_types/variable.py index 407a574c60..e6e1bcad55 100644 --- a/featuretools/variable_types/variable.py +++ b/featuretools/variable_types/variable.py @@ -323,7 +323,7 @@ class NaturalLanguage(Variable): class Text(NaturalLanguage): def __init__(self, id, entity, name=None): - msg = "Text has been deprecated. Please use NaturalLanguage instead" + msg = "Text has been deprecated. Please use NaturalLanguage instead." warnings.warn(msg, category=FutureWarning) super(Text, self).__init__(id, entity, name) From a6fa71ad71aa24c1a1cc296ffd1054a0c7ccb19e Mon Sep 17 00:00:00 2001 From: Gaurav Sheni Date: Mon, 21 Sep 2020 17:28:20 -0400 Subject: [PATCH 08/14] fix test --- featuretools/entityset/entity.py | 7 ++--- .../tests/entityset_tests/test_entity.py | 28 +++++++++++++++++++ 2 files changed, 31 insertions(+), 4 deletions(-) diff --git a/featuretools/entityset/entity.py b/featuretools/entityset/entity.py index 20a340f29b..1cf2017559 100644 --- a/featuretools/entityset/entity.py +++ b/featuretools/entityset/entity.py @@ -20,7 +20,7 @@ _check_timedelta, _dataframes_equal ) -from featuretools.variable_types import find_variable_types +from featuretools.variable_types import Text, find_variable_types ks = import_or_none('databricks.koalas') @@ -294,12 +294,11 @@ def _create_variables(self, variable_types, index, time_index, secondary_time_in variables = [] variable_types = variable_types.copy() or {} string_to_class_map = find_variable_types() + # TODO: Remove once Text has been deprecated + string_to_class_map[Text.type_string] = Text for vid in variable_types.copy(): vtype = variable_types[vid] if isinstance(vtype, str): - if vtype in ['Text', 'text']: - msg = f"{vtype} has been deprecated. Please use NaturalLanguage instead." - warnings.warn(msg, category=FutureWarning) if vtype in string_to_class_map: variable_types[vid] = string_to_class_map[vtype] else: diff --git a/featuretools/tests/entityset_tests/test_entity.py b/featuretools/tests/entityset_tests/test_entity.py index 1358eb78a8..b6c224ce9c 100644 --- a/featuretools/tests/entityset_tests/test_entity.py +++ b/featuretools/tests/entityset_tests/test_entity.py @@ -1,3 +1,4 @@ +import warnings from datetime import datetime import numpy as np @@ -275,3 +276,30 @@ def test_replace_latlong_nan_during_entity_creation(pd_es): with pytest.warns(UserWarning, match="LatLong columns should contain only tuples. All single 'NaN' values in column 'latlong' have been replaced with '\\(NaN, NaN\\)'."): entity = ft.Entity(id="nan_latlong_entity", df=df, entityset=nan_es, variable_types=pd_es['log'].variable_types) assert entity.df['latlong'][0] == (np.nan, np.nan) + + +def test_text_deprecation_warning(): + data = pd.DataFrame({ + "id": [1, 2, 3, 4, 5], + "value": ["a", "c", "b", "a", "a"] + }) + + for text_repr in ['text', ft.variable_types.Text]: + es = ft.EntitySet() + warnings.resetwarnings() + with warnings.catch_warnings(record=True) as ws: + warnings.simplefilter("always") + es = es.entity_from_dataframe(entity_id="test", dataframe=data, index="id", + variable_types={"value": text_repr}) + assert len(ws) == 1 + assert ws[0].category == FutureWarning + assert str(ws[0].message) == "Text has been deprecated. Please use NaturalLanguage instead." + + for nl_repr in ['natural_language', ft.variable_types.NaturalLanguage]: + es = ft.EntitySet() + warnings.resetwarnings() + with warnings.catch_warnings(record=True) as ws: + warnings.simplefilter("always") + es = es.entity_from_dataframe(entity_id="test", dataframe=data, index="id", + variable_types={"value": nl_repr}) + assert len(ws) == 0 From 51c602fbbe5c7daf52d1fb8e1a6d2cf2e7107428 Mon Sep 17 00:00:00 2001 From: Gaurav Sheni Date: Fri, 25 Sep 2020 11:34:05 -0400 Subject: [PATCH 09/14] fix pytest warns --- featuretools/entityset/entity.py | 2 +- .../tests/entityset_tests/test_entity.py | 15 ++++---------- .../tests/variables/test_variables.py | 20 ++++++------------- 3 files changed, 11 insertions(+), 26 deletions(-) diff --git a/featuretools/entityset/entity.py b/featuretools/entityset/entity.py index 1cf2017559..73723ba9cc 100644 --- a/featuretools/entityset/entity.py +++ b/featuretools/entityset/entity.py @@ -294,7 +294,7 @@ def _create_variables(self, variable_types, index, time_index, secondary_time_in variables = [] variable_types = variable_types.copy() or {} string_to_class_map = find_variable_types() - # TODO: Remove once Text has been deprecated + # TODO: Remove once Text has been removed from variable types string_to_class_map[Text.type_string] = Text for vid in variable_types.copy(): vtype = variable_types[vid] diff --git a/featuretools/tests/entityset_tests/test_entity.py b/featuretools/tests/entityset_tests/test_entity.py index b6c224ce9c..4e2df72384 100644 --- a/featuretools/tests/entityset_tests/test_entity.py +++ b/featuretools/tests/entityset_tests/test_entity.py @@ -1,4 +1,3 @@ -import warnings from datetime import datetime import numpy as np @@ -286,20 +285,14 @@ def test_text_deprecation_warning(): for text_repr in ['text', ft.variable_types.Text]: es = ft.EntitySet() - warnings.resetwarnings() - with warnings.catch_warnings(record=True) as ws: - warnings.simplefilter("always") + match = "Text has been deprecated. Please use NaturalLanguage instead." + with pytest.warns(FutureWarning, match=match): es = es.entity_from_dataframe(entity_id="test", dataframe=data, index="id", variable_types={"value": text_repr}) - assert len(ws) == 1 - assert ws[0].category == FutureWarning - assert str(ws[0].message) == "Text has been deprecated. Please use NaturalLanguage instead." for nl_repr in ['natural_language', ft.variable_types.NaturalLanguage]: es = ft.EntitySet() - warnings.resetwarnings() - with warnings.catch_warnings(record=True) as ws: - warnings.simplefilter("always") + with pytest.warns(None) as record: es = es.entity_from_dataframe(entity_id="test", dataframe=data, index="id", variable_types={"value": nl_repr}) - assert len(ws) == 0 + assert len(record) == 0 diff --git a/featuretools/tests/variables/test_variables.py b/featuretools/tests/variables/test_variables.py index d64f9da976..b8fdbf8040 100644 --- a/featuretools/tests/variables/test_variables.py +++ b/featuretools/tests/variables/test_variables.py @@ -1,6 +1,5 @@ -import warnings - import pandas as pd +import pytest import featuretools as ft from featuretools.variable_types import NaturalLanguage, Text @@ -11,19 +10,12 @@ def test_text_depreciation(): "id": [1, 2, 3, 4, 5], "text_column": ["a", "c", "b", "a", "a"], }) - - with warnings.catch_warnings(record=True) as ws: - warnings.simplefilter("always") - es = ft.EntitySet() + es = ft.EntitySet() + match = "Text has been deprecated. Please use NaturalLanguage instead" + with pytest.warns(FutureWarning, match=match): es.entity_from_dataframe(entity_id="test", dataframe=data, index="id", variable_types={"text_column": Text}) - assert len(ws) == 1 - assert ws[0].category == FutureWarning - assert str(ws[0].message) == "Text has been deprecated. Please use NaturalLanguage instead" - - with warnings.catch_warnings(record=True) as ws: - warnings.simplefilter("always") - es = ft.EntitySet() + es = ft.EntitySet() + with pytest.warns(None): es.entity_from_dataframe(entity_id="test", dataframe=data, index="id", variable_types={"text_column": NaturalLanguage}) - assert len(ws) == 0 From ccb1a4955130f787b43b7d5fe93302d455c8bb5f Mon Sep 17 00:00:00 2001 From: Gaurav Sheni Date: Fri, 25 Sep 2020 11:59:17 -0400 Subject: [PATCH 10/14] fix sort --- .../test_feature_serialization.py | 2 ++ ...ure_schema_6.0.0_entityset_schema_5.0.0.json | 1 + ...erialization_data_entityset_schema_5.0.0.tar | Bin 0 -> 71680 bytes 3 files changed, 3 insertions(+) create mode 100644 test_feature_serialization_feature_schema_6.0.0_entityset_schema_5.0.0.json create mode 100644 test_serialization_data_entityset_schema_5.0.0.tar diff --git a/featuretools/tests/primitive_tests/test_feature_serialization.py b/featuretools/tests/primitive_tests/test_feature_serialization.py index b3df1eff48..7b1b6d3bd6 100644 --- a/featuretools/tests/primitive_tests/test_feature_serialization.py +++ b/featuretools/tests/primitive_tests/test_feature_serialization.py @@ -46,6 +46,8 @@ def assert_features(original, deserialized): + original = sorted(original, key=lambda x: x.unique_name()) + deserialized = sorted(deserialized, key=lambda x: x.unique_name()) for feat_1, feat_2 in zip(original, deserialized): assert feat_1.unique_name() == feat_2.unique_name() assert feat_1.entityset == feat_2.entityset diff --git a/test_feature_serialization_feature_schema_6.0.0_entityset_schema_5.0.0.json b/test_feature_serialization_feature_schema_6.0.0_entityset_schema_5.0.0.json new file mode 100644 index 0000000000..44086e92c7 --- /dev/null +++ b/test_feature_serialization_feature_schema_6.0.0_entityset_schema_5.0.0.json @@ -0,0 +1 @@ +{"schema_version": "6.0.0", "ft_version": "0.19.0", "entityset": {"schema_version": "5.0.0", "id": "ecommerce", "entities": {"cohorts": {"id": "cohorts", "index": "cohort", "time_index": "cohort_end", "properties": {"secondary_time_index": {}, "last_time_index": false}, "variables": [{"id": "cohort", "type": {"value": "index"}, "properties": {"name": "cohort", "entity": "cohorts", "interesting_values": "{}"}}, {"id": "cohort_name", "type": {"value": "categorical", "categories": []}, "properties": {"name": "cohort_name", "entity": "cohorts", "interesting_values": "{}"}}, {"id": "cohort_end", "type": {"value": "datetime_time_index", "format": null}, "properties": {"name": "cohort_end", "entity": "cohorts", "interesting_values": "{}"}}], "loading_info": {"entity_type": "pandas", "params": {}, "properties": {"dtypes": {"cohort": "int64", "cohort_name": "object", "cohort_end": "datetime64[ns]"}}}}, "customers": {"id": "customers", "index": "id", "time_index": "signup_date", "properties": {"secondary_time_index": {"cancel_date": ["cancel_reason", "cancel_date"]}, "last_time_index": false}, "variables": [{"id": "id", "type": {"value": "index"}, "properties": {"name": "id", "entity": "customers", "interesting_values": "{}"}}, {"id": "cohort", "type": {"value": "id", "categories": []}, "properties": {"name": "cohort", "entity": "customers", "interesting_values": "{}"}}, {"id": "age", "type": {"value": "numeric", "range": [], "start_inclusive": true, "end_inclusive": false}, "properties": {"name": "age", "entity": "customers", "interesting_values": "{}"}}, {"id": "r\u00e9gion_id", "type": {"value": "id", "categories": []}, "properties": {"name": "r\u00e9gion_id", "entity": "customers", "interesting_values": "{}"}}, {"id": "loves_ice_cream", "type": {"value": "boolean", "true_values": [1, true, "true", "True", "yes", "t", "T"], "false_values": [0, false, "false", "False", "no", "f", "F"]}, "properties": {"name": "loves_ice_cream", "entity": "customers", "interesting_values": "{}"}}, {"id": "favorite_quote", "type": {"value": "natural_language"}, "properties": {"name": "favorite_quote", "entity": "customers", "interesting_values": "{}"}}, {"id": "signup_date", "type": {"value": "datetime_time_index", "format": null}, "properties": {"name": "signup_date", "entity": "customers", "interesting_values": "{}"}}, {"id": "upgrade_date", "type": {"value": "datetime", "format": null}, "properties": {"name": "upgrade_date", "entity": "customers", "interesting_values": "{}"}}, {"id": "cancel_date", "type": {"value": "datetime", "format": null}, "properties": {"name": "cancel_date", "entity": "customers", "interesting_values": "{}"}}, {"id": "cancel_reason", "type": {"value": "categorical", "categories": []}, "properties": {"name": "cancel_reason", "entity": "customers", "interesting_values": "{}"}}, {"id": "engagement_level", "type": {"value": "ordinal"}, "properties": {"name": "engagement_level", "entity": "customers", "interesting_values": "{}"}}, {"id": "full_name", "type": {"value": "full_name"}, "properties": {"name": "full_name", "entity": "customers", "interesting_values": "{}"}}, {"id": "email", "type": {"value": "email_address"}, "properties": {"name": "email", "entity": "customers", "interesting_values": "{}"}}, {"id": "phone_number", "type": {"value": "phone_number"}, "properties": {"name": "phone_number", "entity": "customers", "interesting_values": "{}"}}, {"id": "date_of_birth", "type": {"value": "date_of_birth", "format": null}, "properties": {"name": "date_of_birth", "entity": "customers", "interesting_values": "{}"}}], "loading_info": {"entity_type": "pandas", "params": {}, "properties": {"dtypes": {"id": "category", "cohort": "int64", "age": "int64", "r\u00e9gion_id": "object", "loves_ice_cream": "bool", "favorite_quote": "object", "signup_date": "datetime64[ns]", "upgrade_date": "datetime64[ns]", "cancel_date": "datetime64[ns]", "cancel_reason": "object", "engagement_level": "int64", "full_name": "object", "email": "object", "phone_number": "object", "date_of_birth": "datetime64[ns]"}}}}, "log": {"id": "log", "index": "id", "time_index": "datetime", "properties": {"secondary_time_index": {}, "last_time_index": false}, "variables": [{"id": "id", "type": {"value": "index"}, "properties": {"name": "id", "entity": "log", "interesting_values": "{}"}}, {"id": "session_id", "type": {"value": "id", "categories": []}, "properties": {"name": "session_id", "entity": "log", "interesting_values": "{}"}}, {"id": "product_id", "type": {"value": "id", "categories": []}, "properties": {"name": "product_id", "entity": "log", "interesting_values": "{}"}}, {"id": "datetime", "type": {"value": "datetime_time_index", "format": null}, "properties": {"name": "datetime", "entity": "log", "interesting_values": "{}"}}, {"id": "value", "type": {"value": "numeric", "range": [], "start_inclusive": true, "end_inclusive": false}, "properties": {"name": "value", "entity": "log", "interesting_values": "{}"}}, {"id": "value_2", "type": {"value": "numeric", "range": [], "start_inclusive": true, "end_inclusive": false}, "properties": {"name": "value_2", "entity": "log", "interesting_values": "{}"}}, {"id": "latlong", "type": {"value": "lat_long"}, "properties": {"name": "latlong", "entity": "log", "interesting_values": "{}"}}, {"id": "latlong2", "type": {"value": "lat_long"}, "properties": {"name": "latlong2", "entity": "log", "interesting_values": "{}"}}, {"id": "zipcode", "type": {"value": "zip_code", "categories": []}, "properties": {"name": "zipcode", "entity": "log", "interesting_values": "{}"}}, {"id": "countrycode", "type": {"value": "country_code", "categories": []}, "properties": {"name": "countrycode", "entity": "log", "interesting_values": "{}"}}, {"id": "subregioncode", "type": {"value": "sub_region_code", "categories": []}, "properties": {"name": "subregioncode", "entity": "log", "interesting_values": "{}"}}, {"id": "value_many_nans", "type": {"value": "numeric", "range": [], "start_inclusive": true, "end_inclusive": false}, "properties": {"name": "value_many_nans", "entity": "log", "interesting_values": "{}"}}, {"id": "priority_level", "type": {"value": "ordinal"}, "properties": {"name": "priority_level", "entity": "log", "interesting_values": "{}"}}, {"id": "purchased", "type": {"value": "boolean", "true_values": [1, true, "true", "True", "yes", "t", "T"], "false_values": [0, false, "false", "False", "no", "f", "F"]}, "properties": {"name": "purchased", "entity": "log", "interesting_values": "{}"}}, {"id": "comments", "type": {"value": "natural_language"}, "properties": {"name": "comments", "entity": "log", "interesting_values": "{}"}}], "loading_info": {"entity_type": "pandas", "params": {}, "properties": {"dtypes": {"id": "int64", "session_id": "int64", "product_id": "object", "datetime": "datetime64[ns]", "value": "float64", "value_2": "float64", "latlong": "object", "latlong2": "object", "zipcode": "object", "countrycode": "object", "subregioncode": "object", "value_many_nans": "float64", "priority_level": "int64", "purchased": "bool", "comments": "object"}}}}, "products": {"id": "products", "index": "id", "time_index": null, "properties": {"secondary_time_index": {}, "last_time_index": false}, "variables": [{"id": "id", "type": {"value": "index"}, "properties": {"name": "id", "entity": "products", "interesting_values": "{}"}}, {"id": "rating", "type": {"value": "numeric", "range": [], "start_inclusive": true, "end_inclusive": false}, "properties": {"name": "rating", "entity": "products", "interesting_values": "{}"}}, {"id": "department", "type": {"value": "categorical", "categories": []}, "properties": {"name": "department", "entity": "products", "interesting_values": "{}"}}, {"id": "url", "type": {"value": "url"}, "properties": {"name": "url", "entity": "products", "interesting_values": "{}"}}], "loading_info": {"entity_type": "pandas", "params": {}, "properties": {"dtypes": {"id": "object", "rating": "float64", "department": "object", "url": "object"}}}}, "r\u00e9gions": {"id": "r\u00e9gions", "index": "id", "time_index": null, "properties": {"secondary_time_index": {}, "last_time_index": false}, "variables": [{"id": "id", "type": {"value": "index"}, "properties": {"name": "id", "entity": "r\u00e9gions", "interesting_values": "{}"}}, {"id": "language", "type": {"value": "categorical", "categories": []}, "properties": {"name": "language", "entity": "r\u00e9gions", "interesting_values": "{}"}}], "loading_info": {"entity_type": "pandas", "params": {}, "properties": {"dtypes": {"id": "object", "language": "object"}}}}, "sessions": {"id": "sessions", "index": "id", "time_index": null, "properties": {"secondary_time_index": {}, "last_time_index": false}, "variables": [{"id": "id", "type": {"value": "index"}, "properties": {"name": "id", "entity": "sessions", "interesting_values": "{}"}}, {"id": "device_name", "type": {"value": "categorical", "categories": []}, "properties": {"name": "device_name", "entity": "sessions", "interesting_values": "{}"}}, {"id": "customer_id", "type": {"value": "id", "categories": []}, "properties": {"name": "customer_id", "entity": "sessions", "interesting_values": "{}"}}, {"id": "device_type", "type": {"value": "categorical", "categories": []}, "properties": {"name": "device_type", "entity": "sessions", "interesting_values": "{}"}}, {"id": "ip", "type": {"value": "ip_address"}, "properties": {"name": "ip", "entity": "sessions", "interesting_values": "{}"}}, {"id": "filepath", "type": {"value": "file_path"}, "properties": {"name": "filepath", "entity": "sessions", "interesting_values": "{}"}}], "loading_info": {"entity_type": "pandas", "params": {}, "properties": {"dtypes": {"id": "int64", "device_name": "object", "customer_id": "category", "device_type": "int64", "ip": "object", "filepath": "object"}}}}, "stores": {"id": "stores", "index": "id", "time_index": null, "properties": {"secondary_time_index": {}, "last_time_index": false}, "variables": [{"id": "id", "type": {"value": "index"}, "properties": {"name": "id", "entity": "stores", "interesting_values": "{}"}}, {"id": "num_square_feet", "type": {"value": "numeric", "range": [], "start_inclusive": true, "end_inclusive": false}, "properties": {"name": "num_square_feet", "entity": "stores", "interesting_values": "{}"}}, {"id": "r\u00e9gion_id", "type": {"value": "id", "categories": []}, "properties": {"name": "r\u00e9gion_id", "entity": "stores", "interesting_values": "{}"}}], "loading_info": {"entity_type": "pandas", "params": {}, "properties": {"dtypes": {"id": "int64", "num_square_feet": "float64", "r\u00e9gion_id": "object"}}}}}, "relationships": [{"parent_entity_id": "cohorts", "child_entity_id": "customers", "parent_variable_id": "cohort", "child_variable_id": "cohort"}, {"parent_entity_id": "r\u00e9gions", "child_entity_id": "customers", "parent_variable_id": "id", "child_variable_id": "r\u00e9gion_id"}, {"parent_entity_id": "r\u00e9gions", "child_entity_id": "stores", "parent_variable_id": "id", "child_variable_id": "r\u00e9gion_id"}, {"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}, {"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}, {"parent_entity_id": "products", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "product_id"}]}, "feature_list": ["sessions: COUNT(log)", "sessions: MAX(log.HAVERSINE(latlong, latlong2))", "sessions: MAX(log.NUM_CHARACTERS(comments))", "sessions: MAX(log.NUM_WORDS(comments))", "sessions: MAX(log.products.rating)", "sessions: MAX(log.value)", "sessions: MAX(log.value_2)", "sessions: MAX(log.value_many_nans)", "sessions: MEAN(log.HAVERSINE(latlong, latlong2))", "sessions: MEAN(log.NUM_CHARACTERS(comments))", "sessions: MEAN(log.NUM_WORDS(comments))", "sessions: MEAN(log.products.rating)", "sessions: MEAN(log.value)", "sessions: MEAN(log.value_2)", "sessions: MEAN(log.value_many_nans)", "sessions: MIN(log.HAVERSINE(latlong, latlong2))", "sessions: MIN(log.NUM_CHARACTERS(comments))", "sessions: MIN(log.NUM_WORDS(comments))", "sessions: MIN(log.products.rating)", "sessions: MIN(log.value)", "sessions: MIN(log.value_2)", "sessions: MIN(log.value_many_nans)", "sessions: MODE(log.DAY(datetime))", "sessions: MODE(log.MONTH(datetime))", "sessions: MODE(log.WEEKDAY(datetime))", "sessions: MODE(log.YEAR(datetime))", "sessions: MODE(log.countrycode)", "sessions: MODE(log.priority_level)", "sessions: MODE(log.product_id)", "sessions: MODE(log.products.department)", "sessions: MODE(log.subregioncode)", "sessions: MODE(log.zipcode)", "sessions: NUM_UNIQUE(log.DAY(datetime))", "sessions: NUM_UNIQUE(log.MONTH(datetime))", "sessions: NUM_UNIQUE(log.WEEKDAY(datetime))", "sessions: NUM_UNIQUE(log.YEAR(datetime))", "sessions: NUM_UNIQUE(log.countrycode)", "sessions: NUM_UNIQUE(log.priority_level)", "sessions: NUM_UNIQUE(log.product_id)", "sessions: NUM_UNIQUE(log.products.department)", "sessions: NUM_UNIQUE(log.subregioncode)", "sessions: NUM_UNIQUE(log.zipcode)", "sessions: PERCENT_TRUE(log.purchased)", "sessions: SKEW(log.HAVERSINE(latlong, latlong2))", "sessions: SKEW(log.NUM_CHARACTERS(comments))", "sessions: SKEW(log.NUM_WORDS(comments))", "sessions: SKEW(log.products.rating)", "sessions: SKEW(log.value)", "sessions: SKEW(log.value_2)", "sessions: SKEW(log.value_many_nans)", "sessions: STD(log.HAVERSINE(latlong, latlong2))", "sessions: STD(log.NUM_CHARACTERS(comments))", "sessions: STD(log.NUM_WORDS(comments))", "sessions: STD(log.products.rating)", "sessions: STD(log.value)", "sessions: STD(log.value_2)", "sessions: STD(log.value_many_nans)", "sessions: SUM(log.HAVERSINE(latlong, latlong2))", "sessions: SUM(log.NUM_CHARACTERS(comments))", "sessions: SUM(log.NUM_WORDS(comments))", "sessions: SUM(log.products.rating)", "sessions: SUM(log.value)", "sessions: SUM(log.value_2)", "sessions: SUM(log.value_many_nans)", "sessions: customer_id", "sessions: customers.COUNT(log)", "sessions: customers.COUNT(sessions)", "sessions: customers.DAY(cancel_date)", "sessions: customers.DAY(date_of_birth)", "sessions: customers.DAY(signup_date)", "sessions: customers.DAY(upgrade_date)", "sessions: customers.MAX(log.value)", "sessions: customers.MAX(log.value_2)", "sessions: customers.MAX(log.value_many_nans)", "sessions: customers.MEAN(log.value)", "sessions: customers.MEAN(log.value_2)", "sessions: customers.MEAN(log.value_many_nans)", "sessions: customers.MIN(log.value)", "sessions: customers.MIN(log.value_2)", "sessions: customers.MIN(log.value_many_nans)", "sessions: customers.MODE(log.countrycode)", "sessions: customers.MODE(log.priority_level)", "sessions: customers.MODE(log.product_id)", "sessions: customers.MODE(log.subregioncode)", "sessions: customers.MODE(log.zipcode)", "sessions: customers.MODE(sessions.device_name)", "sessions: customers.MODE(sessions.device_type)", "sessions: customers.MONTH(cancel_date)", "sessions: customers.MONTH(date_of_birth)", "sessions: customers.MONTH(signup_date)", "sessions: customers.MONTH(upgrade_date)", "sessions: customers.NUM_CHARACTERS(favorite_quote)", "sessions: customers.NUM_UNIQUE(log.countrycode)", "sessions: customers.NUM_UNIQUE(log.priority_level)", "sessions: customers.NUM_UNIQUE(log.product_id)", "sessions: customers.NUM_UNIQUE(log.subregioncode)", "sessions: customers.NUM_UNIQUE(log.zipcode)", "sessions: customers.NUM_UNIQUE(sessions.device_name)", "sessions: customers.NUM_UNIQUE(sessions.device_type)", "sessions: customers.NUM_WORDS(favorite_quote)", "sessions: customers.PERCENT_TRUE(log.purchased)", "sessions: customers.SKEW(log.value)", "sessions: customers.SKEW(log.value_2)", "sessions: customers.SKEW(log.value_many_nans)", "sessions: customers.STD(log.value)", "sessions: customers.STD(log.value_2)", "sessions: customers.STD(log.value_many_nans)", "sessions: customers.SUM(log.value)", "sessions: customers.SUM(log.value_2)", "sessions: customers.SUM(log.value_many_nans)", "sessions: customers.WEEKDAY(cancel_date)", "sessions: customers.WEEKDAY(date_of_birth)", "sessions: customers.WEEKDAY(signup_date)", "sessions: customers.WEEKDAY(upgrade_date)", "sessions: customers.YEAR(cancel_date)", "sessions: customers.YEAR(date_of_birth)", "sessions: customers.YEAR(signup_date)", "sessions: customers.YEAR(upgrade_date)", "sessions: customers.age", "sessions: customers.cancel_reason", "sessions: customers.cohort", "sessions: customers.cohorts.cohort_name", "sessions: customers.engagement_level", "sessions: customers.loves_ice_cream", "sessions: customers.r\u00e9gion_id", "sessions: customers.r\u00e9gions.language", "sessions: device_name", "sessions: device_type"], "feature_definitions": {"sessions: COUNT(log)": {"type": "AggregationFeature", "dependencies": ["log: id"], "arguments": {"name": "COUNT(log)", "base_features": ["log: id"], "relationship_path": [{"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Count", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "log: id": {"type": "IdentityFeature", "dependencies": [], "arguments": {"name": "id", "variable_id": "id", "entity_id": "log"}}, "sessions: MAX(log.HAVERSINE(latlong, latlong2))": {"type": "AggregationFeature", "dependencies": ["log: HAVERSINE(latlong, latlong2)"], "arguments": {"name": "MAX(log.HAVERSINE(latlong, latlong2))", "base_features": ["log: HAVERSINE(latlong, latlong2)"], "relationship_path": [{"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Max", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "log: HAVERSINE(latlong, latlong2)": {"type": "TransformFeature", "dependencies": ["log: latlong", "log: latlong2"], "arguments": {"name": "HAVERSINE(latlong, latlong2)", "base_features": ["log: latlong", "log: latlong2"], "primitive": {"type": "Haversine", "module": "featuretools.primitives.standard.transform_primitive", "arguments": {}}}}, "log: latlong": {"type": "IdentityFeature", "dependencies": [], "arguments": {"name": "latlong", "variable_id": "latlong", "entity_id": "log"}}, "log: latlong2": {"type": "IdentityFeature", "dependencies": [], "arguments": {"name": "latlong2", "variable_id": "latlong2", "entity_id": "log"}}, "sessions: MAX(log.NUM_CHARACTERS(comments))": {"type": "AggregationFeature", "dependencies": ["log: NUM_CHARACTERS(comments)"], "arguments": {"name": "MAX(log.NUM_CHARACTERS(comments))", "base_features": ["log: NUM_CHARACTERS(comments)"], "relationship_path": [{"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Max", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "log: NUM_CHARACTERS(comments)": {"type": "TransformFeature", "dependencies": ["log: comments"], "arguments": {"name": "NUM_CHARACTERS(comments)", "base_features": ["log: comments"], "primitive": {"type": "NumCharacters", "module": "featuretools.primitives.standard.transform_primitive", "arguments": {}}}}, "log: comments": {"type": "IdentityFeature", "dependencies": [], "arguments": {"name": "comments", "variable_id": "comments", "entity_id": "log"}}, "sessions: MAX(log.NUM_WORDS(comments))": {"type": "AggregationFeature", "dependencies": ["log: NUM_WORDS(comments)"], "arguments": {"name": "MAX(log.NUM_WORDS(comments))", "base_features": ["log: NUM_WORDS(comments)"], "relationship_path": [{"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Max", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "log: NUM_WORDS(comments)": {"type": "TransformFeature", "dependencies": ["log: comments"], "arguments": {"name": "NUM_WORDS(comments)", "base_features": ["log: comments"], "primitive": {"type": "NumWords", "module": "featuretools.primitives.standard.transform_primitive", "arguments": {}}}}, "sessions: MAX(log.products.rating)": {"type": "AggregationFeature", "dependencies": ["log: products.rating"], "arguments": {"name": "MAX(log.products.rating)", "base_features": ["log: products.rating"], "relationship_path": [{"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Max", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "log: products.rating": {"type": "DirectFeature", "dependencies": ["products: rating"], "arguments": {"name": "products.rating", "base_feature": "products: rating", "relationship": {"parent_entity_id": "products", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "product_id"}}}, "products: rating": {"type": "IdentityFeature", "dependencies": [], "arguments": {"name": "rating", "variable_id": "rating", "entity_id": "products"}}, "sessions: MAX(log.value)": {"type": "AggregationFeature", "dependencies": ["log: value"], "arguments": {"name": "MAX(log.value)", "base_features": ["log: value"], "relationship_path": [{"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Max", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "log: value": {"type": "IdentityFeature", "dependencies": [], "arguments": {"name": "value", "variable_id": "value", "entity_id": "log"}}, "sessions: MAX(log.value_2)": {"type": "AggregationFeature", "dependencies": ["log: value_2"], "arguments": {"name": "MAX(log.value_2)", "base_features": ["log: value_2"], "relationship_path": [{"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Max", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "log: value_2": {"type": "IdentityFeature", "dependencies": [], "arguments": {"name": "value_2", "variable_id": "value_2", "entity_id": "log"}}, "sessions: MAX(log.value_many_nans)": {"type": "AggregationFeature", "dependencies": ["log: value_many_nans"], "arguments": {"name": "MAX(log.value_many_nans)", "base_features": ["log: value_many_nans"], "relationship_path": [{"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Max", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "log: value_many_nans": {"type": "IdentityFeature", "dependencies": [], "arguments": {"name": "value_many_nans", "variable_id": "value_many_nans", "entity_id": "log"}}, "sessions: MEAN(log.HAVERSINE(latlong, latlong2))": {"type": "AggregationFeature", "dependencies": ["log: HAVERSINE(latlong, latlong2)"], "arguments": {"name": "MEAN(log.HAVERSINE(latlong, latlong2))", "base_features": ["log: HAVERSINE(latlong, latlong2)"], "relationship_path": [{"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Mean", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: MEAN(log.NUM_CHARACTERS(comments))": {"type": "AggregationFeature", "dependencies": ["log: NUM_CHARACTERS(comments)"], "arguments": {"name": "MEAN(log.NUM_CHARACTERS(comments))", "base_features": ["log: NUM_CHARACTERS(comments)"], "relationship_path": [{"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Mean", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: MEAN(log.NUM_WORDS(comments))": {"type": "AggregationFeature", "dependencies": ["log: NUM_WORDS(comments)"], "arguments": {"name": "MEAN(log.NUM_WORDS(comments))", "base_features": ["log: NUM_WORDS(comments)"], "relationship_path": [{"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Mean", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: MEAN(log.products.rating)": {"type": "AggregationFeature", "dependencies": ["log: products.rating"], "arguments": {"name": "MEAN(log.products.rating)", "base_features": ["log: products.rating"], "relationship_path": [{"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Mean", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: MEAN(log.value)": {"type": "AggregationFeature", "dependencies": ["log: value"], "arguments": {"name": "MEAN(log.value)", "base_features": ["log: value"], "relationship_path": [{"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Mean", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: MEAN(log.value_2)": {"type": "AggregationFeature", "dependencies": ["log: value_2"], "arguments": {"name": "MEAN(log.value_2)", "base_features": ["log: value_2"], "relationship_path": [{"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Mean", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: MEAN(log.value_many_nans)": {"type": "AggregationFeature", "dependencies": ["log: value_many_nans"], "arguments": {"name": "MEAN(log.value_many_nans)", "base_features": ["log: value_many_nans"], "relationship_path": [{"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Mean", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: MIN(log.HAVERSINE(latlong, latlong2))": {"type": "AggregationFeature", "dependencies": ["log: HAVERSINE(latlong, latlong2)"], "arguments": {"name": "MIN(log.HAVERSINE(latlong, latlong2))", "base_features": ["log: HAVERSINE(latlong, latlong2)"], "relationship_path": [{"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Min", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: MIN(log.NUM_CHARACTERS(comments))": {"type": "AggregationFeature", "dependencies": ["log: NUM_CHARACTERS(comments)"], "arguments": {"name": "MIN(log.NUM_CHARACTERS(comments))", "base_features": ["log: NUM_CHARACTERS(comments)"], "relationship_path": [{"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Min", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: MIN(log.NUM_WORDS(comments))": {"type": "AggregationFeature", "dependencies": ["log: NUM_WORDS(comments)"], "arguments": {"name": "MIN(log.NUM_WORDS(comments))", "base_features": ["log: NUM_WORDS(comments)"], "relationship_path": [{"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Min", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: MIN(log.products.rating)": {"type": "AggregationFeature", "dependencies": ["log: products.rating"], "arguments": {"name": "MIN(log.products.rating)", "base_features": ["log: products.rating"], "relationship_path": [{"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Min", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: MIN(log.value)": {"type": "AggregationFeature", "dependencies": ["log: value"], "arguments": {"name": "MIN(log.value)", "base_features": ["log: value"], "relationship_path": [{"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Min", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: MIN(log.value_2)": {"type": "AggregationFeature", "dependencies": ["log: value_2"], "arguments": {"name": "MIN(log.value_2)", "base_features": ["log: value_2"], "relationship_path": [{"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Min", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: MIN(log.value_many_nans)": {"type": "AggregationFeature", "dependencies": ["log: value_many_nans"], "arguments": {"name": "MIN(log.value_many_nans)", "base_features": ["log: value_many_nans"], "relationship_path": [{"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Min", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: MODE(log.DAY(datetime))": {"type": "AggregationFeature", "dependencies": ["log: DAY(datetime)"], "arguments": {"name": "MODE(log.DAY(datetime))", "base_features": ["log: DAY(datetime)"], "relationship_path": [{"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Mode", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "log: DAY(datetime)": {"type": "TransformFeature", "dependencies": ["log: datetime"], "arguments": {"name": "DAY(datetime)", "base_features": ["log: datetime"], "primitive": {"type": "Day", "module": "featuretools.primitives.standard.transform_primitive", "arguments": {}}}}, "log: datetime": {"type": "IdentityFeature", "dependencies": [], "arguments": {"name": "datetime", "variable_id": "datetime", "entity_id": "log"}}, "sessions: MODE(log.MONTH(datetime))": {"type": "AggregationFeature", "dependencies": ["log: MONTH(datetime)"], "arguments": {"name": "MODE(log.MONTH(datetime))", "base_features": ["log: MONTH(datetime)"], "relationship_path": [{"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Mode", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "log: MONTH(datetime)": {"type": "TransformFeature", "dependencies": ["log: datetime"], "arguments": {"name": "MONTH(datetime)", "base_features": ["log: datetime"], "primitive": {"type": "Month", "module": "featuretools.primitives.standard.transform_primitive", "arguments": {}}}}, "sessions: MODE(log.WEEKDAY(datetime))": {"type": "AggregationFeature", "dependencies": ["log: WEEKDAY(datetime)"], "arguments": {"name": "MODE(log.WEEKDAY(datetime))", "base_features": ["log: WEEKDAY(datetime)"], "relationship_path": [{"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Mode", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "log: WEEKDAY(datetime)": {"type": "TransformFeature", "dependencies": ["log: datetime"], "arguments": {"name": "WEEKDAY(datetime)", "base_features": ["log: datetime"], "primitive": {"type": "Weekday", "module": "featuretools.primitives.standard.transform_primitive", "arguments": {}}}}, "sessions: MODE(log.YEAR(datetime))": {"type": "AggregationFeature", "dependencies": ["log: YEAR(datetime)"], "arguments": {"name": "MODE(log.YEAR(datetime))", "base_features": ["log: YEAR(datetime)"], "relationship_path": [{"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Mode", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "log: YEAR(datetime)": {"type": "TransformFeature", "dependencies": ["log: datetime"], "arguments": {"name": "YEAR(datetime)", "base_features": ["log: datetime"], "primitive": {"type": "Year", "module": "featuretools.primitives.standard.transform_primitive", "arguments": {}}}}, "sessions: MODE(log.countrycode)": {"type": "AggregationFeature", "dependencies": ["log: countrycode"], "arguments": {"name": "MODE(log.countrycode)", "base_features": ["log: countrycode"], "relationship_path": [{"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Mode", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "log: countrycode": {"type": "IdentityFeature", "dependencies": [], "arguments": {"name": "countrycode", "variable_id": "countrycode", "entity_id": "log"}}, "sessions: MODE(log.priority_level)": {"type": "AggregationFeature", "dependencies": ["log: priority_level"], "arguments": {"name": "MODE(log.priority_level)", "base_features": ["log: priority_level"], "relationship_path": [{"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Mode", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "log: priority_level": {"type": "IdentityFeature", "dependencies": [], "arguments": {"name": "priority_level", "variable_id": "priority_level", "entity_id": "log"}}, "sessions: MODE(log.product_id)": {"type": "AggregationFeature", "dependencies": ["log: product_id"], "arguments": {"name": "MODE(log.product_id)", "base_features": ["log: product_id"], "relationship_path": [{"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Mode", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "log: product_id": {"type": "IdentityFeature", "dependencies": [], "arguments": {"name": "product_id", "variable_id": "product_id", "entity_id": "log"}}, "sessions: MODE(log.products.department)": {"type": "AggregationFeature", "dependencies": ["log: products.department"], "arguments": {"name": "MODE(log.products.department)", "base_features": ["log: products.department"], "relationship_path": [{"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Mode", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "log: products.department": {"type": "DirectFeature", "dependencies": ["products: department"], "arguments": {"name": "products.department", "base_feature": "products: department", "relationship": {"parent_entity_id": "products", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "product_id"}}}, "products: department": {"type": "IdentityFeature", "dependencies": [], "arguments": {"name": "department", "variable_id": "department", "entity_id": "products"}}, "sessions: MODE(log.subregioncode)": {"type": "AggregationFeature", "dependencies": ["log: subregioncode"], "arguments": {"name": "MODE(log.subregioncode)", "base_features": ["log: subregioncode"], "relationship_path": [{"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Mode", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "log: subregioncode": {"type": "IdentityFeature", "dependencies": [], "arguments": {"name": "subregioncode", "variable_id": "subregioncode", "entity_id": "log"}}, "sessions: MODE(log.zipcode)": {"type": "AggregationFeature", "dependencies": ["log: zipcode"], "arguments": {"name": "MODE(log.zipcode)", "base_features": ["log: zipcode"], "relationship_path": [{"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Mode", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "log: zipcode": {"type": "IdentityFeature", "dependencies": [], "arguments": {"name": "zipcode", "variable_id": "zipcode", "entity_id": "log"}}, "sessions: NUM_UNIQUE(log.DAY(datetime))": {"type": "AggregationFeature", "dependencies": ["log: DAY(datetime)"], "arguments": {"name": "NUM_UNIQUE(log.DAY(datetime))", "base_features": ["log: DAY(datetime)"], "relationship_path": [{"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "NumUnique", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: NUM_UNIQUE(log.MONTH(datetime))": {"type": "AggregationFeature", "dependencies": ["log: MONTH(datetime)"], "arguments": {"name": "NUM_UNIQUE(log.MONTH(datetime))", "base_features": ["log: MONTH(datetime)"], "relationship_path": [{"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "NumUnique", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: NUM_UNIQUE(log.WEEKDAY(datetime))": {"type": "AggregationFeature", "dependencies": ["log: WEEKDAY(datetime)"], "arguments": {"name": "NUM_UNIQUE(log.WEEKDAY(datetime))", "base_features": ["log: WEEKDAY(datetime)"], "relationship_path": [{"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "NumUnique", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: NUM_UNIQUE(log.YEAR(datetime))": {"type": "AggregationFeature", "dependencies": ["log: YEAR(datetime)"], "arguments": {"name": "NUM_UNIQUE(log.YEAR(datetime))", "base_features": ["log: YEAR(datetime)"], "relationship_path": [{"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "NumUnique", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: NUM_UNIQUE(log.countrycode)": {"type": "AggregationFeature", "dependencies": ["log: countrycode"], "arguments": {"name": "NUM_UNIQUE(log.countrycode)", "base_features": ["log: countrycode"], "relationship_path": [{"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "NumUnique", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: NUM_UNIQUE(log.priority_level)": {"type": "AggregationFeature", "dependencies": ["log: priority_level"], "arguments": {"name": "NUM_UNIQUE(log.priority_level)", "base_features": ["log: priority_level"], "relationship_path": [{"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "NumUnique", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: NUM_UNIQUE(log.product_id)": {"type": "AggregationFeature", "dependencies": ["log: product_id"], "arguments": {"name": "NUM_UNIQUE(log.product_id)", "base_features": ["log: product_id"], "relationship_path": [{"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "NumUnique", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: NUM_UNIQUE(log.products.department)": {"type": "AggregationFeature", "dependencies": ["log: products.department"], "arguments": {"name": "NUM_UNIQUE(log.products.department)", "base_features": ["log: products.department"], "relationship_path": [{"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "NumUnique", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: NUM_UNIQUE(log.subregioncode)": {"type": "AggregationFeature", "dependencies": ["log: subregioncode"], "arguments": {"name": "NUM_UNIQUE(log.subregioncode)", "base_features": ["log: subregioncode"], "relationship_path": [{"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "NumUnique", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: NUM_UNIQUE(log.zipcode)": {"type": "AggregationFeature", "dependencies": ["log: zipcode"], "arguments": {"name": "NUM_UNIQUE(log.zipcode)", "base_features": ["log: zipcode"], "relationship_path": [{"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "NumUnique", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: PERCENT_TRUE(log.purchased)": {"type": "AggregationFeature", "dependencies": ["log: purchased"], "arguments": {"name": "PERCENT_TRUE(log.purchased)", "base_features": ["log: purchased"], "relationship_path": [{"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "PercentTrue", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "log: purchased": {"type": "IdentityFeature", "dependencies": [], "arguments": {"name": "purchased", "variable_id": "purchased", "entity_id": "log"}}, "sessions: SKEW(log.HAVERSINE(latlong, latlong2))": {"type": "AggregationFeature", "dependencies": ["log: HAVERSINE(latlong, latlong2)"], "arguments": {"name": "SKEW(log.HAVERSINE(latlong, latlong2))", "base_features": ["log: HAVERSINE(latlong, latlong2)"], "relationship_path": [{"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Skew", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: SKEW(log.NUM_CHARACTERS(comments))": {"type": "AggregationFeature", "dependencies": ["log: NUM_CHARACTERS(comments)"], "arguments": {"name": "SKEW(log.NUM_CHARACTERS(comments))", "base_features": ["log: NUM_CHARACTERS(comments)"], "relationship_path": [{"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Skew", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: SKEW(log.NUM_WORDS(comments))": {"type": "AggregationFeature", "dependencies": ["log: NUM_WORDS(comments)"], "arguments": {"name": "SKEW(log.NUM_WORDS(comments))", "base_features": ["log: NUM_WORDS(comments)"], "relationship_path": [{"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Skew", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: SKEW(log.products.rating)": {"type": "AggregationFeature", "dependencies": ["log: products.rating"], "arguments": {"name": "SKEW(log.products.rating)", "base_features": ["log: products.rating"], "relationship_path": [{"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Skew", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: SKEW(log.value)": {"type": "AggregationFeature", "dependencies": ["log: value"], "arguments": {"name": "SKEW(log.value)", "base_features": ["log: value"], "relationship_path": [{"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Skew", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: SKEW(log.value_2)": {"type": "AggregationFeature", "dependencies": ["log: value_2"], "arguments": {"name": "SKEW(log.value_2)", "base_features": ["log: value_2"], "relationship_path": [{"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Skew", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: SKEW(log.value_many_nans)": {"type": "AggregationFeature", "dependencies": ["log: value_many_nans"], "arguments": {"name": "SKEW(log.value_many_nans)", "base_features": ["log: value_many_nans"], "relationship_path": [{"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Skew", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: STD(log.HAVERSINE(latlong, latlong2))": {"type": "AggregationFeature", "dependencies": ["log: HAVERSINE(latlong, latlong2)"], "arguments": {"name": "STD(log.HAVERSINE(latlong, latlong2))", "base_features": ["log: HAVERSINE(latlong, latlong2)"], "relationship_path": [{"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Std", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: STD(log.NUM_CHARACTERS(comments))": {"type": "AggregationFeature", "dependencies": ["log: NUM_CHARACTERS(comments)"], "arguments": {"name": "STD(log.NUM_CHARACTERS(comments))", "base_features": ["log: NUM_CHARACTERS(comments)"], "relationship_path": [{"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Std", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: STD(log.NUM_WORDS(comments))": {"type": "AggregationFeature", "dependencies": ["log: NUM_WORDS(comments)"], "arguments": {"name": "STD(log.NUM_WORDS(comments))", "base_features": ["log: NUM_WORDS(comments)"], "relationship_path": [{"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Std", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: STD(log.products.rating)": {"type": "AggregationFeature", "dependencies": ["log: products.rating"], "arguments": {"name": "STD(log.products.rating)", "base_features": ["log: products.rating"], "relationship_path": [{"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Std", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: STD(log.value)": {"type": "AggregationFeature", "dependencies": ["log: value"], "arguments": {"name": "STD(log.value)", "base_features": ["log: value"], "relationship_path": [{"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Std", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: STD(log.value_2)": {"type": "AggregationFeature", "dependencies": ["log: value_2"], "arguments": {"name": "STD(log.value_2)", "base_features": ["log: value_2"], "relationship_path": [{"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Std", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: STD(log.value_many_nans)": {"type": "AggregationFeature", "dependencies": ["log: value_many_nans"], "arguments": {"name": "STD(log.value_many_nans)", "base_features": ["log: value_many_nans"], "relationship_path": [{"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Std", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: SUM(log.HAVERSINE(latlong, latlong2))": {"type": "AggregationFeature", "dependencies": ["log: HAVERSINE(latlong, latlong2)"], "arguments": {"name": "SUM(log.HAVERSINE(latlong, latlong2))", "base_features": ["log: HAVERSINE(latlong, latlong2)"], "relationship_path": [{"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Sum", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: SUM(log.NUM_CHARACTERS(comments))": {"type": "AggregationFeature", "dependencies": ["log: NUM_CHARACTERS(comments)"], "arguments": {"name": "SUM(log.NUM_CHARACTERS(comments))", "base_features": ["log: NUM_CHARACTERS(comments)"], "relationship_path": [{"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Sum", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: SUM(log.NUM_WORDS(comments))": {"type": "AggregationFeature", "dependencies": ["log: NUM_WORDS(comments)"], "arguments": {"name": "SUM(log.NUM_WORDS(comments))", "base_features": ["log: NUM_WORDS(comments)"], "relationship_path": [{"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Sum", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: SUM(log.products.rating)": {"type": "AggregationFeature", "dependencies": ["log: products.rating"], "arguments": {"name": "SUM(log.products.rating)", "base_features": ["log: products.rating"], "relationship_path": [{"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Sum", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: SUM(log.value)": {"type": "AggregationFeature", "dependencies": ["log: value"], "arguments": {"name": "SUM(log.value)", "base_features": ["log: value"], "relationship_path": [{"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Sum", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: SUM(log.value_2)": {"type": "AggregationFeature", "dependencies": ["log: value_2"], "arguments": {"name": "SUM(log.value_2)", "base_features": ["log: value_2"], "relationship_path": [{"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Sum", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: SUM(log.value_many_nans)": {"type": "AggregationFeature", "dependencies": ["log: value_many_nans"], "arguments": {"name": "SUM(log.value_many_nans)", "base_features": ["log: value_many_nans"], "relationship_path": [{"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Sum", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: customer_id": {"type": "IdentityFeature", "dependencies": [], "arguments": {"name": "customer_id", "variable_id": "customer_id", "entity_id": "sessions"}}, "sessions: customers.COUNT(log)": {"type": "DirectFeature", "dependencies": ["customers: COUNT(log)"], "arguments": {"name": "customers.COUNT(log)", "base_feature": "customers: COUNT(log)", "relationship": {"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}}}, "customers: COUNT(log)": {"type": "AggregationFeature", "dependencies": ["log: id"], "arguments": {"name": "COUNT(log)", "base_features": ["log: id"], "relationship_path": [{"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}, {"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Count", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: customers.COUNT(sessions)": {"type": "DirectFeature", "dependencies": ["customers: COUNT(sessions)"], "arguments": {"name": "customers.COUNT(sessions)", "base_feature": "customers: COUNT(sessions)", "relationship": {"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}}}, "customers: COUNT(sessions)": {"type": "AggregationFeature", "dependencies": ["sessions: id"], "arguments": {"name": "COUNT(sessions)", "base_features": ["sessions: id"], "relationship_path": [{"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}], "primitive": {"type": "Count", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: id": {"type": "IdentityFeature", "dependencies": [], "arguments": {"name": "id", "variable_id": "id", "entity_id": "sessions"}}, "sessions: customers.DAY(cancel_date)": {"type": "DirectFeature", "dependencies": ["customers: DAY(cancel_date)"], "arguments": {"name": "customers.DAY(cancel_date)", "base_feature": "customers: DAY(cancel_date)", "relationship": {"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}}}, "customers: DAY(cancel_date)": {"type": "TransformFeature", "dependencies": ["customers: cancel_date"], "arguments": {"name": "DAY(cancel_date)", "base_features": ["customers: cancel_date"], "primitive": {"type": "Day", "module": "featuretools.primitives.standard.transform_primitive", "arguments": {}}}}, "customers: cancel_date": {"type": "IdentityFeature", "dependencies": [], "arguments": {"name": "cancel_date", "variable_id": "cancel_date", "entity_id": "customers"}}, "sessions: customers.DAY(date_of_birth)": {"type": "DirectFeature", "dependencies": ["customers: DAY(date_of_birth)"], "arguments": {"name": "customers.DAY(date_of_birth)", "base_feature": "customers: DAY(date_of_birth)", "relationship": {"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}}}, "customers: DAY(date_of_birth)": {"type": "TransformFeature", "dependencies": ["customers: date_of_birth"], "arguments": {"name": "DAY(date_of_birth)", "base_features": ["customers: date_of_birth"], "primitive": {"type": "Day", "module": "featuretools.primitives.standard.transform_primitive", "arguments": {}}}}, "customers: date_of_birth": {"type": "IdentityFeature", "dependencies": [], "arguments": {"name": "date_of_birth", "variable_id": "date_of_birth", "entity_id": "customers"}}, "sessions: customers.DAY(signup_date)": {"type": "DirectFeature", "dependencies": ["customers: DAY(signup_date)"], "arguments": {"name": "customers.DAY(signup_date)", "base_feature": "customers: DAY(signup_date)", "relationship": {"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}}}, "customers: DAY(signup_date)": {"type": "TransformFeature", "dependencies": ["customers: signup_date"], "arguments": {"name": "DAY(signup_date)", "base_features": ["customers: signup_date"], "primitive": {"type": "Day", "module": "featuretools.primitives.standard.transform_primitive", "arguments": {}}}}, "customers: signup_date": {"type": "IdentityFeature", "dependencies": [], "arguments": {"name": "signup_date", "variable_id": "signup_date", "entity_id": "customers"}}, "sessions: customers.DAY(upgrade_date)": {"type": "DirectFeature", "dependencies": ["customers: DAY(upgrade_date)"], "arguments": {"name": "customers.DAY(upgrade_date)", "base_feature": "customers: DAY(upgrade_date)", "relationship": {"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}}}, "customers: DAY(upgrade_date)": {"type": "TransformFeature", "dependencies": ["customers: upgrade_date"], "arguments": {"name": "DAY(upgrade_date)", "base_features": ["customers: upgrade_date"], "primitive": {"type": "Day", "module": "featuretools.primitives.standard.transform_primitive", "arguments": {}}}}, "customers: upgrade_date": {"type": "IdentityFeature", "dependencies": [], "arguments": {"name": "upgrade_date", "variable_id": "upgrade_date", "entity_id": "customers"}}, "sessions: customers.MAX(log.value)": {"type": "DirectFeature", "dependencies": ["customers: MAX(log.value)"], "arguments": {"name": "customers.MAX(log.value)", "base_feature": "customers: MAX(log.value)", "relationship": {"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}}}, "customers: MAX(log.value)": {"type": "AggregationFeature", "dependencies": ["log: value"], "arguments": {"name": "MAX(log.value)", "base_features": ["log: value"], "relationship_path": [{"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}, {"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Max", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: customers.MAX(log.value_2)": {"type": "DirectFeature", "dependencies": ["customers: MAX(log.value_2)"], "arguments": {"name": "customers.MAX(log.value_2)", "base_feature": "customers: MAX(log.value_2)", "relationship": {"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}}}, "customers: MAX(log.value_2)": {"type": "AggregationFeature", "dependencies": ["log: value_2"], "arguments": {"name": "MAX(log.value_2)", "base_features": ["log: value_2"], "relationship_path": [{"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}, {"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Max", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: customers.MAX(log.value_many_nans)": {"type": "DirectFeature", "dependencies": ["customers: MAX(log.value_many_nans)"], "arguments": {"name": "customers.MAX(log.value_many_nans)", "base_feature": "customers: MAX(log.value_many_nans)", "relationship": {"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}}}, "customers: MAX(log.value_many_nans)": {"type": "AggregationFeature", "dependencies": ["log: value_many_nans"], "arguments": {"name": "MAX(log.value_many_nans)", "base_features": ["log: value_many_nans"], "relationship_path": [{"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}, {"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Max", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: customers.MEAN(log.value)": {"type": "DirectFeature", "dependencies": ["customers: MEAN(log.value)"], "arguments": {"name": "customers.MEAN(log.value)", "base_feature": "customers: MEAN(log.value)", "relationship": {"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}}}, "customers: MEAN(log.value)": {"type": "AggregationFeature", "dependencies": ["log: value"], "arguments": {"name": "MEAN(log.value)", "base_features": ["log: value"], "relationship_path": [{"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}, {"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Mean", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: customers.MEAN(log.value_2)": {"type": "DirectFeature", "dependencies": ["customers: MEAN(log.value_2)"], "arguments": {"name": "customers.MEAN(log.value_2)", "base_feature": "customers: MEAN(log.value_2)", "relationship": {"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}}}, "customers: MEAN(log.value_2)": {"type": "AggregationFeature", "dependencies": ["log: value_2"], "arguments": {"name": "MEAN(log.value_2)", "base_features": ["log: value_2"], "relationship_path": [{"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}, {"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Mean", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: customers.MEAN(log.value_many_nans)": {"type": "DirectFeature", "dependencies": ["customers: MEAN(log.value_many_nans)"], "arguments": {"name": "customers.MEAN(log.value_many_nans)", "base_feature": "customers: MEAN(log.value_many_nans)", "relationship": {"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}}}, "customers: MEAN(log.value_many_nans)": {"type": "AggregationFeature", "dependencies": ["log: value_many_nans"], "arguments": {"name": "MEAN(log.value_many_nans)", "base_features": ["log: value_many_nans"], "relationship_path": [{"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}, {"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Mean", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: customers.MIN(log.value)": {"type": "DirectFeature", "dependencies": ["customers: MIN(log.value)"], "arguments": {"name": "customers.MIN(log.value)", "base_feature": "customers: MIN(log.value)", "relationship": {"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}}}, "customers: MIN(log.value)": {"type": "AggregationFeature", "dependencies": ["log: value"], "arguments": {"name": "MIN(log.value)", "base_features": ["log: value"], "relationship_path": [{"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}, {"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Min", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: customers.MIN(log.value_2)": {"type": "DirectFeature", "dependencies": ["customers: MIN(log.value_2)"], "arguments": {"name": "customers.MIN(log.value_2)", "base_feature": "customers: MIN(log.value_2)", "relationship": {"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}}}, "customers: MIN(log.value_2)": {"type": "AggregationFeature", "dependencies": ["log: value_2"], "arguments": {"name": "MIN(log.value_2)", "base_features": ["log: value_2"], "relationship_path": [{"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}, {"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Min", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: customers.MIN(log.value_many_nans)": {"type": "DirectFeature", "dependencies": ["customers: MIN(log.value_many_nans)"], "arguments": {"name": "customers.MIN(log.value_many_nans)", "base_feature": "customers: MIN(log.value_many_nans)", "relationship": {"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}}}, "customers: MIN(log.value_many_nans)": {"type": "AggregationFeature", "dependencies": ["log: value_many_nans"], "arguments": {"name": "MIN(log.value_many_nans)", "base_features": ["log: value_many_nans"], "relationship_path": [{"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}, {"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Min", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: customers.MODE(log.countrycode)": {"type": "DirectFeature", "dependencies": ["customers: MODE(log.countrycode)"], "arguments": {"name": "customers.MODE(log.countrycode)", "base_feature": "customers: MODE(log.countrycode)", "relationship": {"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}}}, "customers: MODE(log.countrycode)": {"type": "AggregationFeature", "dependencies": ["log: countrycode"], "arguments": {"name": "MODE(log.countrycode)", "base_features": ["log: countrycode"], "relationship_path": [{"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}, {"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Mode", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: customers.MODE(log.priority_level)": {"type": "DirectFeature", "dependencies": ["customers: MODE(log.priority_level)"], "arguments": {"name": "customers.MODE(log.priority_level)", "base_feature": "customers: MODE(log.priority_level)", "relationship": {"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}}}, "customers: MODE(log.priority_level)": {"type": "AggregationFeature", "dependencies": ["log: priority_level"], "arguments": {"name": "MODE(log.priority_level)", "base_features": ["log: priority_level"], "relationship_path": [{"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}, {"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Mode", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: customers.MODE(log.product_id)": {"type": "DirectFeature", "dependencies": ["customers: MODE(log.product_id)"], "arguments": {"name": "customers.MODE(log.product_id)", "base_feature": "customers: MODE(log.product_id)", "relationship": {"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}}}, "customers: MODE(log.product_id)": {"type": "AggregationFeature", "dependencies": ["log: product_id"], "arguments": {"name": "MODE(log.product_id)", "base_features": ["log: product_id"], "relationship_path": [{"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}, {"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Mode", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: customers.MODE(log.subregioncode)": {"type": "DirectFeature", "dependencies": ["customers: MODE(log.subregioncode)"], "arguments": {"name": "customers.MODE(log.subregioncode)", "base_feature": "customers: MODE(log.subregioncode)", "relationship": {"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}}}, "customers: MODE(log.subregioncode)": {"type": "AggregationFeature", "dependencies": ["log: subregioncode"], "arguments": {"name": "MODE(log.subregioncode)", "base_features": ["log: subregioncode"], "relationship_path": [{"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}, {"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Mode", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: customers.MODE(log.zipcode)": {"type": "DirectFeature", "dependencies": ["customers: MODE(log.zipcode)"], "arguments": {"name": "customers.MODE(log.zipcode)", "base_feature": "customers: MODE(log.zipcode)", "relationship": {"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}}}, "customers: MODE(log.zipcode)": {"type": "AggregationFeature", "dependencies": ["log: zipcode"], "arguments": {"name": "MODE(log.zipcode)", "base_features": ["log: zipcode"], "relationship_path": [{"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}, {"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Mode", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: customers.MODE(sessions.device_name)": {"type": "DirectFeature", "dependencies": ["customers: MODE(sessions.device_name)"], "arguments": {"name": "customers.MODE(sessions.device_name)", "base_feature": "customers: MODE(sessions.device_name)", "relationship": {"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}}}, "customers: MODE(sessions.device_name)": {"type": "AggregationFeature", "dependencies": ["sessions: device_name"], "arguments": {"name": "MODE(sessions.device_name)", "base_features": ["sessions: device_name"], "relationship_path": [{"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}], "primitive": {"type": "Mode", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: device_name": {"type": "IdentityFeature", "dependencies": [], "arguments": {"name": "device_name", "variable_id": "device_name", "entity_id": "sessions"}}, "sessions: customers.MODE(sessions.device_type)": {"type": "DirectFeature", "dependencies": ["customers: MODE(sessions.device_type)"], "arguments": {"name": "customers.MODE(sessions.device_type)", "base_feature": "customers: MODE(sessions.device_type)", "relationship": {"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}}}, "customers: MODE(sessions.device_type)": {"type": "AggregationFeature", "dependencies": ["sessions: device_type"], "arguments": {"name": "MODE(sessions.device_type)", "base_features": ["sessions: device_type"], "relationship_path": [{"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}], "primitive": {"type": "Mode", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: device_type": {"type": "IdentityFeature", "dependencies": [], "arguments": {"name": "device_type", "variable_id": "device_type", "entity_id": "sessions"}}, "sessions: customers.MONTH(cancel_date)": {"type": "DirectFeature", "dependencies": ["customers: MONTH(cancel_date)"], "arguments": {"name": "customers.MONTH(cancel_date)", "base_feature": "customers: MONTH(cancel_date)", "relationship": {"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}}}, "customers: MONTH(cancel_date)": {"type": "TransformFeature", "dependencies": ["customers: cancel_date"], "arguments": {"name": "MONTH(cancel_date)", "base_features": ["customers: cancel_date"], "primitive": {"type": "Month", "module": "featuretools.primitives.standard.transform_primitive", "arguments": {}}}}, "sessions: customers.MONTH(date_of_birth)": {"type": "DirectFeature", "dependencies": ["customers: MONTH(date_of_birth)"], "arguments": {"name": "customers.MONTH(date_of_birth)", "base_feature": "customers: MONTH(date_of_birth)", "relationship": {"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}}}, "customers: MONTH(date_of_birth)": {"type": "TransformFeature", "dependencies": ["customers: date_of_birth"], "arguments": {"name": "MONTH(date_of_birth)", "base_features": ["customers: date_of_birth"], "primitive": {"type": "Month", "module": "featuretools.primitives.standard.transform_primitive", "arguments": {}}}}, "sessions: customers.MONTH(signup_date)": {"type": "DirectFeature", "dependencies": ["customers: MONTH(signup_date)"], "arguments": {"name": "customers.MONTH(signup_date)", "base_feature": "customers: MONTH(signup_date)", "relationship": {"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}}}, "customers: MONTH(signup_date)": {"type": "TransformFeature", "dependencies": ["customers: signup_date"], "arguments": {"name": "MONTH(signup_date)", "base_features": ["customers: signup_date"], "primitive": {"type": "Month", "module": "featuretools.primitives.standard.transform_primitive", "arguments": {}}}}, "sessions: customers.MONTH(upgrade_date)": {"type": "DirectFeature", "dependencies": ["customers: MONTH(upgrade_date)"], "arguments": {"name": "customers.MONTH(upgrade_date)", "base_feature": "customers: MONTH(upgrade_date)", "relationship": {"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}}}, "customers: MONTH(upgrade_date)": {"type": "TransformFeature", "dependencies": ["customers: upgrade_date"], "arguments": {"name": "MONTH(upgrade_date)", "base_features": ["customers: upgrade_date"], "primitive": {"type": "Month", "module": "featuretools.primitives.standard.transform_primitive", "arguments": {}}}}, "sessions: customers.NUM_CHARACTERS(favorite_quote)": {"type": "DirectFeature", "dependencies": ["customers: NUM_CHARACTERS(favorite_quote)"], "arguments": {"name": "customers.NUM_CHARACTERS(favorite_quote)", "base_feature": "customers: NUM_CHARACTERS(favorite_quote)", "relationship": {"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}}}, "customers: NUM_CHARACTERS(favorite_quote)": {"type": "TransformFeature", "dependencies": ["customers: favorite_quote"], "arguments": {"name": "NUM_CHARACTERS(favorite_quote)", "base_features": ["customers: favorite_quote"], "primitive": {"type": "NumCharacters", "module": "featuretools.primitives.standard.transform_primitive", "arguments": {}}}}, "customers: favorite_quote": {"type": "IdentityFeature", "dependencies": [], "arguments": {"name": "favorite_quote", "variable_id": "favorite_quote", "entity_id": "customers"}}, "sessions: customers.NUM_UNIQUE(log.countrycode)": {"type": "DirectFeature", "dependencies": ["customers: NUM_UNIQUE(log.countrycode)"], "arguments": {"name": "customers.NUM_UNIQUE(log.countrycode)", "base_feature": "customers: NUM_UNIQUE(log.countrycode)", "relationship": {"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}}}, "customers: NUM_UNIQUE(log.countrycode)": {"type": "AggregationFeature", "dependencies": ["log: countrycode"], "arguments": {"name": "NUM_UNIQUE(log.countrycode)", "base_features": ["log: countrycode"], "relationship_path": [{"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}, {"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "NumUnique", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: customers.NUM_UNIQUE(log.priority_level)": {"type": "DirectFeature", "dependencies": ["customers: NUM_UNIQUE(log.priority_level)"], "arguments": {"name": "customers.NUM_UNIQUE(log.priority_level)", "base_feature": "customers: NUM_UNIQUE(log.priority_level)", "relationship": {"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}}}, "customers: NUM_UNIQUE(log.priority_level)": {"type": "AggregationFeature", "dependencies": ["log: priority_level"], "arguments": {"name": "NUM_UNIQUE(log.priority_level)", "base_features": ["log: priority_level"], "relationship_path": [{"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}, {"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "NumUnique", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: customers.NUM_UNIQUE(log.product_id)": {"type": "DirectFeature", "dependencies": ["customers: NUM_UNIQUE(log.product_id)"], "arguments": {"name": "customers.NUM_UNIQUE(log.product_id)", "base_feature": "customers: NUM_UNIQUE(log.product_id)", "relationship": {"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}}}, "customers: NUM_UNIQUE(log.product_id)": {"type": "AggregationFeature", "dependencies": ["log: product_id"], "arguments": {"name": "NUM_UNIQUE(log.product_id)", "base_features": ["log: product_id"], "relationship_path": [{"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}, {"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "NumUnique", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: customers.NUM_UNIQUE(log.subregioncode)": {"type": "DirectFeature", "dependencies": ["customers: NUM_UNIQUE(log.subregioncode)"], "arguments": {"name": "customers.NUM_UNIQUE(log.subregioncode)", "base_feature": "customers: NUM_UNIQUE(log.subregioncode)", "relationship": {"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}}}, "customers: NUM_UNIQUE(log.subregioncode)": {"type": "AggregationFeature", "dependencies": ["log: subregioncode"], "arguments": {"name": "NUM_UNIQUE(log.subregioncode)", "base_features": ["log: subregioncode"], "relationship_path": [{"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}, {"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "NumUnique", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: customers.NUM_UNIQUE(log.zipcode)": {"type": "DirectFeature", "dependencies": ["customers: NUM_UNIQUE(log.zipcode)"], "arguments": {"name": "customers.NUM_UNIQUE(log.zipcode)", "base_feature": "customers: NUM_UNIQUE(log.zipcode)", "relationship": {"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}}}, "customers: NUM_UNIQUE(log.zipcode)": {"type": "AggregationFeature", "dependencies": ["log: zipcode"], "arguments": {"name": "NUM_UNIQUE(log.zipcode)", "base_features": ["log: zipcode"], "relationship_path": [{"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}, {"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "NumUnique", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: customers.NUM_UNIQUE(sessions.device_name)": {"type": "DirectFeature", "dependencies": ["customers: NUM_UNIQUE(sessions.device_name)"], "arguments": {"name": "customers.NUM_UNIQUE(sessions.device_name)", "base_feature": "customers: NUM_UNIQUE(sessions.device_name)", "relationship": {"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}}}, "customers: NUM_UNIQUE(sessions.device_name)": {"type": "AggregationFeature", "dependencies": ["sessions: device_name"], "arguments": {"name": "NUM_UNIQUE(sessions.device_name)", "base_features": ["sessions: device_name"], "relationship_path": [{"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}], "primitive": {"type": "NumUnique", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: customers.NUM_UNIQUE(sessions.device_type)": {"type": "DirectFeature", "dependencies": ["customers: NUM_UNIQUE(sessions.device_type)"], "arguments": {"name": "customers.NUM_UNIQUE(sessions.device_type)", "base_feature": "customers: NUM_UNIQUE(sessions.device_type)", "relationship": {"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}}}, "customers: NUM_UNIQUE(sessions.device_type)": {"type": "AggregationFeature", "dependencies": ["sessions: device_type"], "arguments": {"name": "NUM_UNIQUE(sessions.device_type)", "base_features": ["sessions: device_type"], "relationship_path": [{"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}], "primitive": {"type": "NumUnique", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: customers.NUM_WORDS(favorite_quote)": {"type": "DirectFeature", "dependencies": ["customers: NUM_WORDS(favorite_quote)"], "arguments": {"name": "customers.NUM_WORDS(favorite_quote)", "base_feature": "customers: NUM_WORDS(favorite_quote)", "relationship": {"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}}}, "customers: NUM_WORDS(favorite_quote)": {"type": "TransformFeature", "dependencies": ["customers: favorite_quote"], "arguments": {"name": "NUM_WORDS(favorite_quote)", "base_features": ["customers: favorite_quote"], "primitive": {"type": "NumWords", "module": "featuretools.primitives.standard.transform_primitive", "arguments": {}}}}, "sessions: customers.PERCENT_TRUE(log.purchased)": {"type": "DirectFeature", "dependencies": ["customers: PERCENT_TRUE(log.purchased)"], "arguments": {"name": "customers.PERCENT_TRUE(log.purchased)", "base_feature": "customers: PERCENT_TRUE(log.purchased)", "relationship": {"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}}}, "customers: PERCENT_TRUE(log.purchased)": {"type": "AggregationFeature", "dependencies": ["log: purchased"], "arguments": {"name": "PERCENT_TRUE(log.purchased)", "base_features": ["log: purchased"], "relationship_path": [{"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}, {"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "PercentTrue", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: customers.SKEW(log.value)": {"type": "DirectFeature", "dependencies": ["customers: SKEW(log.value)"], "arguments": {"name": "customers.SKEW(log.value)", "base_feature": "customers: SKEW(log.value)", "relationship": {"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}}}, "customers: SKEW(log.value)": {"type": "AggregationFeature", "dependencies": ["log: value"], "arguments": {"name": "SKEW(log.value)", "base_features": ["log: value"], "relationship_path": [{"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}, {"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Skew", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: customers.SKEW(log.value_2)": {"type": "DirectFeature", "dependencies": ["customers: SKEW(log.value_2)"], "arguments": {"name": "customers.SKEW(log.value_2)", "base_feature": "customers: SKEW(log.value_2)", "relationship": {"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}}}, "customers: SKEW(log.value_2)": {"type": "AggregationFeature", "dependencies": ["log: value_2"], "arguments": {"name": "SKEW(log.value_2)", "base_features": ["log: value_2"], "relationship_path": [{"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}, {"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Skew", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: customers.SKEW(log.value_many_nans)": {"type": "DirectFeature", "dependencies": ["customers: SKEW(log.value_many_nans)"], "arguments": {"name": "customers.SKEW(log.value_many_nans)", "base_feature": "customers: SKEW(log.value_many_nans)", "relationship": {"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}}}, "customers: SKEW(log.value_many_nans)": {"type": "AggregationFeature", "dependencies": ["log: value_many_nans"], "arguments": {"name": "SKEW(log.value_many_nans)", "base_features": ["log: value_many_nans"], "relationship_path": [{"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}, {"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Skew", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: customers.STD(log.value)": {"type": "DirectFeature", "dependencies": ["customers: STD(log.value)"], "arguments": {"name": "customers.STD(log.value)", "base_feature": "customers: STD(log.value)", "relationship": {"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}}}, "customers: STD(log.value)": {"type": "AggregationFeature", "dependencies": ["log: value"], "arguments": {"name": "STD(log.value)", "base_features": ["log: value"], "relationship_path": [{"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}, {"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Std", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: customers.STD(log.value_2)": {"type": "DirectFeature", "dependencies": ["customers: STD(log.value_2)"], "arguments": {"name": "customers.STD(log.value_2)", "base_feature": "customers: STD(log.value_2)", "relationship": {"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}}}, "customers: STD(log.value_2)": {"type": "AggregationFeature", "dependencies": ["log: value_2"], "arguments": {"name": "STD(log.value_2)", "base_features": ["log: value_2"], "relationship_path": [{"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}, {"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Std", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: customers.STD(log.value_many_nans)": {"type": "DirectFeature", "dependencies": ["customers: STD(log.value_many_nans)"], "arguments": {"name": "customers.STD(log.value_many_nans)", "base_feature": "customers: STD(log.value_many_nans)", "relationship": {"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}}}, "customers: STD(log.value_many_nans)": {"type": "AggregationFeature", "dependencies": ["log: value_many_nans"], "arguments": {"name": "STD(log.value_many_nans)", "base_features": ["log: value_many_nans"], "relationship_path": [{"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}, {"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Std", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: customers.SUM(log.value)": {"type": "DirectFeature", "dependencies": ["customers: SUM(log.value)"], "arguments": {"name": "customers.SUM(log.value)", "base_feature": "customers: SUM(log.value)", "relationship": {"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}}}, "customers: SUM(log.value)": {"type": "AggregationFeature", "dependencies": ["log: value"], "arguments": {"name": "SUM(log.value)", "base_features": ["log: value"], "relationship_path": [{"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}, {"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Sum", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: customers.SUM(log.value_2)": {"type": "DirectFeature", "dependencies": ["customers: SUM(log.value_2)"], "arguments": {"name": "customers.SUM(log.value_2)", "base_feature": "customers: SUM(log.value_2)", "relationship": {"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}}}, "customers: SUM(log.value_2)": {"type": "AggregationFeature", "dependencies": ["log: value_2"], "arguments": {"name": "SUM(log.value_2)", "base_features": ["log: value_2"], "relationship_path": [{"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}, {"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Sum", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: customers.SUM(log.value_many_nans)": {"type": "DirectFeature", "dependencies": ["customers: SUM(log.value_many_nans)"], "arguments": {"name": "customers.SUM(log.value_many_nans)", "base_feature": "customers: SUM(log.value_many_nans)", "relationship": {"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}}}, "customers: SUM(log.value_many_nans)": {"type": "AggregationFeature", "dependencies": ["log: value_many_nans"], "arguments": {"name": "SUM(log.value_many_nans)", "base_features": ["log: value_many_nans"], "relationship_path": [{"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}, {"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Sum", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: customers.WEEKDAY(cancel_date)": {"type": "DirectFeature", "dependencies": ["customers: WEEKDAY(cancel_date)"], "arguments": {"name": "customers.WEEKDAY(cancel_date)", "base_feature": "customers: WEEKDAY(cancel_date)", "relationship": {"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}}}, "customers: WEEKDAY(cancel_date)": {"type": "TransformFeature", "dependencies": ["customers: cancel_date"], "arguments": {"name": "WEEKDAY(cancel_date)", "base_features": ["customers: cancel_date"], "primitive": {"type": "Weekday", "module": "featuretools.primitives.standard.transform_primitive", "arguments": {}}}}, "sessions: customers.WEEKDAY(date_of_birth)": {"type": "DirectFeature", "dependencies": ["customers: WEEKDAY(date_of_birth)"], "arguments": {"name": "customers.WEEKDAY(date_of_birth)", "base_feature": "customers: WEEKDAY(date_of_birth)", "relationship": {"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}}}, "customers: WEEKDAY(date_of_birth)": {"type": "TransformFeature", "dependencies": ["customers: date_of_birth"], "arguments": {"name": "WEEKDAY(date_of_birth)", "base_features": ["customers: date_of_birth"], "primitive": {"type": "Weekday", "module": "featuretools.primitives.standard.transform_primitive", "arguments": {}}}}, "sessions: customers.WEEKDAY(signup_date)": {"type": "DirectFeature", "dependencies": ["customers: WEEKDAY(signup_date)"], "arguments": {"name": "customers.WEEKDAY(signup_date)", "base_feature": "customers: WEEKDAY(signup_date)", "relationship": {"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}}}, "customers: WEEKDAY(signup_date)": {"type": "TransformFeature", "dependencies": ["customers: signup_date"], "arguments": {"name": "WEEKDAY(signup_date)", "base_features": ["customers: signup_date"], "primitive": {"type": "Weekday", "module": "featuretools.primitives.standard.transform_primitive", "arguments": {}}}}, "sessions: customers.WEEKDAY(upgrade_date)": {"type": "DirectFeature", "dependencies": ["customers: WEEKDAY(upgrade_date)"], "arguments": {"name": "customers.WEEKDAY(upgrade_date)", "base_feature": "customers: WEEKDAY(upgrade_date)", "relationship": {"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}}}, "customers: WEEKDAY(upgrade_date)": {"type": "TransformFeature", "dependencies": ["customers: upgrade_date"], "arguments": {"name": "WEEKDAY(upgrade_date)", "base_features": ["customers: upgrade_date"], "primitive": {"type": "Weekday", "module": "featuretools.primitives.standard.transform_primitive", "arguments": {}}}}, "sessions: customers.YEAR(cancel_date)": {"type": "DirectFeature", "dependencies": ["customers: YEAR(cancel_date)"], "arguments": {"name": "customers.YEAR(cancel_date)", "base_feature": "customers: YEAR(cancel_date)", "relationship": {"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}}}, "customers: YEAR(cancel_date)": {"type": "TransformFeature", "dependencies": ["customers: cancel_date"], "arguments": {"name": "YEAR(cancel_date)", "base_features": ["customers: cancel_date"], "primitive": {"type": "Year", "module": "featuretools.primitives.standard.transform_primitive", "arguments": {}}}}, "sessions: customers.YEAR(date_of_birth)": {"type": "DirectFeature", "dependencies": ["customers: YEAR(date_of_birth)"], "arguments": {"name": "customers.YEAR(date_of_birth)", "base_feature": "customers: YEAR(date_of_birth)", "relationship": {"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}}}, "customers: YEAR(date_of_birth)": {"type": "TransformFeature", "dependencies": ["customers: date_of_birth"], "arguments": {"name": "YEAR(date_of_birth)", "base_features": ["customers: date_of_birth"], "primitive": {"type": "Year", "module": "featuretools.primitives.standard.transform_primitive", "arguments": {}}}}, "sessions: customers.YEAR(signup_date)": {"type": "DirectFeature", "dependencies": ["customers: YEAR(signup_date)"], "arguments": {"name": "customers.YEAR(signup_date)", "base_feature": "customers: YEAR(signup_date)", "relationship": {"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}}}, "customers: YEAR(signup_date)": {"type": "TransformFeature", "dependencies": ["customers: signup_date"], "arguments": {"name": "YEAR(signup_date)", "base_features": ["customers: signup_date"], "primitive": {"type": "Year", "module": "featuretools.primitives.standard.transform_primitive", "arguments": {}}}}, "sessions: customers.YEAR(upgrade_date)": {"type": "DirectFeature", "dependencies": ["customers: YEAR(upgrade_date)"], "arguments": {"name": "customers.YEAR(upgrade_date)", "base_feature": "customers: YEAR(upgrade_date)", "relationship": {"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}}}, "customers: YEAR(upgrade_date)": {"type": "TransformFeature", "dependencies": ["customers: upgrade_date"], "arguments": {"name": "YEAR(upgrade_date)", "base_features": ["customers: upgrade_date"], "primitive": {"type": "Year", "module": "featuretools.primitives.standard.transform_primitive", "arguments": {}}}}, "sessions: customers.age": {"type": "DirectFeature", "dependencies": ["customers: age"], "arguments": {"name": "customers.age", "base_feature": "customers: age", "relationship": {"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}}}, "customers: age": {"type": "IdentityFeature", "dependencies": [], "arguments": {"name": "age", "variable_id": "age", "entity_id": "customers"}}, "sessions: customers.cancel_reason": {"type": "DirectFeature", "dependencies": ["customers: cancel_reason"], "arguments": {"name": "customers.cancel_reason", "base_feature": "customers: cancel_reason", "relationship": {"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}}}, "customers: cancel_reason": {"type": "IdentityFeature", "dependencies": [], "arguments": {"name": "cancel_reason", "variable_id": "cancel_reason", "entity_id": "customers"}}, "sessions: customers.cohort": {"type": "DirectFeature", "dependencies": ["customers: cohort"], "arguments": {"name": "customers.cohort", "base_feature": "customers: cohort", "relationship": {"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}}}, "customers: cohort": {"type": "IdentityFeature", "dependencies": [], "arguments": {"name": "cohort", "variable_id": "cohort", "entity_id": "customers"}}, "sessions: customers.cohorts.cohort_name": {"type": "DirectFeature", "dependencies": ["customers: cohorts.cohort_name"], "arguments": {"name": "customers.cohorts.cohort_name", "base_feature": "customers: cohorts.cohort_name", "relationship": {"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}}}, "customers: cohorts.cohort_name": {"type": "DirectFeature", "dependencies": ["cohorts: cohort_name"], "arguments": {"name": "cohorts.cohort_name", "base_feature": "cohorts: cohort_name", "relationship": {"parent_entity_id": "cohorts", "child_entity_id": "customers", "parent_variable_id": "cohort", "child_variable_id": "cohort"}}}, "cohorts: cohort_name": {"type": "IdentityFeature", "dependencies": [], "arguments": {"name": "cohort_name", "variable_id": "cohort_name", "entity_id": "cohorts"}}, "sessions: customers.engagement_level": {"type": "DirectFeature", "dependencies": ["customers: engagement_level"], "arguments": {"name": "customers.engagement_level", "base_feature": "customers: engagement_level", "relationship": {"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}}}, "customers: engagement_level": {"type": "IdentityFeature", "dependencies": [], "arguments": {"name": "engagement_level", "variable_id": "engagement_level", "entity_id": "customers"}}, "sessions: customers.loves_ice_cream": {"type": "DirectFeature", "dependencies": ["customers: loves_ice_cream"], "arguments": {"name": "customers.loves_ice_cream", "base_feature": "customers: loves_ice_cream", "relationship": {"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}}}, "customers: loves_ice_cream": {"type": "IdentityFeature", "dependencies": [], "arguments": {"name": "loves_ice_cream", "variable_id": "loves_ice_cream", "entity_id": "customers"}}, "sessions: customers.r\u00e9gion_id": {"type": "DirectFeature", "dependencies": ["customers: r\u00e9gion_id"], "arguments": {"name": "customers.r\u00e9gion_id", "base_feature": "customers: r\u00e9gion_id", "relationship": {"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}}}, "customers: r\u00e9gion_id": {"type": "IdentityFeature", "dependencies": [], "arguments": {"name": "r\u00e9gion_id", "variable_id": "r\u00e9gion_id", "entity_id": "customers"}}, "sessions: customers.r\u00e9gions.language": {"type": "DirectFeature", "dependencies": ["customers: r\u00e9gions.language"], "arguments": {"name": "customers.r\u00e9gions.language", "base_feature": "customers: r\u00e9gions.language", "relationship": {"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}}}, "customers: r\u00e9gions.language": {"type": "DirectFeature", "dependencies": ["r\u00e9gions: language"], "arguments": {"name": "r\u00e9gions.language", "base_feature": "r\u00e9gions: language", "relationship": {"parent_entity_id": "r\u00e9gions", "child_entity_id": "customers", "parent_variable_id": "id", "child_variable_id": "r\u00e9gion_id"}}}, "r\u00e9gions: language": {"type": "IdentityFeature", "dependencies": [], "arguments": {"name": "language", "variable_id": "language", "entity_id": "r\u00e9gions"}}}} \ No newline at end of file diff --git a/test_serialization_data_entityset_schema_5.0.0.tar b/test_serialization_data_entityset_schema_5.0.0.tar new file mode 100644 index 0000000000000000000000000000000000000000..b4de3157f6e4e3a148cbe077eadbde0af995df57 GIT binary patch literal 71680 zcmeI5>24g^mFMd-pCU@|OqGEomC02SV3et)O6t~9D6(8|+lCO#43b$&W@P6giZ*)S zhnO!7On;dV12iyiF>m50ncx3^ZY;@7TgfiBDZ3;xGvda%=bq(%mV0CE_S)@Vf1AH~ zT;zjd`q?M>(~Uo$UGZraQ1`LG}=KF>C(@->)q|`&Cjxr*2#C7N2UKq`C^*CUYi{k6mN8Ye5RXaMP8o!{ADp7=)1|ZoD|b~ z=owEP5Ax~R%cYzC^lw}`%4hTCj}P=4?FKBM|)X$n3&CH_lyqFfV`EY#n(u0Z{xBm2RxBiVWmkD_3A$ijL0u}vy zUL2LvVLu;f(CXKi#vk5FT|M$glb9CcB8AwA!Yk2Q4k$e=rziQGDUTPU(c9@v!@n>SoG(u zFT@uC`5FWy;wTg?6wcBZl)=HdG)tj78nit;0`&P6pHFIf3uU*k{nF;}q|(jI}_ zIl9vyEoQ^l`glHF6sBUZ^l@!T&#ioA4%3rAhWP347u{}g_XweWdF86UCtEL$`7soZ z%Gbs0<*;A8>?6S^m#_RmS&oX_!Yy7l*8g|CPQ_h)p}Y6fzh{^TezofF-_pXE->rMQ zovboe{#TcOE$^lu#-;u~^k=uOa|@SD;A8l4n7_t3&5M`+x+udgTq1e-8~`#>)iMsL+WC3G$qci&Fj^)dZFKu!1JSi425k& z4v&5s0?!Tl6VTTn_q-PJtkRzH5}_ zvVlH^utShq4Hz#{)O>vnP0dBf$j1;vlJ{SmlUCW?qjE^B?0@y2F;yw?G zsdVomW0tPChBr&seI$Eixn7osFAs*(`SImsUAW|3&Dw<<-=BSdV0wQ)xE!nj#!lAZ zOx#SdT^p&(bG3gz2Q2ui0q^I%EME!~*mN&@%%$7f{)8_o@0374WG&hAORs1f)ax!t zrfli)7wie&)`3c+*vt1=#g;x=67!{RmIaHi&dtzK%Ehpzg5_5RHltFpS`}04H+Xez zFjGBP7oNkjS4A>X?7vxPQqSoff|6N8q(2#gULLQp1@A)>JRU6i#2FD-UX0b=6V)$| z_hB@(W#FPwufF|2Xjt7Y0sAoWB9P?vi?n_6SgwBdN09zZ*EX?DWyF^*ZClT!FP1IV(pTrL5MQ<^I;V|%*)XG)Qa-KXs#;o_XIvgm09&sN zBodq31(NzBP%PRp-=86numYH z3BN<$p_T4wn}?;3|Ld5Di_>}sGf@|K;KL=*{6jk#+QT+t{vH(meT#ZM z{kMs5nal#jE5w1V_uOq(8Q+fx{9Tcxs)cpi~IOj%g1o*vatlBqzvLxEM0Y8GY zG)XJ{PpkarM*avIhm*@)KbeeoC?&<+AMyCZ;Rp8-yx)vkKK3Uw!xzVVPxAh*Rr~zvpoOh0 zz&YN$RYkp;mn*0Y>$D)JL3(y}Je){TX#^%Ngx&NS)4hDAHRTzpky47=KOT+-=f17# zk@`N}UUe5Q4ba?w`PWc%`SV+|w)OZhA|mXMd(RQjdVnbY7(yBwcR4G50xBvae-$q( z!+iC6Tth@P__cg!KjD(aNR`m{WtbI{CTU+(kDE-c#>i3I3_qH}RcRtIuJ~3S$ z9yjm(pZ}oyzi#aR&HmpH+W*_z-rC%{vHyP!6ZI*dVf)|OQuZmHB?Eu;{@*Se$!p&b zzM#jB;Em62_Wyp0#W*)+EPW^bab~>wnLUXs-Oi(YIy%dC2jzrJ(5$o0*$k`Q&DHMq zO0V;jTF)h4-Mz62=a~F6{`JQH-}wIz@&CP@9T32crvHpp`<+M&|6k=gl~aAE+urM< zxA_0wMsIyN7R1YRw{HCZdolR~FCGq(zwfZ~sWbh5|CzRBcg}5Y>MZZs?X)&Ab=v!t zI<2iq)z7gDsdIkgQK#N))bU=wPJ2sHM}3a<*0+`QPPenQ-T8jZF62SBH|NV)N4u&! zyQ5KdQfS-WEGrMQ`Eik*meW^svSocX@{oMZP7v>GRt*1G`0EpPZTs4k9i>vR)&e%o zk30HteYFeX+3v(7UiLccoqytJkXd$rTAq$ObM}Y-`mj*LYcXf@*KCaz#ZGVa%dM@g zU#{|({@d#G?%v%HZd&hxsk)twjmxI85AD!2D#%C-^Lcihzb>+IIX~89=4Cc2XGM0f zm}?fpX-50;aNL4qcWTOe-Sp%3YWGel12I!CoPrgt9Xli@rc4QD4Ay;)O^7no&>S(dXfEXb@F9j*=v z(Bla^T~(H;$?V>(f9x^3pk=SS%BP9f>z$3xEm4|1o6aCS=VXpf2in?vUDq5}yX!Zu z=z}c44gR~qe;q>Un=$a>RWXK6b~y0zYi z#zWd0xjOZ3B!=LeIW`p;BK6BxMfS&HTGkk$dpGNK?`?GNb%9W8@!zd4IWVXDOHTBv ze(0|EdH}^e{=d5WFCD;^VdAZoA2``B8_qMH0zd&yJ>X=m)d%G$7wFQyGy0lIX*aOxH)nUe~8ckirsJZT`SA>{Dr zSojfidB%brW%*z+nrA0DN9JYp%WzwM3hjr}@`THVB7>6wi4C&9{P}-o!-3io4$njo zj1e=9Y$c zm6S1?{(Pa!GILP!Hz#)Z%4(wZM{F}h5-}+VFvN(#@bHi`7^MhY%-|NGldo1*?iX+Z z-7K;rWYyAFpdT|t-T`2_Kqfs0!pV6jJ7ySYjnz7YlG(kLm6ck1S5}^t^LcqM+Z~}J zv+NtmlbNvcyv6?~4gc?jy_lg<*16mwj11LdHuKebDxkATIW;NObb70s+&Dt$h;g2da3u+Gwpaced$F<5KJ zMyId12>#}SS=P-S)C6~rvafU4yV*TC%Jw*PadCptKFan>!bYx}9xy9@|8@!)!!g?X zWPBtOA@RQF3lMB;E`Luu%!(5pixE?TCmnQ^o~${aV84&c8UJwv9*o7ep-(LEj3*)+ z<3Drvr1~GEPwSpgrgB*8JJ4E~+`Ra<$lm`I2;x@&nBjo327kWe?=RmaMaFu-s*}bqb+(!HBx*DVMt~pjQjBUHw6cV_2>6i_D@;P zv(-bHFf@gZSWM-Jt*fgxXe<&}%k&CIA>lJ@e0Ff=e|gq;u(pPLZ*78jIN29Jj8Ur1 zA!A`fFom3?E3-Km`heTTaCY37fWQdng`n_dk1T5uvWxO~;2=T}h-@5f|f#(8a zaSHS_JMg!*H`Cz^KE*YUQ8h95l=F#;DLKr_jEI!_NhZ2+dyV;+G0J(fA+j{=iM$n~ z2=(Ms>7A`kmLFpFysp_3tlg}{lVY%qW3ZAWH%rdG4f4|TJd}|K$51SUDI^FT;N)x; zh{O!2ty(iT{6;xIe&iRgA2Pm0Bom$dzOwRyg;VOU0`q3M7EcHaIEx`NZSvZ~zQ8AD zXw1A~L5*e0#b|)Nj`8o40L?Hx1_hIx07PP`?{+hMT?N@^`EW_JME-!(FAEwFB17V{ z#rU8QN*RM*0uSJdSWVEn1-=3wA*^z)7i3iK>3O#I{j+Dg-~IMp_5`G)i5c3>OSrq3 z82+-9LRfOO#0QNiyafS?9g_69fUnIwA_0YDZuiRUn2=*oR&(wjmre;M)T8G(ut;}& zm53|AbjWiK%omoDgdxow%!|qQGIw;_Nq$DSBgsC=r>{8dxeYmyHP#d?z_GUiT3qG~ zbcw32t=u9#+$DUwI%3=IaHx1^o&Roqxz)+m9kCIbtZwns6(QRbgypqd%-re!YliQw zcY2BlH$6Vt?`+c#*yI5{MTh5~(2Jn3^@I&gAfH|gHhXtEJ<+}$V?+G5$KKZ1mr402e+&vr$hc`3ju%TjMT9hph4|um%O97 zRT#k@r(!xr>op2{p|F>Oq9iu`EzlTJF6qY zB*oOj@v2GTvTZ4z9#c&KJwZ+ZLkVn94^JHx>8^Of04mTW?_?W0RQMZACgfiN*NpGo>m5!B|{!SHBVz9AiR!EP`n zhNPv{1cj90av?q@RS6RFdr+P!3PIP>%4ot`$c2PLyawd_>jLv6FUd&e%%sF{cT5mj zka+I2cnx4sAPeijHpiTKjXMC~^JbI5*{ak~Ms`{Ne2G=a!Wq=XhJ1H31>GaQ}q=#rpTcAdY@GBlO7R!Fe5zTRD(klaaX zD#_UHW+#(liPrYo1|>PYTLDlADY!@O>8@?2PczG=M@@3KwYHHK&n($?l5xL#9yVnhU*-%pLLddMeonUpNwv`2uQ4*(wl*e+7qGe#7;(EoNoW@m^8zOIiz!Lj*NX{JG0%vx4dBN83*h!fz-aFnA;GE;W9kq(k+0u~tL z#GNEVha;KT8QYFgxWKOHbW+F=&un|MTP+sPCIL0gzC2Z8BW$IDv%93l(|X2v7{6qW z!c*a0&f-!wXq90)`y~IYE>V_G7)F!0$i3id%XlVdR4Su_xj=p1Kv%|I4}iTm6h-zD za~rnqV2A+@!BmDwX+-i0$F|A&3`zDxkv9b(@?>XW>1LYlIG*3AeAq}OloA-WDocz= zFlqp%p7e?Xc*bdNjiq(=LMPJN)W9L5I?|=&g!*OvhIPPuf}hY?=hVcOdPu&|?`%xO z*vR16mY#4t9?MogMC}502sTGUXsTqfa^)5G$R`Q*aYbz+SU2S=>Su=M6?R;uYheW4 z;}S;}{3Qdpa2gL)HKC1@YnHMR)6>o@X-~@?!*}h%OyQcdbGw^irW-&cmS^3uJ3E>m?^rEIFk5xB$ zpj4!oC%j|B{9=6wh?pS5oIwQx!i_hGo`)m0G@zLU6k<)3F%No7vru;XR=~pmmv!jm zquMcEol|Gu^@}YUMmD=}bv#gI0ITwf<-oiWiWCzpRMLW&xcDd8B8RNmK6TFr$$BIo z`yyjcUIsTlDf&!rcw(WGvo?EF2f(saIbRGRItfJAxbRybYZ3bV#d5 zG2j~KmJws*L8?VPhWQcfgSJ@~a%Q|F!Zg(@*@(E;tPgZ+S%+U>#FQ|%;c}Em4F$7| z;XwH49OhXJSRyr~z47syub+xCz<0b8^pldv_V7OBB1Dz)yporEWGp&kzPe3r=5TmK zw@nz*ut$7xxKIm@gkP5_1xU6Jq54|DflmU_qI-?U(8tPYOY_@EaRp1M zQbFFbrV0gs4@f3tCI~t&`p08(o=0a=>Cpnil#)KkzT#@yqnP;kNGZ0~&aD&eF#!Cz#G z3=P@aY(M$1`?yh1)-Fa?dG){>|=XQ@A4toB(oQ=a7YVtdb;-c_^vPGajgD zCw$|((c)CXLF)8+s!E;1XknnV0^Tfr337)A&Y`Uy$l24d=5zspi%cTH-jVo7gP0?y zNr{jtTBO=1JH$1^(W^>963YTeQL#HP8iy5`sXYxSV9w_r6$$0|SzAGWNX@+R_UyB39J9F3XBK|6r zy;FfkQ%6=&Q)|LVZJuVkgjJKFQjV!ZQx+!CfB-7uhW|k4$ttF7 zmC8L+*2GMf&VSCPfJqsSi2(}yyTAKz<&mHc3vL#|w!HKG19>g^Cl`XB`WaT9x z@zRzGdlsCe0e4~;1Y*I6qUCk*g9I?EM^u|b-7QVJvUtOiA-~RLvXnD0-%LdZWrB&n z@*_Bcb*dB30g^N};i8N@Tv++;(QlqS`XS5qzJ2uI$=6RF?Cw8#@q91KzJ2^+|HaG~R+uG-zD=MAKAm-5EDGm=G5XX!k&QOqU9DmnlwQe2i9ZaR$6c8lyj@ zC}gTxEH$SH(j-gPGA$kQ`>%=#5Jk^IACHkf0hLVuS_p6vuT*k#Lba+wn{x+nNDhue|56nPUvgZGCQ(y6 z!IQlZU%bq?IfYM85)uPeIRQqfjCdwihiIs}Gq(lMq-A7NKBOXDmp4IWJnUeBL{AAh zSL3H86R4@T16M%k_26cnUVpgdBCRj|suTl@juvw6{2CS|8ke|Wr2aBw)ULUkRn!_)3y47mmRQY-O)-cc(a-RTQ0?U&=$9%84mi0`W}UDMo%#8-mnC>+k8|PZWDMGi+J+ z{(`D6IKeBtN<5=9PG0+qHh)pOQi)pZ!ulQFI&FK25dh68y;(WX@U%R8ztQb4DxW4V zrs^)&tB9tuw?yrX`U^NASE9AF%|NixAnZM^P~Cr7|BNCBn#Qv#2VB`iE~#=U2j7s;<$<8KNLJB3xU_YD}^=G+8?9x#Q)ecFS zk-CT?FD$dUiU_Rc2!V>-rwTO}6YZK|3gO>HXYnR#_sIjK-6K*_=AG8H1x4@-(?NTz z#y}HTy5+6W2!jE1#!U!P1VrRW&3AkF2Tk^; zWf-c*(UO*ryq!mB`v|~g+ERE@U~1)4$kC7GT_z<-7jT3qsFLdD++xfthh8a<^MfLR zClFVgPsZ~dj+G#ZCuw*!Z$^1aoaEV)1q~2*3cXBIZCIp$ooIXlgkf=-Mz{%gLIETN zdgWeqpdredt!yb=dP+g>l;9z30v@B0mxh!ZgJgJ}SAT3}Yl_#FJ~C0pn56>SVp0Rnj3U ztl?OAKf3w~)APcQSCZOHE1o7+$KAF)PcMxbm=2&e_LGSK8$mPbJB69vAa^+~EeuO2v|oG%8$GJMF>2OxT$ zKrk-Cv4gBX<6=7Mk##&V#jE_~G-S>|ctB572t+&th*zXEJJoy; zDm|F*%Ip5U#*LN)OMGm%z{ zp;4u2FoV4UCLB`SrJ@-jc?)x&>Dy?L>zt5(P6j@4!~`zMGV(f8lFiv}ZJ-Osqic*C z1xR8^^idtS;ve9dAmo$u+G<`tnQ%unBo>(szMQiX6S!c6pXNlT9; zvzE;$|GIJmJ9i1CT+&RVq?n-70#+dDxYZvZSs+AwFTXnU( zvIa-0a~_j>m9Sw0vb~**a)02b0$=1V z34?!+?CPu>4S`Af&8S~wo1N{=om7Pe&>vux+&XFd$SB4N&R!vCh=df;fB>`tB4vJh ztfP1I!pJs_Kn^I;SHXMG2ms{-JEqAI&QuqG`;`q5X)sz}G>#Y}^;)v6C|Y+Z7Z&J< zga8=!cmUb0>+k@2f~qvd>;c-7|YVL=^)6;f&LfHp+o3Y4P?ZI?Q%X{S~` z8f}FfEx7c>4^>J%_Bh#VuKP5zOuP0}w zoGFiB#kxuvq`ngE6SFM0S{JsU5j3Ilu$PO-MF|TFjHKgG(ereHq*E*nrqg_3N7jFZ z9{@+N+2wey=3F8g?ntfZq>;^)@XJ-nOkh;)PmW9}%^74KIa|-*Dcge{O%`-X_YJ{~ zIqNV}byr2|7UI-XB|4*S=xt$8HK107#wYjhMg?R*ASH^!lulh7SCNZ=AXHnKSocq! zioytEBBTWhrp`GzlDG*fO9?_PYAiZbH+GwVoKcerWYX`FR;zZ7$(|e|YAguOLiqwEtEIh5 z<6{Ff%8tsBRAeFv|PavIJ+)tT6u~!Hhd{~*I>VJYUc7esBM82 zC-$UXZ?-sDin*@+9U0v!|E@V)A;%U#&E1ft>g~WXvP)B%yp)t;_y{gilHa9fmPECE z3yMv@_Iw53YWyO7DrAd*hmkzj`61EwDN|5Xtu?LLBM?IOQZfl^?8rJPZMT%mu}!24 zmNrj(BU^7QA989ajmlZo)8)}()r@S*4jbt~B?jS@EAb6+w7nqX=$SH2{99r`q*0Eh*x?1If}Wfy|N3e{Xi zM{9Fz2*Slm6*5HkB@*Q-A}hk8I%H>ZxWR~!QaU;1izBj8noNDt?R-mckfm-?S`sEa z74BWlYn=o%(`{iNRE*(_8I=tu*tLV=41%nERJP>q0f(xaVQMvDg6}3>Oct=Cv=^qq zcbllwv;o3!Llbhn#p*w@nLB>~HF_#6$47!?)NJ%1}ri&y3^!YxR$zbr+zIyiaT z3@zU;?%Yuw98U@JpgpZBfh@QqEiVVtcu%m~io*dy1-??nbsoLcntkfrKi1Q*`FzzIDa0?YZa8j_0hy8wFcu;qMpTwx!M$7Pfcuq!mkX`|y`{`|jwz+kxB zK&*F_q?v)F0IB-wFMs}z>)`a;J?Kc z{y?tCVE~PJ^W(3)zu>{{bB5c`97z__;QjBu-+%o1=b!6Y-;^^)#)-11$uK7C z1v%s;FoFt1>GalqmMI{KzBB9wY)C-@c4IU`PNUt9hsla!XGs;vvz3Qx-BjZSs*>7t z9iD~&qN>=?$gtN&DEak{!!>WF(obJ;3X)wu(nNEL3|TZPwb;m=?8%OGP@{OkuHxt9 zyTqPB=~iE)c;)~+h$K{J7zKjOqQ_#W+#MBzxIV@{KErSf;d?xr{HRu7R^}67UgvkQ zSBnEvnk+taXo0mU)ElC~#!z6YNJqda5g}BXxORMYgdpid84d=(&T2;eQDXn??mp}g>WQ?z6 zw)qDb##f5H*qKENMu6PgqSEJH4=kOqBjOose8S?zZT^}p{}JhK>^JoiV8ZgZ515*d zD!89d525`<#4=%>#Xj&vGgJHqstV(aH~1@U@i&H0>YvB6rffRIhDl(_tI=BY3Y;cJ z93pblSJ}4($xof6HP61K%7;HfNcKVFQe^BzPF*c~TwtFulzb&g^lC>lhSe-;5?V?3 zcCr47-DuQ|Od9zzn)_>XPYid6Z-b~LO!<&{gf6!HQdB`LX;y?P@AJ`92h+t77@u}B z(0gm02XI*@xXDWggHyiDMsS&vcKxynHgTuNXJ(2df9S?VqWhws$M3$xfxTc7bcKS3 znp8%;b$#`8-4Zg|jFnu9SAZQn^elLu7AnCy;kSDBa;X7TnQ4kIf(>FAJdp=dwUMWw zDT%`&8yGFp{jnmlJ!p@g)RLC;F-pbv2uIa84eW4MNCr`Uk_QYjpVK0vsxAO?1Z+y~ zTbWteSJiEKBCUOLDkuZVA!s_4Nn7a=9*q{%+y(&=&`4z}Ft-Qp*_YPG@gnhTKr{5T zNYzRqu(2l>#~hh)-S#7Smzg##D~**n@U@b7|2=z%oN$0J;*4!d4LY(Ik#%ph#ypo$ zb%Oo1sfacSA5(+AusP8)XwxN+mTZ@JptORKttpXZiOiJeSKSU!AaRO)M+>xxL~F@x zy}c@|ku7g*$yBTxhsJ2NW^yB>U=AB%Y`LgWCU@Z)r$l(ay@gWUv$bPGJ&+q`b=^1< zJ%e&7On_qy&?2A=&uC4#UKV8suzb$0`34ygr#iHGE~oaj5=Su5-Arpey?@#bkNK2s z#_LFe@I5kA*klhs;JpA3)?Q15BQQN(X&dd>XnC zxlk%CHMZL(4n;Uv9FU-6#&WF(O5|}FN~3MZ-XqJQ3quTNj0N$ug&CAns-*3+a>(+w z(Q1~_W(sbj)??ENS=etjl2D#yYt{s=ZvYf%a+)dNbU|O;27K=DqM4RaMs|EQKp*6h zXmaiQh#hf|6r!X6_H#}QyYYFJ1=98o@>!f(Wu3U z&qd}(UjY3;MbD{?Ka%PF4@gx(omF~Rko9&S15DMW-qtF0jVyCg?Rsh$n4lfO(&gYA zw&7^~8!M!zn$G6S7AKx2+VJ)|vR*t9#rMfhwOUmU%(4d!XnyTM zqJZyjg4z&2-2Fa#Tsc!ld-AlVrUvk&-juJD7fbkcgB^A$(PLJdsv36*a@Zt0LO1wt z8fe8rCuN8SW@@h76th*U!^m@_hlFI`Ajm6kGZSBi6+SLe5l;I+h`pUZvZay4Nk?uP z*eA;oxn-?LdvBM;D{hjN6GaiD+3y^Peb`;GhoGsyPI@I|h4F(VOzC2Uz;*^i{322}*k#4^ry zG~<#)l8mL&WZzW*)T79;^brXWM;Na&7gj0KJ#y8EwNCMpxK5oo;Q}FDlkHF`bOeBF z4n%%&kEKA%eO$~I`~V)HSvX!A+#SZKQ-p%f=K_w^PYFCVj7;`6l*fBdQWI?8HfIG+ z1YSL|SU6WwiYM!6o5>laLZ5uY!U@o{Rm?)eq`+wP-g0N$0B(KXUERrEMIDUvrP^Cm z_(KA8&4PybUj{=DLD49+OPI+DxFLmwx4=`ALHFRj%41=2cfsY}2pgj=TV(s#YO5u| zFoRTUimgJswMD{WfEUICNmX=>ym|xw>-?eOAzCMC)RPrNvSNwSlhc~CT!*9tb>J zbvTy2m6&M>Y~}Y;8N=t6)jh0qrgNxS3K6`{fr3IE5-#)>aj?0~9CadslgOs2^sews z#zAopV%uV?;wfY^KP*(d!#g=Tsv>tBAa%oZ_CaNYLSqjWBX;4Xki|O@)J>1L(A7jQ ze$_)WD2Rv*F6Ar5=JS?M`yI?ysA|bZz`w>`JG@{3wP;O+qJAJGX(_N4l}P%4s%jO4 zD2p2WFh6w)SiN;5=xFXY+YUKI0A!eag*cru#m#kEW{;+6^h-`wmRFXXk$6YsDN+2^ zNX9q~u2&t#ZF@`OI$1;&^=wB|)=NV-VK{w|K2A_l!h~Ss%%rtc*6uPCKLmpFg#tTs zSaa%5_HJaUtYGx3WP!2iveA45+L`!6>zcQ;(GCSLbR`^QLaP03|a;iijYl@?d7_7Zo$*NFHUReQZ3(Amy`^%sIcf-91df~jqnCl)! zzDKJp47hNEz!08)&UVu}%GBX!e!3x72OXq@Es;@WkCq4Z`@0RSY;sjp;uBhjR# zndvMNC;m;8)mSH-RJcy`i)^oB#PHkQ|CVeJpdj*29`9(Oew%%*w1khbT`d zEkk{U{g7nJG)jEn8|W5+$=35&BD^65RYc1;O7o{;OBM)7TJLcZeIPdPE=Sk2K9O5> zI+A;W^K~MaK6>M1wmoqERb_Q7qz%!BSjVUa%XTJ!%vecaf>7P#uk=hLQSH=g8QYI_ zT!*cSqA|tVkx=7ux+0K3pPz!CU;`)J(AM0D+wv$BXkZ;y;%L`Tm1;FcjP_o#ZcBxXp9_wYCpqHI{(%T3cI~IvtD(F!8TZBrcLW3NHdh1xRfPp38 zN!7h!Fv&Bn-Ut!=P27Zo$niL27fgUpWjlgaOk7Z}Hk^fUC!*;$(7dAcNwT6D@?{Y1 zV;is^skY`*j%>)JfsE3)c4d}0S}bs;XMadd)Xv(J8hv4eFm9N&gaJ}I6OoBbb!y}R z-(fCkszyRJE(25;H0*BGGGShN9bq}-q+D_KYmv8Rd$PCx^wD1S;%g?c_u}jQ zZ2!fJ{m1ve`<^SFJl}tj{r1K8-(}x?|7=g^jPj=j%btXK#1wtS%pK9F!yT;m5Pm)* z-O9-eQvxgbc;^UVal;j~Cix#$T6rne7@OdzMK-z*3;i$ijWAPrspnPd_ zuoRYks?ZZ@FpDBf%}KPlU(od@8>^jc#N-rl z>8lv=uS^3mF7iN3%CS;r9uIOqO=Q3^#X5&i$NOrC_VQHOu{2&DhaM9y#UfYD%J4kg2w7`o#j-Dh2U-f%PcWjYJfcxgqTMVd z(c)^3N)X5EXQ?;^GU#KLb;3z4qNf5$EENj*r5YhpI|_lx=fAXU#L<$h6o!TNOq@!N z)Fj$Lb@D9I#(?!Hgpz4#=C56R7|{CkrxYYecd@$>;yC~3vs3qFrs%%Fzq#o|m-*Xt zrN^#ZhfH7e#kKPM6;vW%P@{r2gDd0Z6ojaX;i4HZO(eKa-XFM>fEKf~>!ExGF<#hg zkL%Q7$D~_Rm-b?W{SAIFO;1P@&9NuuUtL6ea0V#ft$JJa*=55s2we8;5i`duQb*6? z;fw6~i+vVSwPu^{U?7<`#beCVRGTRQrkT%$T&)@Er12{v%am^XHf`8b2oU2p%R>`L z)gV#}mDD$iEd-@_6~q-_r8$OKX&zFKvztAAu@44IS$~J_(czhjEyT~B>fmSmppMj&reJeRBfhE!)-;9%4q@pBQ&Yl%pSmn0 zsisHU5`I|KPnX#eU0T01VV{+cJV14Vg1xa4Y;}D<;Ezk|$r>sk#Vh*AFPKE>MTi=H zsUaRm!Ljo!fa79#EcB$RQ>D}nakSkT!HWK4gq@@d_CL9vI$a1+^q=2nLPtpz3~V7F7<_N@l72R`A@Qijh!bgi2z;VVk;3eC4-_99X`3e}k7bFX7L7qwvdKoRMnSazvrK9r zBK-&GYkGu}2Gw?s$7xveAcY#K&01uKWvj)QG22OGU(b{pZg4@}blG}R`#y|Ks2dBU zQ;lW%qN+rmj+I0z;``d^{j8K;7$d z7~61J8KPr?X$%914Moclv^Z8tY&*$+RO&kkFo-TTwJ?pAvoOF)FoYFVT!@S8*(%gw^O)cA<<0jh2c;=aJc$XSz~*2 zptuCWkpfM)tP~7B198%XMR?;~jL9QjB$_W!SpL>m(s`avACT=y@*1)`U?9KM2IIBR z5i#k?igBrcrC5VWDgTVQ4KtOB7YyPC1nr-hu$yP96yI5Vh9je$PJ5xbB~oWn+lp8Q zn~kaE+cb;QI#!5x?p-Mpn{Ru!PKWpDv_*itqi5A{pEcQC94Yxr_xEO0jqY}UGWuSWn`W(Cced7W&P7Tn z%zSLw#Ze^IynUw3c{#b94Tt4A?Z?ToSX`a<#4t}n4 z2~GIKU;~ZI*~GGB7RtJYq)`KHMK%o^2wSB2SO@l-fuT{=RtPP13gc!TgfE37QKnbXr4R0^2E6Asl=Ga0sb&6SUK{GHjx;odMMau=q85g^dl&sAG*^KsLUQPkKvlz4R<{b^phG7p!5fHX47oVj zN$=%j)zS*f$5Hr~oFsZ=(Wnn4(^(B4&2={86?#L^Db<^KYLG#IEpWRsl-R)FQbO@xT1&$PEj#ypNk)HtE9gyvnUHuZ%% zqBaGiTlMEmc_Qb|A^G^)&SSRXAGmx}z0QlyA-oQ~IHWr;n!IgxlT+*UuCuq<*sHsAl6%Ls>0no$*$JT8n@w1QKlWTDhs?{2tM!UTmh zitBh7gT9j6AXb9kaA#BijUBLJh)9GuWJ$|N!T9x%eIZt49e882DJ|4TWMe7lp#S<5 z(iS)}F-Z#;Z9goK%c!2el^ddEJlTpqp_Q~Y_^L=C;nhJ7lJew%szaN!jv8Bc14!ci z7yQm6s2rW0jL~-8LtrS3t;CNH8X5urMIUr1ykHmsZ_}R<4?s#i8m%m#|f!EOPQCsaYhanBAs!}JAhjIdBTxX2v%`{yLlo9FOnkE zc2_H|20>Q(Dgc25lntO=D4Lurwbb5$sWxjfxT+sZG$tVut4M>Zm7%e5kx30TKV)9% z&l6a!qrOgaf@}DzZ#1$S40#GKA(bEjr(B|cmAf@ z_q~{@eWg8+?SupgZ^PdUVvHoh{=m&Mm8d4Lj4$Ln^#C9dGyHLEz4MIZu|!gAln)`R z>Vg`d`Rm+kw;j(pzc96|guk}Kt79As=%`#M#K&Cv< zBq4#Z_E2$m^i&rL@1fcW zEbOBkY)`Oe=n9cHKo7fyQT1sAEM>Yg0a$NG4$>geM|MD-po6;Hyl~Ar)g~1N>eIur zkD(EMW!!WG6e7bf6P@A33kw037LsP@bgQ!E5=0X#r9c$|v7~P>>J?bokD`5^fG}c5 zhOF92Dlw+0i@`)EWH4#uB<>CntT!G26IgjgMT!*BTAWAK@x+Z&O!q?ye9@%G0Psw* zWZR`O^NEjOwgy%OMDJ3pf@^LdPirjaU5T(!T=s@e2ZC`-97v387hULQ1;^R{hXvjg zW7Z@byq5>o;mJADj0RJ2Re$_kr7M%nT3P`abzob;K%5=LNblz$vXLP~akwc?)exww zbxdYHYF>OFcE?2$Xz-aH0ZXx!uvX<$Wj4ItKeE-*zz0gjcV|TtG-R$}HiI17>8|X~sCP+ro^~{V&`cr9ci5|J&lJ{YeLBAY#JX>V=l^3aJDCP(PVf`(t7MJR z4QO@FYfaDO3W#Th=#`W18HfD`v$PNLaeDKv6Xijh8X7EDUc!;EGf+kw93+U`3Rl!c zr*?ATCRsArYk|^tP#fMt6>s*N__#9VLG)2>Ko$wa%3M7&n-MtL#IbfRcf z30YnA_T$x}6245HTpSVR6+0)k?)X?Wvl5r+X_Yom4}R!%fWB~|>kiXN0_z_q7{iq6O2!7MNR z=myK~dS_sfkCvVTH)I37XxtM|jvWqRY@?DT7pwrAdb}lmtzu=(u7BYjAexy%j*&V6sFyvNOxcd8bY|AJb}y7=Ts{)`Dc8 zg_2%>#v*!={A{=&0n$NG`RFUkco3sXkZ49&szY$Y1)55ovm|Ad9GBy-l!(;`k!n&j zEjxMLC`<#)qamc~Y_yZ8ggboiU6jfnpajw)RWADuZeg%)C2UbV#uLEkFG2)auEhN0f3*@R_v^SL?yZvL zDe*5u7*N|1YyU;N8i%4O+3PTy21+xECR^b%{F|D6$(CS}k^(lt-+rx3n4{Y0z*?7kb%BzA2WZiAER&w7wrBCiZ^fnI zO6{CH*4oh8t{m$z#cEfq5yxd%5I+QfZfkz|z3+~Cv8XT}<|n>G z)+FP>2~Z;$6(5PvnAG5@WP`<5$`YAJGSmVo)}?Axa?^Nq_yo_y7TYheiC$?|UF9q> zKbbWHiLi^1QX56~MSz0zt}J(`G7Il_cSpSy!>`c_bQtz5w#i{RjTn?gsSP0XRSHr0 zc-HlVVE+f!yPctHB_(NCC#&m0c(Gjq%3OSmkdX3#X90(muo2&QTELGcjc3kq0JY8~ zl4L0cG%!Y&++vzKL6oF5r`5*iaWn_vM)U#=@OuN04%MQb#d_Aq)F2QF8s#PNPVxre z7*(wyNsl>0$X9ON`ax}5js;V%2mZ;j?PPAOh%Q{|^(diSd=qd}F6mwOqT%!PlCNatx41UsXA#)A|0J)%D)pR4l*vn2onQW}~xHH)ia#8#8uj z%(&z^>dRQ~Tzt;vTb@HFs@|EL-fg_O^loFlLbsJ>kADBo?7FC&plZO{F!zqE=g1E-d4#wnN@)7-Nv`+O zWjH>-IlZ~s{S#I}w2~+yW5v9+EvPsZd_!rR8?6s_cPWtmlG*606A)fbED0vb+jrfk70szi_e7h8Np{Ibxe3`%c}+(+#<(1S6Uh;cqW2JY8fNJoo-kpujyIVV(ce^X= zyop7|_*cE{Zm+v}x3|5sw#m<%TRS(}{5M&&pYWl2>%;Bjsb*{a+3TNh>}n{f#`flB zrQ_%S?QX7bRG%gN-`QE;{w(`wovaAB?%zuPk2nn}f4v489uF_Oe($>nzkf(Ei6H2E z-1hAJHGil2Pu!z4J+T;VN~BtZp*oA{i1!R!*Qdl=NISg9ZO|cV;F!QQQn)LW5<5bZ zad<7ee)_Y{@q9j+-MfAJ^z?Ks?I55zh}XSv!|j!(othiBIt20TIO*g8ku+q}yxglE zc-crRO+>&;tb;JlPgxtCtu)}nfkB(L3-oB~H^|F78r@qbq zcQ?=D|DDb4tsDRUDc0irnD~D>IgS?88dtv8*{r-t-CgdTV!ZNH z&5euk|Hk@_|NjI_abZaO|G+1Zz2xlpqEpo$UN)a=|6*r2>98-A48i<(rQ7-T0h^6D zpyclQT5tQ#T6eA2p(X94xJ`G^^!A|a&u(+_AytsI`5TIAooAd-Nv|n)P#@~{?hzlb zxk-QByThN(+HGp)6i6s7udKJPX0xgO*LiU7_Zs^58v6IGp*KWIuSH64t#@zz&i38T z|G2$2WzXDUxw2VZ(^k4OIF6 zO$u^1`TxIy7~to5z30oBHd7WawWXqyvVcGUT>XYt1P{EF8^EP+Y+v>{?K3#|i`Ucd zawk5Ilmbq9izU{D>4U9K=O4r2{uS2r<`Fj>xZ%JJ2W~iU!+{$P+;HHA12-JF;lK?C jZa8qmfg29oaNvdmHypU(zzqj(IB>&(8xH(qbKw62-nhWs literal 0 HcmV?d00001 From bef87e970e7c5fb00dcce144fbaf52a602b94d3a Mon Sep 17 00:00:00 2001 From: Gaurav Sheni Date: Fri, 25 Sep 2020 12:53:54 -0400 Subject: [PATCH 11/14] remove sort --- .../tests/primitive_tests/test_feature_serialization.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/featuretools/tests/primitive_tests/test_feature_serialization.py b/featuretools/tests/primitive_tests/test_feature_serialization.py index 7b1b6d3bd6..b3df1eff48 100644 --- a/featuretools/tests/primitive_tests/test_feature_serialization.py +++ b/featuretools/tests/primitive_tests/test_feature_serialization.py @@ -46,8 +46,6 @@ def assert_features(original, deserialized): - original = sorted(original, key=lambda x: x.unique_name()) - deserialized = sorted(deserialized, key=lambda x: x.unique_name()) for feat_1, feat_2 in zip(original, deserialized): assert feat_1.unique_name() == feat_2.unique_name() assert feat_1.entityset == feat_2.entityset From f3045e1a2e73824a13fe5ef61bd6175434c6ac8a Mon Sep 17 00:00:00 2001 From: Gaurav Sheni Date: Fri, 25 Sep 2020 12:54:24 -0400 Subject: [PATCH 12/14] remove files --- ...ure_schema_6.0.0_entityset_schema_5.0.0.json | 1 - ...erialization_data_entityset_schema_5.0.0.tar | Bin 71680 -> 0 bytes 2 files changed, 1 deletion(-) delete mode 100644 test_feature_serialization_feature_schema_6.0.0_entityset_schema_5.0.0.json delete mode 100644 test_serialization_data_entityset_schema_5.0.0.tar diff --git a/test_feature_serialization_feature_schema_6.0.0_entityset_schema_5.0.0.json b/test_feature_serialization_feature_schema_6.0.0_entityset_schema_5.0.0.json deleted file mode 100644 index 44086e92c7..0000000000 --- a/test_feature_serialization_feature_schema_6.0.0_entityset_schema_5.0.0.json +++ /dev/null @@ -1 +0,0 @@ -{"schema_version": "6.0.0", "ft_version": "0.19.0", "entityset": {"schema_version": "5.0.0", "id": "ecommerce", "entities": {"cohorts": {"id": "cohorts", "index": "cohort", "time_index": "cohort_end", "properties": {"secondary_time_index": {}, "last_time_index": false}, "variables": [{"id": "cohort", "type": {"value": "index"}, "properties": {"name": "cohort", "entity": "cohorts", "interesting_values": "{}"}}, {"id": "cohort_name", "type": {"value": "categorical", "categories": []}, "properties": {"name": "cohort_name", "entity": "cohorts", "interesting_values": "{}"}}, {"id": "cohort_end", "type": {"value": "datetime_time_index", "format": null}, "properties": {"name": "cohort_end", "entity": "cohorts", "interesting_values": "{}"}}], "loading_info": {"entity_type": "pandas", "params": {}, "properties": {"dtypes": {"cohort": "int64", "cohort_name": "object", "cohort_end": "datetime64[ns]"}}}}, "customers": {"id": "customers", "index": "id", "time_index": "signup_date", "properties": {"secondary_time_index": {"cancel_date": ["cancel_reason", "cancel_date"]}, "last_time_index": false}, "variables": [{"id": "id", "type": {"value": "index"}, "properties": {"name": "id", "entity": "customers", "interesting_values": "{}"}}, {"id": "cohort", "type": {"value": "id", "categories": []}, "properties": {"name": "cohort", "entity": "customers", "interesting_values": "{}"}}, {"id": "age", "type": {"value": "numeric", "range": [], "start_inclusive": true, "end_inclusive": false}, "properties": {"name": "age", "entity": "customers", "interesting_values": "{}"}}, {"id": "r\u00e9gion_id", "type": {"value": "id", "categories": []}, "properties": {"name": "r\u00e9gion_id", "entity": "customers", "interesting_values": "{}"}}, {"id": "loves_ice_cream", "type": {"value": "boolean", "true_values": [1, true, "true", "True", "yes", "t", "T"], "false_values": [0, false, "false", "False", "no", "f", "F"]}, "properties": {"name": "loves_ice_cream", "entity": "customers", "interesting_values": "{}"}}, {"id": "favorite_quote", "type": {"value": "natural_language"}, "properties": {"name": "favorite_quote", "entity": "customers", "interesting_values": "{}"}}, {"id": "signup_date", "type": {"value": "datetime_time_index", "format": null}, "properties": {"name": "signup_date", "entity": "customers", "interesting_values": "{}"}}, {"id": "upgrade_date", "type": {"value": "datetime", "format": null}, "properties": {"name": "upgrade_date", "entity": "customers", "interesting_values": "{}"}}, {"id": "cancel_date", "type": {"value": "datetime", "format": null}, "properties": {"name": "cancel_date", "entity": "customers", "interesting_values": "{}"}}, {"id": "cancel_reason", "type": {"value": "categorical", "categories": []}, "properties": {"name": "cancel_reason", "entity": "customers", "interesting_values": "{}"}}, {"id": "engagement_level", "type": {"value": "ordinal"}, "properties": {"name": "engagement_level", "entity": "customers", "interesting_values": "{}"}}, {"id": "full_name", "type": {"value": "full_name"}, "properties": {"name": "full_name", "entity": "customers", "interesting_values": "{}"}}, {"id": "email", "type": {"value": "email_address"}, "properties": {"name": "email", "entity": "customers", "interesting_values": "{}"}}, {"id": "phone_number", "type": {"value": "phone_number"}, "properties": {"name": "phone_number", "entity": "customers", "interesting_values": "{}"}}, {"id": "date_of_birth", "type": {"value": "date_of_birth", "format": null}, "properties": {"name": "date_of_birth", "entity": "customers", "interesting_values": "{}"}}], "loading_info": {"entity_type": "pandas", "params": {}, "properties": {"dtypes": {"id": "category", "cohort": "int64", "age": "int64", "r\u00e9gion_id": "object", "loves_ice_cream": "bool", "favorite_quote": "object", "signup_date": "datetime64[ns]", "upgrade_date": "datetime64[ns]", "cancel_date": "datetime64[ns]", "cancel_reason": "object", "engagement_level": "int64", "full_name": "object", "email": "object", "phone_number": "object", "date_of_birth": "datetime64[ns]"}}}}, "log": {"id": "log", "index": "id", "time_index": "datetime", "properties": {"secondary_time_index": {}, "last_time_index": false}, "variables": [{"id": "id", "type": {"value": "index"}, "properties": {"name": "id", "entity": "log", "interesting_values": "{}"}}, {"id": "session_id", "type": {"value": "id", "categories": []}, "properties": {"name": "session_id", "entity": "log", "interesting_values": "{}"}}, {"id": "product_id", "type": {"value": "id", "categories": []}, "properties": {"name": "product_id", "entity": "log", "interesting_values": "{}"}}, {"id": "datetime", "type": {"value": "datetime_time_index", "format": null}, "properties": {"name": "datetime", "entity": "log", "interesting_values": "{}"}}, {"id": "value", "type": {"value": "numeric", "range": [], "start_inclusive": true, "end_inclusive": false}, "properties": {"name": "value", "entity": "log", "interesting_values": "{}"}}, {"id": "value_2", "type": {"value": "numeric", "range": [], "start_inclusive": true, "end_inclusive": false}, "properties": {"name": "value_2", "entity": "log", "interesting_values": "{}"}}, {"id": "latlong", "type": {"value": "lat_long"}, "properties": {"name": "latlong", "entity": "log", "interesting_values": "{}"}}, {"id": "latlong2", "type": {"value": "lat_long"}, "properties": {"name": "latlong2", "entity": "log", "interesting_values": "{}"}}, {"id": "zipcode", "type": {"value": "zip_code", "categories": []}, "properties": {"name": "zipcode", "entity": "log", "interesting_values": "{}"}}, {"id": "countrycode", "type": {"value": "country_code", "categories": []}, "properties": {"name": "countrycode", "entity": "log", "interesting_values": "{}"}}, {"id": "subregioncode", "type": {"value": "sub_region_code", "categories": []}, "properties": {"name": "subregioncode", "entity": "log", "interesting_values": "{}"}}, {"id": "value_many_nans", "type": {"value": "numeric", "range": [], "start_inclusive": true, "end_inclusive": false}, "properties": {"name": "value_many_nans", "entity": "log", "interesting_values": "{}"}}, {"id": "priority_level", "type": {"value": "ordinal"}, "properties": {"name": "priority_level", "entity": "log", "interesting_values": "{}"}}, {"id": "purchased", "type": {"value": "boolean", "true_values": [1, true, "true", "True", "yes", "t", "T"], "false_values": [0, false, "false", "False", "no", "f", "F"]}, "properties": {"name": "purchased", "entity": "log", "interesting_values": "{}"}}, {"id": "comments", "type": {"value": "natural_language"}, "properties": {"name": "comments", "entity": "log", "interesting_values": "{}"}}], "loading_info": {"entity_type": "pandas", "params": {}, "properties": {"dtypes": {"id": "int64", "session_id": "int64", "product_id": "object", "datetime": "datetime64[ns]", "value": "float64", "value_2": "float64", "latlong": "object", "latlong2": "object", "zipcode": "object", "countrycode": "object", "subregioncode": "object", "value_many_nans": "float64", "priority_level": "int64", "purchased": "bool", "comments": "object"}}}}, "products": {"id": "products", "index": "id", "time_index": null, "properties": {"secondary_time_index": {}, "last_time_index": false}, "variables": [{"id": "id", "type": {"value": "index"}, "properties": {"name": "id", "entity": "products", "interesting_values": "{}"}}, {"id": "rating", "type": {"value": "numeric", "range": [], "start_inclusive": true, "end_inclusive": false}, "properties": {"name": "rating", "entity": "products", "interesting_values": "{}"}}, {"id": "department", "type": {"value": "categorical", "categories": []}, "properties": {"name": "department", "entity": "products", "interesting_values": "{}"}}, {"id": "url", "type": {"value": "url"}, "properties": {"name": "url", "entity": "products", "interesting_values": "{}"}}], "loading_info": {"entity_type": "pandas", "params": {}, "properties": {"dtypes": {"id": "object", "rating": "float64", "department": "object", "url": "object"}}}}, "r\u00e9gions": {"id": "r\u00e9gions", "index": "id", "time_index": null, "properties": {"secondary_time_index": {}, "last_time_index": false}, "variables": [{"id": "id", "type": {"value": "index"}, "properties": {"name": "id", "entity": "r\u00e9gions", "interesting_values": "{}"}}, {"id": "language", "type": {"value": "categorical", "categories": []}, "properties": {"name": "language", "entity": "r\u00e9gions", "interesting_values": "{}"}}], "loading_info": {"entity_type": "pandas", "params": {}, "properties": {"dtypes": {"id": "object", "language": "object"}}}}, "sessions": {"id": "sessions", "index": "id", "time_index": null, "properties": {"secondary_time_index": {}, "last_time_index": false}, "variables": [{"id": "id", "type": {"value": "index"}, "properties": {"name": "id", "entity": "sessions", "interesting_values": "{}"}}, {"id": "device_name", "type": {"value": "categorical", "categories": []}, "properties": {"name": "device_name", "entity": "sessions", "interesting_values": "{}"}}, {"id": "customer_id", "type": {"value": "id", "categories": []}, "properties": {"name": "customer_id", "entity": "sessions", "interesting_values": "{}"}}, {"id": "device_type", "type": {"value": "categorical", "categories": []}, "properties": {"name": "device_type", "entity": "sessions", "interesting_values": "{}"}}, {"id": "ip", "type": {"value": "ip_address"}, "properties": {"name": "ip", "entity": "sessions", "interesting_values": "{}"}}, {"id": "filepath", "type": {"value": "file_path"}, "properties": {"name": "filepath", "entity": "sessions", "interesting_values": "{}"}}], "loading_info": {"entity_type": "pandas", "params": {}, "properties": {"dtypes": {"id": "int64", "device_name": "object", "customer_id": "category", "device_type": "int64", "ip": "object", "filepath": "object"}}}}, "stores": {"id": "stores", "index": "id", "time_index": null, "properties": {"secondary_time_index": {}, "last_time_index": false}, "variables": [{"id": "id", "type": {"value": "index"}, "properties": {"name": "id", "entity": "stores", "interesting_values": "{}"}}, {"id": "num_square_feet", "type": {"value": "numeric", "range": [], "start_inclusive": true, "end_inclusive": false}, "properties": {"name": "num_square_feet", "entity": "stores", "interesting_values": "{}"}}, {"id": "r\u00e9gion_id", "type": {"value": "id", "categories": []}, "properties": {"name": "r\u00e9gion_id", "entity": "stores", "interesting_values": "{}"}}], "loading_info": {"entity_type": "pandas", "params": {}, "properties": {"dtypes": {"id": "int64", "num_square_feet": "float64", "r\u00e9gion_id": "object"}}}}}, "relationships": [{"parent_entity_id": "cohorts", "child_entity_id": "customers", "parent_variable_id": "cohort", "child_variable_id": "cohort"}, {"parent_entity_id": "r\u00e9gions", "child_entity_id": "customers", "parent_variable_id": "id", "child_variable_id": "r\u00e9gion_id"}, {"parent_entity_id": "r\u00e9gions", "child_entity_id": "stores", "parent_variable_id": "id", "child_variable_id": "r\u00e9gion_id"}, {"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}, {"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}, {"parent_entity_id": "products", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "product_id"}]}, "feature_list": ["sessions: COUNT(log)", "sessions: MAX(log.HAVERSINE(latlong, latlong2))", "sessions: MAX(log.NUM_CHARACTERS(comments))", "sessions: MAX(log.NUM_WORDS(comments))", "sessions: MAX(log.products.rating)", "sessions: MAX(log.value)", "sessions: MAX(log.value_2)", "sessions: MAX(log.value_many_nans)", "sessions: MEAN(log.HAVERSINE(latlong, latlong2))", "sessions: MEAN(log.NUM_CHARACTERS(comments))", "sessions: MEAN(log.NUM_WORDS(comments))", "sessions: MEAN(log.products.rating)", "sessions: MEAN(log.value)", "sessions: MEAN(log.value_2)", "sessions: MEAN(log.value_many_nans)", "sessions: MIN(log.HAVERSINE(latlong, latlong2))", "sessions: MIN(log.NUM_CHARACTERS(comments))", "sessions: MIN(log.NUM_WORDS(comments))", "sessions: MIN(log.products.rating)", "sessions: MIN(log.value)", "sessions: MIN(log.value_2)", "sessions: MIN(log.value_many_nans)", "sessions: MODE(log.DAY(datetime))", "sessions: MODE(log.MONTH(datetime))", "sessions: MODE(log.WEEKDAY(datetime))", "sessions: MODE(log.YEAR(datetime))", "sessions: MODE(log.countrycode)", "sessions: MODE(log.priority_level)", "sessions: MODE(log.product_id)", "sessions: MODE(log.products.department)", "sessions: MODE(log.subregioncode)", "sessions: MODE(log.zipcode)", "sessions: NUM_UNIQUE(log.DAY(datetime))", "sessions: NUM_UNIQUE(log.MONTH(datetime))", "sessions: NUM_UNIQUE(log.WEEKDAY(datetime))", "sessions: NUM_UNIQUE(log.YEAR(datetime))", "sessions: NUM_UNIQUE(log.countrycode)", "sessions: NUM_UNIQUE(log.priority_level)", "sessions: NUM_UNIQUE(log.product_id)", "sessions: NUM_UNIQUE(log.products.department)", "sessions: NUM_UNIQUE(log.subregioncode)", "sessions: NUM_UNIQUE(log.zipcode)", "sessions: PERCENT_TRUE(log.purchased)", "sessions: SKEW(log.HAVERSINE(latlong, latlong2))", "sessions: SKEW(log.NUM_CHARACTERS(comments))", "sessions: SKEW(log.NUM_WORDS(comments))", "sessions: SKEW(log.products.rating)", "sessions: SKEW(log.value)", "sessions: SKEW(log.value_2)", "sessions: SKEW(log.value_many_nans)", "sessions: STD(log.HAVERSINE(latlong, latlong2))", "sessions: STD(log.NUM_CHARACTERS(comments))", "sessions: STD(log.NUM_WORDS(comments))", "sessions: STD(log.products.rating)", "sessions: STD(log.value)", "sessions: STD(log.value_2)", "sessions: STD(log.value_many_nans)", "sessions: SUM(log.HAVERSINE(latlong, latlong2))", "sessions: SUM(log.NUM_CHARACTERS(comments))", "sessions: SUM(log.NUM_WORDS(comments))", "sessions: SUM(log.products.rating)", "sessions: SUM(log.value)", "sessions: SUM(log.value_2)", "sessions: SUM(log.value_many_nans)", "sessions: customer_id", "sessions: customers.COUNT(log)", "sessions: customers.COUNT(sessions)", "sessions: customers.DAY(cancel_date)", "sessions: customers.DAY(date_of_birth)", "sessions: customers.DAY(signup_date)", "sessions: customers.DAY(upgrade_date)", "sessions: customers.MAX(log.value)", "sessions: customers.MAX(log.value_2)", "sessions: customers.MAX(log.value_many_nans)", "sessions: customers.MEAN(log.value)", "sessions: customers.MEAN(log.value_2)", "sessions: customers.MEAN(log.value_many_nans)", "sessions: customers.MIN(log.value)", "sessions: customers.MIN(log.value_2)", "sessions: customers.MIN(log.value_many_nans)", "sessions: customers.MODE(log.countrycode)", "sessions: customers.MODE(log.priority_level)", "sessions: customers.MODE(log.product_id)", "sessions: customers.MODE(log.subregioncode)", "sessions: customers.MODE(log.zipcode)", "sessions: customers.MODE(sessions.device_name)", "sessions: customers.MODE(sessions.device_type)", "sessions: customers.MONTH(cancel_date)", "sessions: customers.MONTH(date_of_birth)", "sessions: customers.MONTH(signup_date)", "sessions: customers.MONTH(upgrade_date)", "sessions: customers.NUM_CHARACTERS(favorite_quote)", "sessions: customers.NUM_UNIQUE(log.countrycode)", "sessions: customers.NUM_UNIQUE(log.priority_level)", "sessions: customers.NUM_UNIQUE(log.product_id)", "sessions: customers.NUM_UNIQUE(log.subregioncode)", "sessions: customers.NUM_UNIQUE(log.zipcode)", "sessions: customers.NUM_UNIQUE(sessions.device_name)", "sessions: customers.NUM_UNIQUE(sessions.device_type)", "sessions: customers.NUM_WORDS(favorite_quote)", "sessions: customers.PERCENT_TRUE(log.purchased)", "sessions: customers.SKEW(log.value)", "sessions: customers.SKEW(log.value_2)", "sessions: customers.SKEW(log.value_many_nans)", "sessions: customers.STD(log.value)", "sessions: customers.STD(log.value_2)", "sessions: customers.STD(log.value_many_nans)", "sessions: customers.SUM(log.value)", "sessions: customers.SUM(log.value_2)", "sessions: customers.SUM(log.value_many_nans)", "sessions: customers.WEEKDAY(cancel_date)", "sessions: customers.WEEKDAY(date_of_birth)", "sessions: customers.WEEKDAY(signup_date)", "sessions: customers.WEEKDAY(upgrade_date)", "sessions: customers.YEAR(cancel_date)", "sessions: customers.YEAR(date_of_birth)", "sessions: customers.YEAR(signup_date)", "sessions: customers.YEAR(upgrade_date)", "sessions: customers.age", "sessions: customers.cancel_reason", "sessions: customers.cohort", "sessions: customers.cohorts.cohort_name", "sessions: customers.engagement_level", "sessions: customers.loves_ice_cream", "sessions: customers.r\u00e9gion_id", "sessions: customers.r\u00e9gions.language", "sessions: device_name", "sessions: device_type"], "feature_definitions": {"sessions: COUNT(log)": {"type": "AggregationFeature", "dependencies": ["log: id"], "arguments": {"name": "COUNT(log)", "base_features": ["log: id"], "relationship_path": [{"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Count", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "log: id": {"type": "IdentityFeature", "dependencies": [], "arguments": {"name": "id", "variable_id": "id", "entity_id": "log"}}, "sessions: MAX(log.HAVERSINE(latlong, latlong2))": {"type": "AggregationFeature", "dependencies": ["log: HAVERSINE(latlong, latlong2)"], "arguments": {"name": "MAX(log.HAVERSINE(latlong, latlong2))", "base_features": ["log: HAVERSINE(latlong, latlong2)"], "relationship_path": [{"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Max", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "log: HAVERSINE(latlong, latlong2)": {"type": "TransformFeature", "dependencies": ["log: latlong", "log: latlong2"], "arguments": {"name": "HAVERSINE(latlong, latlong2)", "base_features": ["log: latlong", "log: latlong2"], "primitive": {"type": "Haversine", "module": "featuretools.primitives.standard.transform_primitive", "arguments": {}}}}, "log: latlong": {"type": "IdentityFeature", "dependencies": [], "arguments": {"name": "latlong", "variable_id": "latlong", "entity_id": "log"}}, "log: latlong2": {"type": "IdentityFeature", "dependencies": [], "arguments": {"name": "latlong2", "variable_id": "latlong2", "entity_id": "log"}}, "sessions: MAX(log.NUM_CHARACTERS(comments))": {"type": "AggregationFeature", "dependencies": ["log: NUM_CHARACTERS(comments)"], "arguments": {"name": "MAX(log.NUM_CHARACTERS(comments))", "base_features": ["log: NUM_CHARACTERS(comments)"], "relationship_path": [{"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Max", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "log: NUM_CHARACTERS(comments)": {"type": "TransformFeature", "dependencies": ["log: comments"], "arguments": {"name": "NUM_CHARACTERS(comments)", "base_features": ["log: comments"], "primitive": {"type": "NumCharacters", "module": "featuretools.primitives.standard.transform_primitive", "arguments": {}}}}, "log: comments": {"type": "IdentityFeature", "dependencies": [], "arguments": {"name": "comments", "variable_id": "comments", "entity_id": "log"}}, "sessions: MAX(log.NUM_WORDS(comments))": {"type": "AggregationFeature", "dependencies": ["log: NUM_WORDS(comments)"], "arguments": {"name": "MAX(log.NUM_WORDS(comments))", "base_features": ["log: NUM_WORDS(comments)"], "relationship_path": [{"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Max", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "log: NUM_WORDS(comments)": {"type": "TransformFeature", "dependencies": ["log: comments"], "arguments": {"name": "NUM_WORDS(comments)", "base_features": ["log: comments"], "primitive": {"type": "NumWords", "module": "featuretools.primitives.standard.transform_primitive", "arguments": {}}}}, "sessions: MAX(log.products.rating)": {"type": "AggregationFeature", "dependencies": ["log: products.rating"], "arguments": {"name": "MAX(log.products.rating)", "base_features": ["log: products.rating"], "relationship_path": [{"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Max", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "log: products.rating": {"type": "DirectFeature", "dependencies": ["products: rating"], "arguments": {"name": "products.rating", "base_feature": "products: rating", "relationship": {"parent_entity_id": "products", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "product_id"}}}, "products: rating": {"type": "IdentityFeature", "dependencies": [], "arguments": {"name": "rating", "variable_id": "rating", "entity_id": "products"}}, "sessions: MAX(log.value)": {"type": "AggregationFeature", "dependencies": ["log: value"], "arguments": {"name": "MAX(log.value)", "base_features": ["log: value"], "relationship_path": [{"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Max", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "log: value": {"type": "IdentityFeature", "dependencies": [], "arguments": {"name": "value", "variable_id": "value", "entity_id": "log"}}, "sessions: MAX(log.value_2)": {"type": "AggregationFeature", "dependencies": ["log: value_2"], "arguments": {"name": "MAX(log.value_2)", "base_features": ["log: value_2"], "relationship_path": [{"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Max", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "log: value_2": {"type": "IdentityFeature", "dependencies": [], "arguments": {"name": "value_2", "variable_id": "value_2", "entity_id": "log"}}, "sessions: MAX(log.value_many_nans)": {"type": "AggregationFeature", "dependencies": ["log: value_many_nans"], "arguments": {"name": "MAX(log.value_many_nans)", "base_features": ["log: value_many_nans"], "relationship_path": [{"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Max", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "log: value_many_nans": {"type": "IdentityFeature", "dependencies": [], "arguments": {"name": "value_many_nans", "variable_id": "value_many_nans", "entity_id": "log"}}, "sessions: MEAN(log.HAVERSINE(latlong, latlong2))": {"type": "AggregationFeature", "dependencies": ["log: HAVERSINE(latlong, latlong2)"], "arguments": {"name": "MEAN(log.HAVERSINE(latlong, latlong2))", "base_features": ["log: HAVERSINE(latlong, latlong2)"], "relationship_path": [{"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Mean", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: MEAN(log.NUM_CHARACTERS(comments))": {"type": "AggregationFeature", "dependencies": ["log: NUM_CHARACTERS(comments)"], "arguments": {"name": "MEAN(log.NUM_CHARACTERS(comments))", "base_features": ["log: NUM_CHARACTERS(comments)"], "relationship_path": [{"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Mean", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: MEAN(log.NUM_WORDS(comments))": {"type": "AggregationFeature", "dependencies": ["log: NUM_WORDS(comments)"], "arguments": {"name": "MEAN(log.NUM_WORDS(comments))", "base_features": ["log: NUM_WORDS(comments)"], "relationship_path": [{"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Mean", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: MEAN(log.products.rating)": {"type": "AggregationFeature", "dependencies": ["log: products.rating"], "arguments": {"name": "MEAN(log.products.rating)", "base_features": ["log: products.rating"], "relationship_path": [{"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Mean", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: MEAN(log.value)": {"type": "AggregationFeature", "dependencies": ["log: value"], "arguments": {"name": "MEAN(log.value)", "base_features": ["log: value"], "relationship_path": [{"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Mean", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: MEAN(log.value_2)": {"type": "AggregationFeature", "dependencies": ["log: value_2"], "arguments": {"name": "MEAN(log.value_2)", "base_features": ["log: value_2"], "relationship_path": [{"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Mean", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: MEAN(log.value_many_nans)": {"type": "AggregationFeature", "dependencies": ["log: value_many_nans"], "arguments": {"name": "MEAN(log.value_many_nans)", "base_features": ["log: value_many_nans"], "relationship_path": [{"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Mean", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: MIN(log.HAVERSINE(latlong, latlong2))": {"type": "AggregationFeature", "dependencies": ["log: HAVERSINE(latlong, latlong2)"], "arguments": {"name": "MIN(log.HAVERSINE(latlong, latlong2))", "base_features": ["log: HAVERSINE(latlong, latlong2)"], "relationship_path": [{"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Min", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: MIN(log.NUM_CHARACTERS(comments))": {"type": "AggregationFeature", "dependencies": ["log: NUM_CHARACTERS(comments)"], "arguments": {"name": "MIN(log.NUM_CHARACTERS(comments))", "base_features": ["log: NUM_CHARACTERS(comments)"], "relationship_path": [{"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Min", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: MIN(log.NUM_WORDS(comments))": {"type": "AggregationFeature", "dependencies": ["log: NUM_WORDS(comments)"], "arguments": {"name": "MIN(log.NUM_WORDS(comments))", "base_features": ["log: NUM_WORDS(comments)"], "relationship_path": [{"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Min", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: MIN(log.products.rating)": {"type": "AggregationFeature", "dependencies": ["log: products.rating"], "arguments": {"name": "MIN(log.products.rating)", "base_features": ["log: products.rating"], "relationship_path": [{"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Min", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: MIN(log.value)": {"type": "AggregationFeature", "dependencies": ["log: value"], "arguments": {"name": "MIN(log.value)", "base_features": ["log: value"], "relationship_path": [{"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Min", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: MIN(log.value_2)": {"type": "AggregationFeature", "dependencies": ["log: value_2"], "arguments": {"name": "MIN(log.value_2)", "base_features": ["log: value_2"], "relationship_path": [{"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Min", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: MIN(log.value_many_nans)": {"type": "AggregationFeature", "dependencies": ["log: value_many_nans"], "arguments": {"name": "MIN(log.value_many_nans)", "base_features": ["log: value_many_nans"], "relationship_path": [{"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Min", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: MODE(log.DAY(datetime))": {"type": "AggregationFeature", "dependencies": ["log: DAY(datetime)"], "arguments": {"name": "MODE(log.DAY(datetime))", "base_features": ["log: DAY(datetime)"], "relationship_path": [{"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Mode", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "log: DAY(datetime)": {"type": "TransformFeature", "dependencies": ["log: datetime"], "arguments": {"name": "DAY(datetime)", "base_features": ["log: datetime"], "primitive": {"type": "Day", "module": "featuretools.primitives.standard.transform_primitive", "arguments": {}}}}, "log: datetime": {"type": "IdentityFeature", "dependencies": [], "arguments": {"name": "datetime", "variable_id": "datetime", "entity_id": "log"}}, "sessions: MODE(log.MONTH(datetime))": {"type": "AggregationFeature", "dependencies": ["log: MONTH(datetime)"], "arguments": {"name": "MODE(log.MONTH(datetime))", "base_features": ["log: MONTH(datetime)"], "relationship_path": [{"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Mode", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "log: MONTH(datetime)": {"type": "TransformFeature", "dependencies": ["log: datetime"], "arguments": {"name": "MONTH(datetime)", "base_features": ["log: datetime"], "primitive": {"type": "Month", "module": "featuretools.primitives.standard.transform_primitive", "arguments": {}}}}, "sessions: MODE(log.WEEKDAY(datetime))": {"type": "AggregationFeature", "dependencies": ["log: WEEKDAY(datetime)"], "arguments": {"name": "MODE(log.WEEKDAY(datetime))", "base_features": ["log: WEEKDAY(datetime)"], "relationship_path": [{"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Mode", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "log: WEEKDAY(datetime)": {"type": "TransformFeature", "dependencies": ["log: datetime"], "arguments": {"name": "WEEKDAY(datetime)", "base_features": ["log: datetime"], "primitive": {"type": "Weekday", "module": "featuretools.primitives.standard.transform_primitive", "arguments": {}}}}, "sessions: MODE(log.YEAR(datetime))": {"type": "AggregationFeature", "dependencies": ["log: YEAR(datetime)"], "arguments": {"name": "MODE(log.YEAR(datetime))", "base_features": ["log: YEAR(datetime)"], "relationship_path": [{"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Mode", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "log: YEAR(datetime)": {"type": "TransformFeature", "dependencies": ["log: datetime"], "arguments": {"name": "YEAR(datetime)", "base_features": ["log: datetime"], "primitive": {"type": "Year", "module": "featuretools.primitives.standard.transform_primitive", "arguments": {}}}}, "sessions: MODE(log.countrycode)": {"type": "AggregationFeature", "dependencies": ["log: countrycode"], "arguments": {"name": "MODE(log.countrycode)", "base_features": ["log: countrycode"], "relationship_path": [{"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Mode", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "log: countrycode": {"type": "IdentityFeature", "dependencies": [], "arguments": {"name": "countrycode", "variable_id": "countrycode", "entity_id": "log"}}, "sessions: MODE(log.priority_level)": {"type": "AggregationFeature", "dependencies": ["log: priority_level"], "arguments": {"name": "MODE(log.priority_level)", "base_features": ["log: priority_level"], "relationship_path": [{"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Mode", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "log: priority_level": {"type": "IdentityFeature", "dependencies": [], "arguments": {"name": "priority_level", "variable_id": "priority_level", "entity_id": "log"}}, "sessions: MODE(log.product_id)": {"type": "AggregationFeature", "dependencies": ["log: product_id"], "arguments": {"name": "MODE(log.product_id)", "base_features": ["log: product_id"], "relationship_path": [{"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Mode", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "log: product_id": {"type": "IdentityFeature", "dependencies": [], "arguments": {"name": "product_id", "variable_id": "product_id", "entity_id": "log"}}, "sessions: MODE(log.products.department)": {"type": "AggregationFeature", "dependencies": ["log: products.department"], "arguments": {"name": "MODE(log.products.department)", "base_features": ["log: products.department"], "relationship_path": [{"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Mode", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "log: products.department": {"type": "DirectFeature", "dependencies": ["products: department"], "arguments": {"name": "products.department", "base_feature": "products: department", "relationship": {"parent_entity_id": "products", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "product_id"}}}, "products: department": {"type": "IdentityFeature", "dependencies": [], "arguments": {"name": "department", "variable_id": "department", "entity_id": "products"}}, "sessions: MODE(log.subregioncode)": {"type": "AggregationFeature", "dependencies": ["log: subregioncode"], "arguments": {"name": "MODE(log.subregioncode)", "base_features": ["log: subregioncode"], "relationship_path": [{"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Mode", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "log: subregioncode": {"type": "IdentityFeature", "dependencies": [], "arguments": {"name": "subregioncode", "variable_id": "subregioncode", "entity_id": "log"}}, "sessions: MODE(log.zipcode)": {"type": "AggregationFeature", "dependencies": ["log: zipcode"], "arguments": {"name": "MODE(log.zipcode)", "base_features": ["log: zipcode"], "relationship_path": [{"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Mode", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "log: zipcode": {"type": "IdentityFeature", "dependencies": [], "arguments": {"name": "zipcode", "variable_id": "zipcode", "entity_id": "log"}}, "sessions: NUM_UNIQUE(log.DAY(datetime))": {"type": "AggregationFeature", "dependencies": ["log: DAY(datetime)"], "arguments": {"name": "NUM_UNIQUE(log.DAY(datetime))", "base_features": ["log: DAY(datetime)"], "relationship_path": [{"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "NumUnique", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: NUM_UNIQUE(log.MONTH(datetime))": {"type": "AggregationFeature", "dependencies": ["log: MONTH(datetime)"], "arguments": {"name": "NUM_UNIQUE(log.MONTH(datetime))", "base_features": ["log: MONTH(datetime)"], "relationship_path": [{"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "NumUnique", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: NUM_UNIQUE(log.WEEKDAY(datetime))": {"type": "AggregationFeature", "dependencies": ["log: WEEKDAY(datetime)"], "arguments": {"name": "NUM_UNIQUE(log.WEEKDAY(datetime))", "base_features": ["log: WEEKDAY(datetime)"], "relationship_path": [{"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "NumUnique", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: NUM_UNIQUE(log.YEAR(datetime))": {"type": "AggregationFeature", "dependencies": ["log: YEAR(datetime)"], "arguments": {"name": "NUM_UNIQUE(log.YEAR(datetime))", "base_features": ["log: YEAR(datetime)"], "relationship_path": [{"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "NumUnique", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: NUM_UNIQUE(log.countrycode)": {"type": "AggregationFeature", "dependencies": ["log: countrycode"], "arguments": {"name": "NUM_UNIQUE(log.countrycode)", "base_features": ["log: countrycode"], "relationship_path": [{"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "NumUnique", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: NUM_UNIQUE(log.priority_level)": {"type": "AggregationFeature", "dependencies": ["log: priority_level"], "arguments": {"name": "NUM_UNIQUE(log.priority_level)", "base_features": ["log: priority_level"], "relationship_path": [{"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "NumUnique", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: NUM_UNIQUE(log.product_id)": {"type": "AggregationFeature", "dependencies": ["log: product_id"], "arguments": {"name": "NUM_UNIQUE(log.product_id)", "base_features": ["log: product_id"], "relationship_path": [{"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "NumUnique", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: NUM_UNIQUE(log.products.department)": {"type": "AggregationFeature", "dependencies": ["log: products.department"], "arguments": {"name": "NUM_UNIQUE(log.products.department)", "base_features": ["log: products.department"], "relationship_path": [{"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "NumUnique", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: NUM_UNIQUE(log.subregioncode)": {"type": "AggregationFeature", "dependencies": ["log: subregioncode"], "arguments": {"name": "NUM_UNIQUE(log.subregioncode)", "base_features": ["log: subregioncode"], "relationship_path": [{"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "NumUnique", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: NUM_UNIQUE(log.zipcode)": {"type": "AggregationFeature", "dependencies": ["log: zipcode"], "arguments": {"name": "NUM_UNIQUE(log.zipcode)", "base_features": ["log: zipcode"], "relationship_path": [{"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "NumUnique", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: PERCENT_TRUE(log.purchased)": {"type": "AggregationFeature", "dependencies": ["log: purchased"], "arguments": {"name": "PERCENT_TRUE(log.purchased)", "base_features": ["log: purchased"], "relationship_path": [{"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "PercentTrue", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "log: purchased": {"type": "IdentityFeature", "dependencies": [], "arguments": {"name": "purchased", "variable_id": "purchased", "entity_id": "log"}}, "sessions: SKEW(log.HAVERSINE(latlong, latlong2))": {"type": "AggregationFeature", "dependencies": ["log: HAVERSINE(latlong, latlong2)"], "arguments": {"name": "SKEW(log.HAVERSINE(latlong, latlong2))", "base_features": ["log: HAVERSINE(latlong, latlong2)"], "relationship_path": [{"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Skew", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: SKEW(log.NUM_CHARACTERS(comments))": {"type": "AggregationFeature", "dependencies": ["log: NUM_CHARACTERS(comments)"], "arguments": {"name": "SKEW(log.NUM_CHARACTERS(comments))", "base_features": ["log: NUM_CHARACTERS(comments)"], "relationship_path": [{"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Skew", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: SKEW(log.NUM_WORDS(comments))": {"type": "AggregationFeature", "dependencies": ["log: NUM_WORDS(comments)"], "arguments": {"name": "SKEW(log.NUM_WORDS(comments))", "base_features": ["log: NUM_WORDS(comments)"], "relationship_path": [{"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Skew", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: SKEW(log.products.rating)": {"type": "AggregationFeature", "dependencies": ["log: products.rating"], "arguments": {"name": "SKEW(log.products.rating)", "base_features": ["log: products.rating"], "relationship_path": [{"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Skew", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: SKEW(log.value)": {"type": "AggregationFeature", "dependencies": ["log: value"], "arguments": {"name": "SKEW(log.value)", "base_features": ["log: value"], "relationship_path": [{"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Skew", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: SKEW(log.value_2)": {"type": "AggregationFeature", "dependencies": ["log: value_2"], "arguments": {"name": "SKEW(log.value_2)", "base_features": ["log: value_2"], "relationship_path": [{"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Skew", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: SKEW(log.value_many_nans)": {"type": "AggregationFeature", "dependencies": ["log: value_many_nans"], "arguments": {"name": "SKEW(log.value_many_nans)", "base_features": ["log: value_many_nans"], "relationship_path": [{"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Skew", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: STD(log.HAVERSINE(latlong, latlong2))": {"type": "AggregationFeature", "dependencies": ["log: HAVERSINE(latlong, latlong2)"], "arguments": {"name": "STD(log.HAVERSINE(latlong, latlong2))", "base_features": ["log: HAVERSINE(latlong, latlong2)"], "relationship_path": [{"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Std", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: STD(log.NUM_CHARACTERS(comments))": {"type": "AggregationFeature", "dependencies": ["log: NUM_CHARACTERS(comments)"], "arguments": {"name": "STD(log.NUM_CHARACTERS(comments))", "base_features": ["log: NUM_CHARACTERS(comments)"], "relationship_path": [{"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Std", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: STD(log.NUM_WORDS(comments))": {"type": "AggregationFeature", "dependencies": ["log: NUM_WORDS(comments)"], "arguments": {"name": "STD(log.NUM_WORDS(comments))", "base_features": ["log: NUM_WORDS(comments)"], "relationship_path": [{"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Std", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: STD(log.products.rating)": {"type": "AggregationFeature", "dependencies": ["log: products.rating"], "arguments": {"name": "STD(log.products.rating)", "base_features": ["log: products.rating"], "relationship_path": [{"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Std", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: STD(log.value)": {"type": "AggregationFeature", "dependencies": ["log: value"], "arguments": {"name": "STD(log.value)", "base_features": ["log: value"], "relationship_path": [{"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Std", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: STD(log.value_2)": {"type": "AggregationFeature", "dependencies": ["log: value_2"], "arguments": {"name": "STD(log.value_2)", "base_features": ["log: value_2"], "relationship_path": [{"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Std", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: STD(log.value_many_nans)": {"type": "AggregationFeature", "dependencies": ["log: value_many_nans"], "arguments": {"name": "STD(log.value_many_nans)", "base_features": ["log: value_many_nans"], "relationship_path": [{"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Std", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: SUM(log.HAVERSINE(latlong, latlong2))": {"type": "AggregationFeature", "dependencies": ["log: HAVERSINE(latlong, latlong2)"], "arguments": {"name": "SUM(log.HAVERSINE(latlong, latlong2))", "base_features": ["log: HAVERSINE(latlong, latlong2)"], "relationship_path": [{"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Sum", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: SUM(log.NUM_CHARACTERS(comments))": {"type": "AggregationFeature", "dependencies": ["log: NUM_CHARACTERS(comments)"], "arguments": {"name": "SUM(log.NUM_CHARACTERS(comments))", "base_features": ["log: NUM_CHARACTERS(comments)"], "relationship_path": [{"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Sum", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: SUM(log.NUM_WORDS(comments))": {"type": "AggregationFeature", "dependencies": ["log: NUM_WORDS(comments)"], "arguments": {"name": "SUM(log.NUM_WORDS(comments))", "base_features": ["log: NUM_WORDS(comments)"], "relationship_path": [{"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Sum", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: SUM(log.products.rating)": {"type": "AggregationFeature", "dependencies": ["log: products.rating"], "arguments": {"name": "SUM(log.products.rating)", "base_features": ["log: products.rating"], "relationship_path": [{"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Sum", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: SUM(log.value)": {"type": "AggregationFeature", "dependencies": ["log: value"], "arguments": {"name": "SUM(log.value)", "base_features": ["log: value"], "relationship_path": [{"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Sum", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: SUM(log.value_2)": {"type": "AggregationFeature", "dependencies": ["log: value_2"], "arguments": {"name": "SUM(log.value_2)", "base_features": ["log: value_2"], "relationship_path": [{"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Sum", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: SUM(log.value_many_nans)": {"type": "AggregationFeature", "dependencies": ["log: value_many_nans"], "arguments": {"name": "SUM(log.value_many_nans)", "base_features": ["log: value_many_nans"], "relationship_path": [{"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Sum", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: customer_id": {"type": "IdentityFeature", "dependencies": [], "arguments": {"name": "customer_id", "variable_id": "customer_id", "entity_id": "sessions"}}, "sessions: customers.COUNT(log)": {"type": "DirectFeature", "dependencies": ["customers: COUNT(log)"], "arguments": {"name": "customers.COUNT(log)", "base_feature": "customers: COUNT(log)", "relationship": {"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}}}, "customers: COUNT(log)": {"type": "AggregationFeature", "dependencies": ["log: id"], "arguments": {"name": "COUNT(log)", "base_features": ["log: id"], "relationship_path": [{"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}, {"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Count", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: customers.COUNT(sessions)": {"type": "DirectFeature", "dependencies": ["customers: COUNT(sessions)"], "arguments": {"name": "customers.COUNT(sessions)", "base_feature": "customers: COUNT(sessions)", "relationship": {"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}}}, "customers: COUNT(sessions)": {"type": "AggregationFeature", "dependencies": ["sessions: id"], "arguments": {"name": "COUNT(sessions)", "base_features": ["sessions: id"], "relationship_path": [{"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}], "primitive": {"type": "Count", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: id": {"type": "IdentityFeature", "dependencies": [], "arguments": {"name": "id", "variable_id": "id", "entity_id": "sessions"}}, "sessions: customers.DAY(cancel_date)": {"type": "DirectFeature", "dependencies": ["customers: DAY(cancel_date)"], "arguments": {"name": "customers.DAY(cancel_date)", "base_feature": "customers: DAY(cancel_date)", "relationship": {"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}}}, "customers: DAY(cancel_date)": {"type": "TransformFeature", "dependencies": ["customers: cancel_date"], "arguments": {"name": "DAY(cancel_date)", "base_features": ["customers: cancel_date"], "primitive": {"type": "Day", "module": "featuretools.primitives.standard.transform_primitive", "arguments": {}}}}, "customers: cancel_date": {"type": "IdentityFeature", "dependencies": [], "arguments": {"name": "cancel_date", "variable_id": "cancel_date", "entity_id": "customers"}}, "sessions: customers.DAY(date_of_birth)": {"type": "DirectFeature", "dependencies": ["customers: DAY(date_of_birth)"], "arguments": {"name": "customers.DAY(date_of_birth)", "base_feature": "customers: DAY(date_of_birth)", "relationship": {"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}}}, "customers: DAY(date_of_birth)": {"type": "TransformFeature", "dependencies": ["customers: date_of_birth"], "arguments": {"name": "DAY(date_of_birth)", "base_features": ["customers: date_of_birth"], "primitive": {"type": "Day", "module": "featuretools.primitives.standard.transform_primitive", "arguments": {}}}}, "customers: date_of_birth": {"type": "IdentityFeature", "dependencies": [], "arguments": {"name": "date_of_birth", "variable_id": "date_of_birth", "entity_id": "customers"}}, "sessions: customers.DAY(signup_date)": {"type": "DirectFeature", "dependencies": ["customers: DAY(signup_date)"], "arguments": {"name": "customers.DAY(signup_date)", "base_feature": "customers: DAY(signup_date)", "relationship": {"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}}}, "customers: DAY(signup_date)": {"type": "TransformFeature", "dependencies": ["customers: signup_date"], "arguments": {"name": "DAY(signup_date)", "base_features": ["customers: signup_date"], "primitive": {"type": "Day", "module": "featuretools.primitives.standard.transform_primitive", "arguments": {}}}}, "customers: signup_date": {"type": "IdentityFeature", "dependencies": [], "arguments": {"name": "signup_date", "variable_id": "signup_date", "entity_id": "customers"}}, "sessions: customers.DAY(upgrade_date)": {"type": "DirectFeature", "dependencies": ["customers: DAY(upgrade_date)"], "arguments": {"name": "customers.DAY(upgrade_date)", "base_feature": "customers: DAY(upgrade_date)", "relationship": {"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}}}, "customers: DAY(upgrade_date)": {"type": "TransformFeature", "dependencies": ["customers: upgrade_date"], "arguments": {"name": "DAY(upgrade_date)", "base_features": ["customers: upgrade_date"], "primitive": {"type": "Day", "module": "featuretools.primitives.standard.transform_primitive", "arguments": {}}}}, "customers: upgrade_date": {"type": "IdentityFeature", "dependencies": [], "arguments": {"name": "upgrade_date", "variable_id": "upgrade_date", "entity_id": "customers"}}, "sessions: customers.MAX(log.value)": {"type": "DirectFeature", "dependencies": ["customers: MAX(log.value)"], "arguments": {"name": "customers.MAX(log.value)", "base_feature": "customers: MAX(log.value)", "relationship": {"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}}}, "customers: MAX(log.value)": {"type": "AggregationFeature", "dependencies": ["log: value"], "arguments": {"name": "MAX(log.value)", "base_features": ["log: value"], "relationship_path": [{"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}, {"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Max", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: customers.MAX(log.value_2)": {"type": "DirectFeature", "dependencies": ["customers: MAX(log.value_2)"], "arguments": {"name": "customers.MAX(log.value_2)", "base_feature": "customers: MAX(log.value_2)", "relationship": {"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}}}, "customers: MAX(log.value_2)": {"type": "AggregationFeature", "dependencies": ["log: value_2"], "arguments": {"name": "MAX(log.value_2)", "base_features": ["log: value_2"], "relationship_path": [{"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}, {"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Max", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: customers.MAX(log.value_many_nans)": {"type": "DirectFeature", "dependencies": ["customers: MAX(log.value_many_nans)"], "arguments": {"name": "customers.MAX(log.value_many_nans)", "base_feature": "customers: MAX(log.value_many_nans)", "relationship": {"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}}}, "customers: MAX(log.value_many_nans)": {"type": "AggregationFeature", "dependencies": ["log: value_many_nans"], "arguments": {"name": "MAX(log.value_many_nans)", "base_features": ["log: value_many_nans"], "relationship_path": [{"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}, {"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Max", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: customers.MEAN(log.value)": {"type": "DirectFeature", "dependencies": ["customers: MEAN(log.value)"], "arguments": {"name": "customers.MEAN(log.value)", "base_feature": "customers: MEAN(log.value)", "relationship": {"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}}}, "customers: MEAN(log.value)": {"type": "AggregationFeature", "dependencies": ["log: value"], "arguments": {"name": "MEAN(log.value)", "base_features": ["log: value"], "relationship_path": [{"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}, {"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Mean", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: customers.MEAN(log.value_2)": {"type": "DirectFeature", "dependencies": ["customers: MEAN(log.value_2)"], "arguments": {"name": "customers.MEAN(log.value_2)", "base_feature": "customers: MEAN(log.value_2)", "relationship": {"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}}}, "customers: MEAN(log.value_2)": {"type": "AggregationFeature", "dependencies": ["log: value_2"], "arguments": {"name": "MEAN(log.value_2)", "base_features": ["log: value_2"], "relationship_path": [{"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}, {"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Mean", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: customers.MEAN(log.value_many_nans)": {"type": "DirectFeature", "dependencies": ["customers: MEAN(log.value_many_nans)"], "arguments": {"name": "customers.MEAN(log.value_many_nans)", "base_feature": "customers: MEAN(log.value_many_nans)", "relationship": {"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}}}, "customers: MEAN(log.value_many_nans)": {"type": "AggregationFeature", "dependencies": ["log: value_many_nans"], "arguments": {"name": "MEAN(log.value_many_nans)", "base_features": ["log: value_many_nans"], "relationship_path": [{"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}, {"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Mean", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: customers.MIN(log.value)": {"type": "DirectFeature", "dependencies": ["customers: MIN(log.value)"], "arguments": {"name": "customers.MIN(log.value)", "base_feature": "customers: MIN(log.value)", "relationship": {"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}}}, "customers: MIN(log.value)": {"type": "AggregationFeature", "dependencies": ["log: value"], "arguments": {"name": "MIN(log.value)", "base_features": ["log: value"], "relationship_path": [{"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}, {"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Min", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: customers.MIN(log.value_2)": {"type": "DirectFeature", "dependencies": ["customers: MIN(log.value_2)"], "arguments": {"name": "customers.MIN(log.value_2)", "base_feature": "customers: MIN(log.value_2)", "relationship": {"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}}}, "customers: MIN(log.value_2)": {"type": "AggregationFeature", "dependencies": ["log: value_2"], "arguments": {"name": "MIN(log.value_2)", "base_features": ["log: value_2"], "relationship_path": [{"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}, {"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Min", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: customers.MIN(log.value_many_nans)": {"type": "DirectFeature", "dependencies": ["customers: MIN(log.value_many_nans)"], "arguments": {"name": "customers.MIN(log.value_many_nans)", "base_feature": "customers: MIN(log.value_many_nans)", "relationship": {"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}}}, "customers: MIN(log.value_many_nans)": {"type": "AggregationFeature", "dependencies": ["log: value_many_nans"], "arguments": {"name": "MIN(log.value_many_nans)", "base_features": ["log: value_many_nans"], "relationship_path": [{"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}, {"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Min", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: customers.MODE(log.countrycode)": {"type": "DirectFeature", "dependencies": ["customers: MODE(log.countrycode)"], "arguments": {"name": "customers.MODE(log.countrycode)", "base_feature": "customers: MODE(log.countrycode)", "relationship": {"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}}}, "customers: MODE(log.countrycode)": {"type": "AggregationFeature", "dependencies": ["log: countrycode"], "arguments": {"name": "MODE(log.countrycode)", "base_features": ["log: countrycode"], "relationship_path": [{"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}, {"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Mode", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: customers.MODE(log.priority_level)": {"type": "DirectFeature", "dependencies": ["customers: MODE(log.priority_level)"], "arguments": {"name": "customers.MODE(log.priority_level)", "base_feature": "customers: MODE(log.priority_level)", "relationship": {"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}}}, "customers: MODE(log.priority_level)": {"type": "AggregationFeature", "dependencies": ["log: priority_level"], "arguments": {"name": "MODE(log.priority_level)", "base_features": ["log: priority_level"], "relationship_path": [{"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}, {"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Mode", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: customers.MODE(log.product_id)": {"type": "DirectFeature", "dependencies": ["customers: MODE(log.product_id)"], "arguments": {"name": "customers.MODE(log.product_id)", "base_feature": "customers: MODE(log.product_id)", "relationship": {"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}}}, "customers: MODE(log.product_id)": {"type": "AggregationFeature", "dependencies": ["log: product_id"], "arguments": {"name": "MODE(log.product_id)", "base_features": ["log: product_id"], "relationship_path": [{"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}, {"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Mode", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: customers.MODE(log.subregioncode)": {"type": "DirectFeature", "dependencies": ["customers: MODE(log.subregioncode)"], "arguments": {"name": "customers.MODE(log.subregioncode)", "base_feature": "customers: MODE(log.subregioncode)", "relationship": {"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}}}, "customers: MODE(log.subregioncode)": {"type": "AggregationFeature", "dependencies": ["log: subregioncode"], "arguments": {"name": "MODE(log.subregioncode)", "base_features": ["log: subregioncode"], "relationship_path": [{"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}, {"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Mode", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: customers.MODE(log.zipcode)": {"type": "DirectFeature", "dependencies": ["customers: MODE(log.zipcode)"], "arguments": {"name": "customers.MODE(log.zipcode)", "base_feature": "customers: MODE(log.zipcode)", "relationship": {"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}}}, "customers: MODE(log.zipcode)": {"type": "AggregationFeature", "dependencies": ["log: zipcode"], "arguments": {"name": "MODE(log.zipcode)", "base_features": ["log: zipcode"], "relationship_path": [{"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}, {"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Mode", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: customers.MODE(sessions.device_name)": {"type": "DirectFeature", "dependencies": ["customers: MODE(sessions.device_name)"], "arguments": {"name": "customers.MODE(sessions.device_name)", "base_feature": "customers: MODE(sessions.device_name)", "relationship": {"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}}}, "customers: MODE(sessions.device_name)": {"type": "AggregationFeature", "dependencies": ["sessions: device_name"], "arguments": {"name": "MODE(sessions.device_name)", "base_features": ["sessions: device_name"], "relationship_path": [{"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}], "primitive": {"type": "Mode", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: device_name": {"type": "IdentityFeature", "dependencies": [], "arguments": {"name": "device_name", "variable_id": "device_name", "entity_id": "sessions"}}, "sessions: customers.MODE(sessions.device_type)": {"type": "DirectFeature", "dependencies": ["customers: MODE(sessions.device_type)"], "arguments": {"name": "customers.MODE(sessions.device_type)", "base_feature": "customers: MODE(sessions.device_type)", "relationship": {"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}}}, "customers: MODE(sessions.device_type)": {"type": "AggregationFeature", "dependencies": ["sessions: device_type"], "arguments": {"name": "MODE(sessions.device_type)", "base_features": ["sessions: device_type"], "relationship_path": [{"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}], "primitive": {"type": "Mode", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: device_type": {"type": "IdentityFeature", "dependencies": [], "arguments": {"name": "device_type", "variable_id": "device_type", "entity_id": "sessions"}}, "sessions: customers.MONTH(cancel_date)": {"type": "DirectFeature", "dependencies": ["customers: MONTH(cancel_date)"], "arguments": {"name": "customers.MONTH(cancel_date)", "base_feature": "customers: MONTH(cancel_date)", "relationship": {"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}}}, "customers: MONTH(cancel_date)": {"type": "TransformFeature", "dependencies": ["customers: cancel_date"], "arguments": {"name": "MONTH(cancel_date)", "base_features": ["customers: cancel_date"], "primitive": {"type": "Month", "module": "featuretools.primitives.standard.transform_primitive", "arguments": {}}}}, "sessions: customers.MONTH(date_of_birth)": {"type": "DirectFeature", "dependencies": ["customers: MONTH(date_of_birth)"], "arguments": {"name": "customers.MONTH(date_of_birth)", "base_feature": "customers: MONTH(date_of_birth)", "relationship": {"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}}}, "customers: MONTH(date_of_birth)": {"type": "TransformFeature", "dependencies": ["customers: date_of_birth"], "arguments": {"name": "MONTH(date_of_birth)", "base_features": ["customers: date_of_birth"], "primitive": {"type": "Month", "module": "featuretools.primitives.standard.transform_primitive", "arguments": {}}}}, "sessions: customers.MONTH(signup_date)": {"type": "DirectFeature", "dependencies": ["customers: MONTH(signup_date)"], "arguments": {"name": "customers.MONTH(signup_date)", "base_feature": "customers: MONTH(signup_date)", "relationship": {"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}}}, "customers: MONTH(signup_date)": {"type": "TransformFeature", "dependencies": ["customers: signup_date"], "arguments": {"name": "MONTH(signup_date)", "base_features": ["customers: signup_date"], "primitive": {"type": "Month", "module": "featuretools.primitives.standard.transform_primitive", "arguments": {}}}}, "sessions: customers.MONTH(upgrade_date)": {"type": "DirectFeature", "dependencies": ["customers: MONTH(upgrade_date)"], "arguments": {"name": "customers.MONTH(upgrade_date)", "base_feature": "customers: MONTH(upgrade_date)", "relationship": {"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}}}, "customers: MONTH(upgrade_date)": {"type": "TransformFeature", "dependencies": ["customers: upgrade_date"], "arguments": {"name": "MONTH(upgrade_date)", "base_features": ["customers: upgrade_date"], "primitive": {"type": "Month", "module": "featuretools.primitives.standard.transform_primitive", "arguments": {}}}}, "sessions: customers.NUM_CHARACTERS(favorite_quote)": {"type": "DirectFeature", "dependencies": ["customers: NUM_CHARACTERS(favorite_quote)"], "arguments": {"name": "customers.NUM_CHARACTERS(favorite_quote)", "base_feature": "customers: NUM_CHARACTERS(favorite_quote)", "relationship": {"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}}}, "customers: NUM_CHARACTERS(favorite_quote)": {"type": "TransformFeature", "dependencies": ["customers: favorite_quote"], "arguments": {"name": "NUM_CHARACTERS(favorite_quote)", "base_features": ["customers: favorite_quote"], "primitive": {"type": "NumCharacters", "module": "featuretools.primitives.standard.transform_primitive", "arguments": {}}}}, "customers: favorite_quote": {"type": "IdentityFeature", "dependencies": [], "arguments": {"name": "favorite_quote", "variable_id": "favorite_quote", "entity_id": "customers"}}, "sessions: customers.NUM_UNIQUE(log.countrycode)": {"type": "DirectFeature", "dependencies": ["customers: NUM_UNIQUE(log.countrycode)"], "arguments": {"name": "customers.NUM_UNIQUE(log.countrycode)", "base_feature": "customers: NUM_UNIQUE(log.countrycode)", "relationship": {"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}}}, "customers: NUM_UNIQUE(log.countrycode)": {"type": "AggregationFeature", "dependencies": ["log: countrycode"], "arguments": {"name": "NUM_UNIQUE(log.countrycode)", "base_features": ["log: countrycode"], "relationship_path": [{"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}, {"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "NumUnique", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: customers.NUM_UNIQUE(log.priority_level)": {"type": "DirectFeature", "dependencies": ["customers: NUM_UNIQUE(log.priority_level)"], "arguments": {"name": "customers.NUM_UNIQUE(log.priority_level)", "base_feature": "customers: NUM_UNIQUE(log.priority_level)", "relationship": {"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}}}, "customers: NUM_UNIQUE(log.priority_level)": {"type": "AggregationFeature", "dependencies": ["log: priority_level"], "arguments": {"name": "NUM_UNIQUE(log.priority_level)", "base_features": ["log: priority_level"], "relationship_path": [{"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}, {"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "NumUnique", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: customers.NUM_UNIQUE(log.product_id)": {"type": "DirectFeature", "dependencies": ["customers: NUM_UNIQUE(log.product_id)"], "arguments": {"name": "customers.NUM_UNIQUE(log.product_id)", "base_feature": "customers: NUM_UNIQUE(log.product_id)", "relationship": {"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}}}, "customers: NUM_UNIQUE(log.product_id)": {"type": "AggregationFeature", "dependencies": ["log: product_id"], "arguments": {"name": "NUM_UNIQUE(log.product_id)", "base_features": ["log: product_id"], "relationship_path": [{"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}, {"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "NumUnique", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: customers.NUM_UNIQUE(log.subregioncode)": {"type": "DirectFeature", "dependencies": ["customers: NUM_UNIQUE(log.subregioncode)"], "arguments": {"name": "customers.NUM_UNIQUE(log.subregioncode)", "base_feature": "customers: NUM_UNIQUE(log.subregioncode)", "relationship": {"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}}}, "customers: NUM_UNIQUE(log.subregioncode)": {"type": "AggregationFeature", "dependencies": ["log: subregioncode"], "arguments": {"name": "NUM_UNIQUE(log.subregioncode)", "base_features": ["log: subregioncode"], "relationship_path": [{"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}, {"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "NumUnique", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: customers.NUM_UNIQUE(log.zipcode)": {"type": "DirectFeature", "dependencies": ["customers: NUM_UNIQUE(log.zipcode)"], "arguments": {"name": "customers.NUM_UNIQUE(log.zipcode)", "base_feature": "customers: NUM_UNIQUE(log.zipcode)", "relationship": {"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}}}, "customers: NUM_UNIQUE(log.zipcode)": {"type": "AggregationFeature", "dependencies": ["log: zipcode"], "arguments": {"name": "NUM_UNIQUE(log.zipcode)", "base_features": ["log: zipcode"], "relationship_path": [{"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}, {"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "NumUnique", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: customers.NUM_UNIQUE(sessions.device_name)": {"type": "DirectFeature", "dependencies": ["customers: NUM_UNIQUE(sessions.device_name)"], "arguments": {"name": "customers.NUM_UNIQUE(sessions.device_name)", "base_feature": "customers: NUM_UNIQUE(sessions.device_name)", "relationship": {"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}}}, "customers: NUM_UNIQUE(sessions.device_name)": {"type": "AggregationFeature", "dependencies": ["sessions: device_name"], "arguments": {"name": "NUM_UNIQUE(sessions.device_name)", "base_features": ["sessions: device_name"], "relationship_path": [{"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}], "primitive": {"type": "NumUnique", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: customers.NUM_UNIQUE(sessions.device_type)": {"type": "DirectFeature", "dependencies": ["customers: NUM_UNIQUE(sessions.device_type)"], "arguments": {"name": "customers.NUM_UNIQUE(sessions.device_type)", "base_feature": "customers: NUM_UNIQUE(sessions.device_type)", "relationship": {"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}}}, "customers: NUM_UNIQUE(sessions.device_type)": {"type": "AggregationFeature", "dependencies": ["sessions: device_type"], "arguments": {"name": "NUM_UNIQUE(sessions.device_type)", "base_features": ["sessions: device_type"], "relationship_path": [{"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}], "primitive": {"type": "NumUnique", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: customers.NUM_WORDS(favorite_quote)": {"type": "DirectFeature", "dependencies": ["customers: NUM_WORDS(favorite_quote)"], "arguments": {"name": "customers.NUM_WORDS(favorite_quote)", "base_feature": "customers: NUM_WORDS(favorite_quote)", "relationship": {"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}}}, "customers: NUM_WORDS(favorite_quote)": {"type": "TransformFeature", "dependencies": ["customers: favorite_quote"], "arguments": {"name": "NUM_WORDS(favorite_quote)", "base_features": ["customers: favorite_quote"], "primitive": {"type": "NumWords", "module": "featuretools.primitives.standard.transform_primitive", "arguments": {}}}}, "sessions: customers.PERCENT_TRUE(log.purchased)": {"type": "DirectFeature", "dependencies": ["customers: PERCENT_TRUE(log.purchased)"], "arguments": {"name": "customers.PERCENT_TRUE(log.purchased)", "base_feature": "customers: PERCENT_TRUE(log.purchased)", "relationship": {"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}}}, "customers: PERCENT_TRUE(log.purchased)": {"type": "AggregationFeature", "dependencies": ["log: purchased"], "arguments": {"name": "PERCENT_TRUE(log.purchased)", "base_features": ["log: purchased"], "relationship_path": [{"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}, {"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "PercentTrue", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: customers.SKEW(log.value)": {"type": "DirectFeature", "dependencies": ["customers: SKEW(log.value)"], "arguments": {"name": "customers.SKEW(log.value)", "base_feature": "customers: SKEW(log.value)", "relationship": {"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}}}, "customers: SKEW(log.value)": {"type": "AggregationFeature", "dependencies": ["log: value"], "arguments": {"name": "SKEW(log.value)", "base_features": ["log: value"], "relationship_path": [{"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}, {"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Skew", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: customers.SKEW(log.value_2)": {"type": "DirectFeature", "dependencies": ["customers: SKEW(log.value_2)"], "arguments": {"name": "customers.SKEW(log.value_2)", "base_feature": "customers: SKEW(log.value_2)", "relationship": {"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}}}, "customers: SKEW(log.value_2)": {"type": "AggregationFeature", "dependencies": ["log: value_2"], "arguments": {"name": "SKEW(log.value_2)", "base_features": ["log: value_2"], "relationship_path": [{"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}, {"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Skew", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: customers.SKEW(log.value_many_nans)": {"type": "DirectFeature", "dependencies": ["customers: SKEW(log.value_many_nans)"], "arguments": {"name": "customers.SKEW(log.value_many_nans)", "base_feature": "customers: SKEW(log.value_many_nans)", "relationship": {"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}}}, "customers: SKEW(log.value_many_nans)": {"type": "AggregationFeature", "dependencies": ["log: value_many_nans"], "arguments": {"name": "SKEW(log.value_many_nans)", "base_features": ["log: value_many_nans"], "relationship_path": [{"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}, {"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Skew", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: customers.STD(log.value)": {"type": "DirectFeature", "dependencies": ["customers: STD(log.value)"], "arguments": {"name": "customers.STD(log.value)", "base_feature": "customers: STD(log.value)", "relationship": {"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}}}, "customers: STD(log.value)": {"type": "AggregationFeature", "dependencies": ["log: value"], "arguments": {"name": "STD(log.value)", "base_features": ["log: value"], "relationship_path": [{"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}, {"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Std", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: customers.STD(log.value_2)": {"type": "DirectFeature", "dependencies": ["customers: STD(log.value_2)"], "arguments": {"name": "customers.STD(log.value_2)", "base_feature": "customers: STD(log.value_2)", "relationship": {"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}}}, "customers: STD(log.value_2)": {"type": "AggregationFeature", "dependencies": ["log: value_2"], "arguments": {"name": "STD(log.value_2)", "base_features": ["log: value_2"], "relationship_path": [{"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}, {"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Std", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: customers.STD(log.value_many_nans)": {"type": "DirectFeature", "dependencies": ["customers: STD(log.value_many_nans)"], "arguments": {"name": "customers.STD(log.value_many_nans)", "base_feature": "customers: STD(log.value_many_nans)", "relationship": {"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}}}, "customers: STD(log.value_many_nans)": {"type": "AggregationFeature", "dependencies": ["log: value_many_nans"], "arguments": {"name": "STD(log.value_many_nans)", "base_features": ["log: value_many_nans"], "relationship_path": [{"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}, {"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Std", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: customers.SUM(log.value)": {"type": "DirectFeature", "dependencies": ["customers: SUM(log.value)"], "arguments": {"name": "customers.SUM(log.value)", "base_feature": "customers: SUM(log.value)", "relationship": {"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}}}, "customers: SUM(log.value)": {"type": "AggregationFeature", "dependencies": ["log: value"], "arguments": {"name": "SUM(log.value)", "base_features": ["log: value"], "relationship_path": [{"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}, {"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Sum", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: customers.SUM(log.value_2)": {"type": "DirectFeature", "dependencies": ["customers: SUM(log.value_2)"], "arguments": {"name": "customers.SUM(log.value_2)", "base_feature": "customers: SUM(log.value_2)", "relationship": {"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}}}, "customers: SUM(log.value_2)": {"type": "AggregationFeature", "dependencies": ["log: value_2"], "arguments": {"name": "SUM(log.value_2)", "base_features": ["log: value_2"], "relationship_path": [{"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}, {"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Sum", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: customers.SUM(log.value_many_nans)": {"type": "DirectFeature", "dependencies": ["customers: SUM(log.value_many_nans)"], "arguments": {"name": "customers.SUM(log.value_many_nans)", "base_feature": "customers: SUM(log.value_many_nans)", "relationship": {"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}}}, "customers: SUM(log.value_many_nans)": {"type": "AggregationFeature", "dependencies": ["log: value_many_nans"], "arguments": {"name": "SUM(log.value_many_nans)", "base_features": ["log: value_many_nans"], "relationship_path": [{"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}, {"parent_entity_id": "sessions", "child_entity_id": "log", "parent_variable_id": "id", "child_variable_id": "session_id"}], "primitive": {"type": "Sum", "module": "featuretools.primitives.standard.aggregation_primitives", "arguments": {}}, "where": null, "use_previous": null}}, "sessions: customers.WEEKDAY(cancel_date)": {"type": "DirectFeature", "dependencies": ["customers: WEEKDAY(cancel_date)"], "arguments": {"name": "customers.WEEKDAY(cancel_date)", "base_feature": "customers: WEEKDAY(cancel_date)", "relationship": {"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}}}, "customers: WEEKDAY(cancel_date)": {"type": "TransformFeature", "dependencies": ["customers: cancel_date"], "arguments": {"name": "WEEKDAY(cancel_date)", "base_features": ["customers: cancel_date"], "primitive": {"type": "Weekday", "module": "featuretools.primitives.standard.transform_primitive", "arguments": {}}}}, "sessions: customers.WEEKDAY(date_of_birth)": {"type": "DirectFeature", "dependencies": ["customers: WEEKDAY(date_of_birth)"], "arguments": {"name": "customers.WEEKDAY(date_of_birth)", "base_feature": "customers: WEEKDAY(date_of_birth)", "relationship": {"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}}}, "customers: WEEKDAY(date_of_birth)": {"type": "TransformFeature", "dependencies": ["customers: date_of_birth"], "arguments": {"name": "WEEKDAY(date_of_birth)", "base_features": ["customers: date_of_birth"], "primitive": {"type": "Weekday", "module": "featuretools.primitives.standard.transform_primitive", "arguments": {}}}}, "sessions: customers.WEEKDAY(signup_date)": {"type": "DirectFeature", "dependencies": ["customers: WEEKDAY(signup_date)"], "arguments": {"name": "customers.WEEKDAY(signup_date)", "base_feature": "customers: WEEKDAY(signup_date)", "relationship": {"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}}}, "customers: WEEKDAY(signup_date)": {"type": "TransformFeature", "dependencies": ["customers: signup_date"], "arguments": {"name": "WEEKDAY(signup_date)", "base_features": ["customers: signup_date"], "primitive": {"type": "Weekday", "module": "featuretools.primitives.standard.transform_primitive", "arguments": {}}}}, "sessions: customers.WEEKDAY(upgrade_date)": {"type": "DirectFeature", "dependencies": ["customers: WEEKDAY(upgrade_date)"], "arguments": {"name": "customers.WEEKDAY(upgrade_date)", "base_feature": "customers: WEEKDAY(upgrade_date)", "relationship": {"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}}}, "customers: WEEKDAY(upgrade_date)": {"type": "TransformFeature", "dependencies": ["customers: upgrade_date"], "arguments": {"name": "WEEKDAY(upgrade_date)", "base_features": ["customers: upgrade_date"], "primitive": {"type": "Weekday", "module": "featuretools.primitives.standard.transform_primitive", "arguments": {}}}}, "sessions: customers.YEAR(cancel_date)": {"type": "DirectFeature", "dependencies": ["customers: YEAR(cancel_date)"], "arguments": {"name": "customers.YEAR(cancel_date)", "base_feature": "customers: YEAR(cancel_date)", "relationship": {"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}}}, "customers: YEAR(cancel_date)": {"type": "TransformFeature", "dependencies": ["customers: cancel_date"], "arguments": {"name": "YEAR(cancel_date)", "base_features": ["customers: cancel_date"], "primitive": {"type": "Year", "module": "featuretools.primitives.standard.transform_primitive", "arguments": {}}}}, "sessions: customers.YEAR(date_of_birth)": {"type": "DirectFeature", "dependencies": ["customers: YEAR(date_of_birth)"], "arguments": {"name": "customers.YEAR(date_of_birth)", "base_feature": "customers: YEAR(date_of_birth)", "relationship": {"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}}}, "customers: YEAR(date_of_birth)": {"type": "TransformFeature", "dependencies": ["customers: date_of_birth"], "arguments": {"name": "YEAR(date_of_birth)", "base_features": ["customers: date_of_birth"], "primitive": {"type": "Year", "module": "featuretools.primitives.standard.transform_primitive", "arguments": {}}}}, "sessions: customers.YEAR(signup_date)": {"type": "DirectFeature", "dependencies": ["customers: YEAR(signup_date)"], "arguments": {"name": "customers.YEAR(signup_date)", "base_feature": "customers: YEAR(signup_date)", "relationship": {"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}}}, "customers: YEAR(signup_date)": {"type": "TransformFeature", "dependencies": ["customers: signup_date"], "arguments": {"name": "YEAR(signup_date)", "base_features": ["customers: signup_date"], "primitive": {"type": "Year", "module": "featuretools.primitives.standard.transform_primitive", "arguments": {}}}}, "sessions: customers.YEAR(upgrade_date)": {"type": "DirectFeature", "dependencies": ["customers: YEAR(upgrade_date)"], "arguments": {"name": "customers.YEAR(upgrade_date)", "base_feature": "customers: YEAR(upgrade_date)", "relationship": {"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}}}, "customers: YEAR(upgrade_date)": {"type": "TransformFeature", "dependencies": ["customers: upgrade_date"], "arguments": {"name": "YEAR(upgrade_date)", "base_features": ["customers: upgrade_date"], "primitive": {"type": "Year", "module": "featuretools.primitives.standard.transform_primitive", "arguments": {}}}}, "sessions: customers.age": {"type": "DirectFeature", "dependencies": ["customers: age"], "arguments": {"name": "customers.age", "base_feature": "customers: age", "relationship": {"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}}}, "customers: age": {"type": "IdentityFeature", "dependencies": [], "arguments": {"name": "age", "variable_id": "age", "entity_id": "customers"}}, "sessions: customers.cancel_reason": {"type": "DirectFeature", "dependencies": ["customers: cancel_reason"], "arguments": {"name": "customers.cancel_reason", "base_feature": "customers: cancel_reason", "relationship": {"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}}}, "customers: cancel_reason": {"type": "IdentityFeature", "dependencies": [], "arguments": {"name": "cancel_reason", "variable_id": "cancel_reason", "entity_id": "customers"}}, "sessions: customers.cohort": {"type": "DirectFeature", "dependencies": ["customers: cohort"], "arguments": {"name": "customers.cohort", "base_feature": "customers: cohort", "relationship": {"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}}}, "customers: cohort": {"type": "IdentityFeature", "dependencies": [], "arguments": {"name": "cohort", "variable_id": "cohort", "entity_id": "customers"}}, "sessions: customers.cohorts.cohort_name": {"type": "DirectFeature", "dependencies": ["customers: cohorts.cohort_name"], "arguments": {"name": "customers.cohorts.cohort_name", "base_feature": "customers: cohorts.cohort_name", "relationship": {"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}}}, "customers: cohorts.cohort_name": {"type": "DirectFeature", "dependencies": ["cohorts: cohort_name"], "arguments": {"name": "cohorts.cohort_name", "base_feature": "cohorts: cohort_name", "relationship": {"parent_entity_id": "cohorts", "child_entity_id": "customers", "parent_variable_id": "cohort", "child_variable_id": "cohort"}}}, "cohorts: cohort_name": {"type": "IdentityFeature", "dependencies": [], "arguments": {"name": "cohort_name", "variable_id": "cohort_name", "entity_id": "cohorts"}}, "sessions: customers.engagement_level": {"type": "DirectFeature", "dependencies": ["customers: engagement_level"], "arguments": {"name": "customers.engagement_level", "base_feature": "customers: engagement_level", "relationship": {"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}}}, "customers: engagement_level": {"type": "IdentityFeature", "dependencies": [], "arguments": {"name": "engagement_level", "variable_id": "engagement_level", "entity_id": "customers"}}, "sessions: customers.loves_ice_cream": {"type": "DirectFeature", "dependencies": ["customers: loves_ice_cream"], "arguments": {"name": "customers.loves_ice_cream", "base_feature": "customers: loves_ice_cream", "relationship": {"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}}}, "customers: loves_ice_cream": {"type": "IdentityFeature", "dependencies": [], "arguments": {"name": "loves_ice_cream", "variable_id": "loves_ice_cream", "entity_id": "customers"}}, "sessions: customers.r\u00e9gion_id": {"type": "DirectFeature", "dependencies": ["customers: r\u00e9gion_id"], "arguments": {"name": "customers.r\u00e9gion_id", "base_feature": "customers: r\u00e9gion_id", "relationship": {"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}}}, "customers: r\u00e9gion_id": {"type": "IdentityFeature", "dependencies": [], "arguments": {"name": "r\u00e9gion_id", "variable_id": "r\u00e9gion_id", "entity_id": "customers"}}, "sessions: customers.r\u00e9gions.language": {"type": "DirectFeature", "dependencies": ["customers: r\u00e9gions.language"], "arguments": {"name": "customers.r\u00e9gions.language", "base_feature": "customers: r\u00e9gions.language", "relationship": {"parent_entity_id": "customers", "child_entity_id": "sessions", "parent_variable_id": "id", "child_variable_id": "customer_id"}}}, "customers: r\u00e9gions.language": {"type": "DirectFeature", "dependencies": ["r\u00e9gions: language"], "arguments": {"name": "r\u00e9gions.language", "base_feature": "r\u00e9gions: language", "relationship": {"parent_entity_id": "r\u00e9gions", "child_entity_id": "customers", "parent_variable_id": "id", "child_variable_id": "r\u00e9gion_id"}}}, "r\u00e9gions: language": {"type": "IdentityFeature", "dependencies": [], "arguments": {"name": "language", "variable_id": "language", "entity_id": "r\u00e9gions"}}}} \ No newline at end of file diff --git a/test_serialization_data_entityset_schema_5.0.0.tar b/test_serialization_data_entityset_schema_5.0.0.tar deleted file mode 100644 index b4de3157f6e4e3a148cbe077eadbde0af995df57..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 71680 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 From 3b18483a33d338a16ad91e531fcd7201ec905868 Mon Sep 17 00:00:00 2001 From: Gaurav Sheni Date: Fri, 25 Sep 2020 15:41:07 -0400 Subject: [PATCH 13/14] fix based on feedback --- docs/source/changelog.rst | 2 +- featuretools/tests/variables/test_variables.py | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/docs/source/changelog.rst b/docs/source/changelog.rst index 54b14d83ae..8bd3184b7a 100644 --- a/docs/source/changelog.rst +++ b/docs/source/changelog.rst @@ -4,7 +4,7 @@ Changelog --------- **Future Release** .. warning:: - The Text variable type has been deprecated and been replaced with NaturalLanguage. Future releases of Featuretools will not have the Text variable type. + The Text variable type has been deprecated and been replaced with the NaturalLanguage variable type. The Text variable type will be removed in a future release. * Enhancements * Fixes diff --git a/featuretools/tests/variables/test_variables.py b/featuretools/tests/variables/test_variables.py index b8fdbf8040..52acfa8800 100644 --- a/featuretools/tests/variables/test_variables.py +++ b/featuretools/tests/variables/test_variables.py @@ -16,6 +16,7 @@ def test_text_depreciation(): es.entity_from_dataframe(entity_id="test", dataframe=data, index="id", variable_types={"text_column": Text}) es = ft.EntitySet() - with pytest.warns(None): + with pytest.warns(None) as record: es.entity_from_dataframe(entity_id="test", dataframe=data, index="id", variable_types={"text_column": NaturalLanguage}) + assert len(record) == 0 \ No newline at end of file From e1ee121edbaffd7bdeb80d2257a693b88b5be117 Mon Sep 17 00:00:00 2001 From: Gaurav Sheni Date: Fri, 25 Sep 2020 16:25:19 -0400 Subject: [PATCH 14/14] lint --- featuretools/tests/variables/test_variables.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/featuretools/tests/variables/test_variables.py b/featuretools/tests/variables/test_variables.py index 52acfa8800..7937641877 100644 --- a/featuretools/tests/variables/test_variables.py +++ b/featuretools/tests/variables/test_variables.py @@ -19,4 +19,4 @@ def test_text_depreciation(): with pytest.warns(None) as record: es.entity_from_dataframe(entity_id="test", dataframe=data, index="id", variable_types={"text_column": NaturalLanguage}) - assert len(record) == 0 \ No newline at end of file + assert len(record) == 0