在 featuretools 1.0.0 中将 cutoff_time 传递给 dfs 的正确方法
Proper way to pass cutoff_time to dfs in featuretools 1.0.0
最近我将 featuretools 更新到 v1.0.0 并遇到了以下问题。我有随时间变化的实例,我想为它们构建时间相关的特性。此外,我想保存那些实例的一些历史特征。所以我的截止时间数据集由以下列组成:time, instance_id and feature1, feature2, ..., target
当我尝试 运行 dfs 时,出现错误 'NoneType' object has no attribute 'logical_types'
我发现是内部函数引起的get_ww_types_from_features
它尝试获取截止时间 df 的列类型,假设它具有木制品类型
cutoff_schema = cutoff_time.ww.schema
for column in pass_columns:
logical_types[column] = cutoff_schema.logical_types[column]
semantic_tags[column] = cutoff_schema.semantic_tags[column]
origins[column] = "base"
但最初的截止时间是 pandas DataFrame,我还没有在代码中找到它被翻译成木制品的地方。而且在文档中说可以将截止时间传递为 pandas DataFrame
因此,我的问题是:传递截止时间DataFrame的正确方法是什么(如果是pandas那么代码哪里有错误?)(或者如果没有错误,那么我应该在 dfs 之前在代码中手动将截止时间转换为木材工作吗?)
cutoff_times = pd.DataFrame()
cutoff_times['customer_id'] = [1, 2, 3, 1]
cutoff_times['time'] = pd.to_datetime(['2014-1-1 04:00',
'2014-1-1 05:00',
'2014-1-1 06:00',
'2014-1-1 08:00'])
cutoff_times['label'] = [True, True, False, True]
cutoff_times
fm, features = ft.dfs(entityset=es,`enter code here`
target_dataframe_name='customers',
cutoff_time=cutoff_times,
cutoff_time_in_index=True)
fm
Featuretools 1.0.0 中存在错误,当使用具有附加列(例如标签)的 cutoff_time
的数据框并通过 n_jobs
或 dask_kwargs
选项使用多个工作程序时.这可能是您遇到的问题。此错误已在 Featuretools 1.1.0
中修复
A pandas df 意味着在 1.0.0
中被 cutoff_time
接受
最近我将 featuretools 更新到 v1.0.0 并遇到了以下问题。我有随时间变化的实例,我想为它们构建时间相关的特性。此外,我想保存那些实例的一些历史特征。所以我的截止时间数据集由以下列组成:time, instance_id and feature1, feature2, ..., target
当我尝试 运行 dfs 时,出现错误 'NoneType' object has no attribute 'logical_types'
我发现是内部函数引起的get_ww_types_from_features
它尝试获取截止时间 df 的列类型,假设它具有木制品类型
cutoff_schema = cutoff_time.ww.schema
for column in pass_columns:
logical_types[column] = cutoff_schema.logical_types[column]
semantic_tags[column] = cutoff_schema.semantic_tags[column]
origins[column] = "base"
但最初的截止时间是 pandas DataFrame,我还没有在代码中找到它被翻译成木制品的地方。而且在文档中说可以将截止时间传递为 pandas DataFrame
因此,我的问题是:传递截止时间DataFrame的正确方法是什么(如果是pandas那么代码哪里有错误?)(或者如果没有错误,那么我应该在 dfs 之前在代码中手动将截止时间转换为木材工作吗?)
cutoff_times = pd.DataFrame()
cutoff_times['customer_id'] = [1, 2, 3, 1]
cutoff_times['time'] = pd.to_datetime(['2014-1-1 04:00',
'2014-1-1 05:00',
'2014-1-1 06:00',
'2014-1-1 08:00'])
cutoff_times['label'] = [True, True, False, True]
cutoff_times
fm, features = ft.dfs(entityset=es,`enter code here`
target_dataframe_name='customers',
cutoff_time=cutoff_times,
cutoff_time_in_index=True)
fm
Featuretools 1.0.0 中存在错误,当使用具有附加列(例如标签)的 cutoff_time
的数据框并通过 n_jobs
或 dask_kwargs
选项使用多个工作程序时.这可能是您遇到的问题。此错误已在 Featuretools 1.1.0
A pandas df 意味着在 1.0.0
中被cutoff_time
接受