alteryx / alteryx/featuretools

allow where_primitives to function independently of agg_primitives

未关闭
#1,514 4 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
主要语言
Python
星标
7.7k
派生
915
PR 合并指标
30 天内没有已合并 PR

描述

I am using official prediction of customer churn example from [here](https://github.com/Featuretools/predict-customer-churn/blob/main/churn/3.%20Feature%20Engineering.ipynb)

For quick experimentation, I have added a cell between ```cel 19``` and ```cell 20``` to subset the cutoff_times to include only two msno (IDs). Like so:

```
cutoff_times_=cutoff_times.iloc[[33,34,21,22],:].reset_index(drop=True)

cutoff_times_ = cutoff_times_.rename(columns={'cutoff_time':'time'})
```

Then in cell 20, I notice I don't get where clause features made for all ```set(where_primitives) - set(agg_primitives)``` where primitives. I also get ```warnings.warn(warning_msg, UnusedPrimitiveWarning)``` for all the primitives that are there in the ```where_primitives``` list but not in the ```agg_primitives``` list.

Attaching a few examples (I have changed the max_depth to 10 to make sure that insufficient depth is not the cause):
1.
```
feature_defs,_ = ft.dfs(entityset=es, target_entity='members',
agg_primitives = [],
trans_primitives = ['month'],
cutoff_time_in_index = True,
cutoff_time = cutoff_times_,
where_primitives = ['max'],
max_depth=10, features_only=False)

output:
/home/nitin/miniconda3/envs/featuretools/lib/python3.9/site-packages/featuretools/synthesis/dfs.py:307: UnusedPrimitiveWarning: Some specified primitives were not used during DFS:
where_primitives: ['max']
This may be caused by a using a value of max_depth that is too small, not setting interesting values, or it may indicate no compatible variable types for the primitive were found in the data.
warnings.warn(warning_msg, UnusedPrimitiveWarning)
```
2.
```
feature_defs,_ = ft.dfs(entityset=es, target_entity='members',
agg_primitives = ['sum'],
trans_primitives = ['month'],
cutoff_time_in_index = True,
cutoff_time = cutoff_times_,
where_primitives = ['max','min'],
max_depth=10, features_only=False)
output:
/home/nitin/miniconda3/envs/featuretools/lib/python3.9/site-packages/featuretools/synthesis/dfs.py:307: UnusedPrimitiveWarning: Some specified primitives were not used during DFS:
where_primitives: ['max', 'min']
This may be caused by a using a value of max_depth that is too small, not setting interesting values, or it may indicate no compatible variable types for the primitive were found in the data.
warnings.warn(warning_msg, UnusedPrimitiveWarning)
```
3.
```
feature_defs,_ = ft.dfs(entityset=es, target_entity='members',
agg_primitives = ['sum','min'],
trans_primitives = ['month'],
cutoff_time_in_index = True,
cutoff_time = cutoff_times_,
where_primitives = ['max','min'],
max_depth=10, features_only=False)

output:
/home/nitin/miniconda3/envs/featuretools/lib/python3.9/site-packages/featuretools/synthesis/dfs.py:307: UnusedPrimitiveWarning: Some specified primitives were not used during DFS:
where_primitives: ['max']
This may be caused by a using a value of max_depth that is too small, not setting interesting values, or it may indicate no compatible variable types for the primitive were found in the data.
warnings.warn(warning_msg, UnusedPrimitiveWarning)

```
4.
```
feature_defs,_ = ft.dfs(entityset=es, target_entity='members',
agg_primitives = ['sum','min','max'],
trans_primitives = ['month'],
cutoff_time_in_index = True,
cutoff_time = cutoff_times_,
where_primitives = ['max','min','sum','std'],
max_depth=10, features_only=False)
output:
/home/nitin/miniconda3/envs/featuretools/lib/python3.9/site-packages/featuretools/synthesis/dfs.py:307: UnusedPrimitiveWarning: Some specified primitives were not used during DFS:
where_primitives: ['std']
This may be caused by a using a value of max_depth that is too small, not setting interesting values, or it may indicate no compatible variable types for the primitive were found in the data.
warnings.warn(warning_msg, UnusedPrimitiveWarning)
```

Featuretools version: 0.25.0
Featuretools installation directory: /home/nitin/miniconda3/envs/featuretools/lib/python3.9/site-packages/featuretools

SYSTEM INFO
-----------
python: 3.9.4.final.0
python-bits: 64
OS: Linux
OS-release: 5.4.0-74-generic
machine: x86_64
processor: x86_64
byteorder: little
LC_ALL: None
LANG: en_IN
LOCALE: en_IN.ISO8859-1

INSTALLED VERSIONS
------------------
numpy: 1.20.3
pandas: 1.2.4
tqdm: 4.61.1
PyYAML: 5.4.1
cloudpickle: 1.6.0
dask: 2021.6.0
distributed: 2021.6.0
psutil: 5.8.0
pip: 21.1.2
setuptools: 49.6.0.post20210108

贡献指南

打开贡献指南

评估

这个 Issue 还没有评估数据。

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。