def test_make_identity(entityset, backend): f = IdentityFeature(entityset['log']['datetime']) pandas_backend = backend([f]) df = pandas_backend.calculate_all_features(instance_ids=[0], time_last=None) v = df[f.get_name()][0] assert (v == datetime(2011, 4, 9, 10, 30, 0))
def test_override_cmp_from_variable(es): count_lo = IdentityFeature(es['log']['value']) > 1 to_test = [False, True, True] features = [count_lo] pandas_backend = PandasBackend(es, features) df = pandas_backend.calculate_all_features(instance_ids=[0, 1, 2], time_last=None) v = df[count_lo.get_name()].values.tolist() for i, test in enumerate(to_test): assert v[i] == test
def test_integer_time_index_passes_extra_columns(int_es): times = list(range(8, 18)) + list(range(19, 23)) + [25, 24, 23] labels = [False] * 3 + [True] * 2 + [False] * 9 + [False] * 2 + [True] instances = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 16, 15, 14] cutoff_df = pd.DataFrame({'time': times, 'instance_id': instances, 'labels': labels}) cutoff_df = cutoff_df[['time', 'instance_id', 'labels']] property_feature = IdentityFeature(int_es['log']['value']) > 10 fm = calculate_feature_matrix([property_feature], cutoff_time=cutoff_df, cutoff_time_in_index=True) assert (fm[property_feature.get_name()] == fm['labels']).all()