发行说明#
v1.31.0 2024年5月14日#
感谢以下贡献者参与此版本: @thehomebrewnerd
重大变更#
从 Featuretools 的此版本开始,不再支持从 Dask 或 Pyspark 数据帧创建 EntitySets。使用 pandas 数据帧创建 EntitySets 的行为保持不变。
v1.30.0 2024年2月26日#
- 测试变更
更新
make_ecommerce_entityset
以在没有 Dask 的情况下工作 (GH#2677)感谢以下贡献者参与此版本: @tamargrey, @thehomebrewnerd
v1.29.0 2024年2月16日#
警告
Featuretools 的此版本将不支持 Python 3.8
感谢以下贡献者参与此版本: @gsheni, @thehomebrewnerd, @tamargrey, @LakshmanKishore
v1.28.0 2023年10月26日#
- 修复
修复
PercentTrue
primitive 中默认值错误 (GH#2627)感谢以下贡献者参与此版本: @gsheni, @petejanuszewski1, @thehomebrewnerd, @tosemml
v1.27.0 2023年7月24日#
- 测试变更
通过 Airflow 在合并时运行 Looking Glass 性能测试 (GH#2575)
感谢以下贡献者参与此版本: @gsheni, @petejanuszewski1, @sbadithe, @thehomebrewnerd
v1.26.0 2023年4月27日#
重大变更#
Dask 现在是 Featuretools 的一个可选依赖项。对于将
n_jobs
设置为 1 以外的任何值来运行calculate_feature_matrix
的用户,现在需要在运行calculate_feature_matrix
之前安装 Dask。所需的 Dask 依赖项可以通过pip install "featuretools[dask]"
安装。
v1.25.0 2023年4月13日#
v1.24.0 2023年3月28日#
- 改进
- 添加
AverageCountPerUnique
,CountryCodeToContinent
,FileExtension
,FirstLastTimeDelta
,SavgolFilter
,
CumulativeTimeSinceLastFalse
,CumulativeTimeSinceLastTrue
,PercentChange
,PercentUnique
(GH#2485)
- 添加
FullNameToFirstName
,FullNameToLastName
,FullNameToTitle
,AutoCorrelation
,
Correlation
,DateFirstEvent
(GH#2507)
- 添加
Kurtosis
,MinCount
,NumFalseSinceLastTrue
,NumPeaks
,
NumTrueSinceLastFalse
,NumZeroCrossings
(GH#2514)
- 变更
为核心要求、测试要求和开发要求分离 Makefile 命令 (GH#2518)
v1.23.0 2023年2月15日#
v1.22.0 2023年1月31日#
- 改进
添加
AbsoluteDiff
,SameAsPrevious
,Variance
,Season
,UpperCaseWordCount
transform primitives (GH#2460)感谢以下贡献者参与此版本: @gsheni, @rwedge, @sbadithe, @thehomebrewnerd
v1.21.0 2023年1月18日#
v1.20.0 2023年1月5日#
- 修复
修复
_handle_binary_comparison
函数名称中的拼写错误并更新set_feature_names
docstring (GH#2388)只允许将 Datetime 时间索引作为输入到
RateOfChange
primitive (GH#2408)防止
NumberOfWordsInQuotes
的正则表达式中发生灾难性回溯 (GH#2413)修复以消除
feature_set_calculator.py
中的碎片化PerformanceWarning
(GH#2424)修复具有自定义 word_set 的
NumberOfCommonWords
feature 的序列化 (GH#2432)通过标准化分隔符正则表达式来改善自然语言 primitives 的边缘情况处理 (GH#2423)
移除对多个 primitives 中
Datetime
和Ordinal
输入的支持,以防止创建无法计算的特征 (GH#2434)
- 变更
通过删除对
_features_have_same_path
的调用来重构_all_direct_and_same_path
(GH#2400)通过一次迭代
input_features
来重构_build_transform_features
(GH#2400)在
DeepFeatureSynthesis
init 中仅迭代一次ignore_columns
(GH#2397)解决空的 Pandas series 警告 (GH#2403)
在
EntitySet.add_last_time_indexes
中使用init_with_partial_schama
而不是init
初始化 Woodwork (GH#2409)更新以兼容 numpy 1.24.0 (GH#2414)
TotalWordLength
的delimiter_regex
参数已重命名为do_not_count
(GH#2423)
- 文档变更
移除 1.19.0 notes 中未使用的部分 (GH#2396)
感谢以下贡献者参与此版本: @gsheni, @rwedge, @sbadithe, @thehomebrewnerd
重大变更#
TotalWordLength
的delimiter_regex
参数已重命名为do_not_count
。旧的、对此参数有非默认值的保存的特征将无法再加载。对原始函数
LessThanScalar
,GreaterThanScalar
,LessThanEqualToScalar
和GreaterThanEqualToScalar
的Datetime
和Ordinal
输入支持已被移除。
v1.19.0 2022年12月9日#
- 测试变更
修复
test_holiday_out_of_range
中的版本比较问题 (GH#2382)感谢以下人员对本版本的贡献: @sbadithe, @thehomebrewnerd
v1.18.0 2022年11月15日#
- 测试变更
将 pytest 的 tmpdir fixture 替换为 tmp_path (GH#2344)
感谢以下人员对本版本的贡献: @gsheni, @rwedge, @sbadithe, @tamargrey, @thehomebrewnerd
重大更改#
featuretools CLI 已被完全移除。
v1.17.0 2022年10月31日#
感谢以下贡献者参与此版本: @gsheni, @rwedge, @sbadithe, @thehomebrewnerd
v1.16.0 2022年10月24日#
- 测试变更
新增 Windows 安装测试 (GH#2330)
感谢以下人员对本版本的贡献: @gsheni, @sbadithe, @thehomebrewnerd
v1.15.0 2022年10月6日#
感谢以下贡献者参与此版本: @gsheni, @rwedge, @sbadithe, @thehomebrewnerd
重大更改#
EntitySet
模式已更新,现在包含series_library
属性。本版本中
Rolling*
原始函数的默认行为已更改。如果使用此原始函数时未定义gap
值,则本版本返回的特征值将与先前版本中的特征值不同。
v1.14.0 2022年9月1日#
感谢以下人员对本版本的贡献: @cp2boston, @gsheni, @ozzieD, @stefaniesmith, @thehomebrewnerd
v1.13.0 2022年8月18日#
v1.12.1 2022年8月4日#
- 文档变更
添加将新用户添加到 featuretools feedstock 的说明 (GH#2215)
感谢以下人员对本版本的贡献: @gsheni, @rwedge, @sbadithe, @tamargrey, @thehomebrewnerd
v1.12.0 2022年7月19日#
v1.11.1 2022年7月5日#
- 修复
从 PartOfDay 原始函数中移除第 24 小时并添加第 0 小时 (GH#2167)
感谢以下人员对本版本的贡献: @tamargrey
v1.11.0 2022年6月30日#
感谢以下人员对本版本的贡献: @gsheni, @ozzieD, @rwedge, @sbadithe, @tamargrey, @thehomebrewnerd
v1.10.0 2022年6月23日#
感谢以下贡献者参与此版本: @gsheni, @ozzieD, @rwedge, @sbadithe, @thehomebrewnerd
v1.9.2 2022年6月10日#
感谢以下人员对本版本的贡献: @gsheni, @thehomebrewnerd
v1.9.1 2022年5月27日#
- 改进
更新
DateToHoliday
和DistanceToHoliday
原始函数以支持时区感知的输入 (GH#2056)
- 变更
删除 setup.py, MANIFEST.in 并将配置移至 pyproject.toml (GH#2046)
- 测试变更
跳过对
normalize_dataframe
的测试,因为 Woodwork 0.16.3 版本中出现不同的错误 (GH#2052)修复在 Woodwork main 分支上测试时的 Woodwork 安装问题 (GH#2055)
使用 codecov action v3 (GH#2039)
新增工作流程以使用 Featuretools main 分支启动 EvalML 单元测试 (GH#2072)
更新 Dask 测试 fixtures 以防止不稳定的行为 (GH#2079)
更新 Makefile 中的 pkg 命令 (GH#2081)
新增计划任务工作流程,用于检查文档中的断开链接 (GH#2084)
感谢以下人员对本版本的贡献: @gsheni, @rwedge, @thehomebrewnerd
v1.9.0 2022年4月27日#
感谢以下人员对本版本的贡献: @dvreed77, @gsheni, @ozzieD, @rwedge, @thehomebrewnerd
注意#
此版本中对 DFS 算法的更新可能会导致
ft.dfs
返回的特征数量在某些情况下增加。
v1.8.0 2022年3月31日#
- 变更
移除实用函数
make_trans_primitive
和make_agg_primitive
(GH#1970)感谢以下人员对本版本的贡献: @gsheni, @thehomebrewnerd
重大更改#
实用函数
make_trans_primitive
和make_agg_primitive
已被移除。要创建自定义原始函数,请直接定义原始函数类。
v1.7.0 2022年3月16日#
- 修复
更新 conda 安装命令以指定 channel (GH#1917)
感谢以下人员为本次发布做出的贡献:@andriyor, @gsheni, @jeff-hernandez, @kushal-gopal, @mingdavidqi, @rwedge, @tamargrey, @thehomebrewnerd, @tvdboom
重大变更#
已从 Featuretools 中移除弃用的工具
list_variable_types
。
v1.6.0 2022年2月17日#
- 改进
添加
IsFederalHoliday
转换原语 (GH#1912)
- 修复
修复以捕获
holidays
库针对未知国家引发的新NotImplementedError
(GH#1907)
- 变更
移除过时的 pandas 变通代码 (GH#1906)
- 文档变更
为文档添加内联选项卡和复制粘贴功能 (GH#1905)
- 测试变更
修复 URL 反序列化文件 (GH#1909)
感谢以下人员为本次发布做出的贡献:@jeff-hernandez, @rwedge, @thehomebrewnerd
v1.5.0 2022年2月14日#
警告
Featuretools 在下一个非 bugfix 版本中可能不再支持 Python 3.7。
- 修复
修复
featuretools_primitives
入口点 (GH#1891)
- 变更
只允许原语使用 snake_case、camelCase 和 TitleCase (GH#1854)
将 autonormalize 添加为附加库 (GH#1840)
添加 DateToHoliday 转换原语 (GH#1848)
添加 DistanceToHoliday 转换原语 (GH#1853)
暂时限制 pandas 和 koalas 的最高版本 (GH#1863)
添加
__setitem__
方法以重载 EntitySet 上的add_dataframe
方法 (GH#1862)将 Datetime 和 LatLong 原语拆分到单独的文件中 (GH#1861)
规范化 dataframe 的索引中将不包含 null 值 (GH#1897)
感谢以下人员为本次发布做出的贡献:@dvreed77, @gsheni, @jacobboney, @jeff-hernandez, @rwedge, @tamargrey, @thehomebrewnerd, @tuethan1999
重大变更#
使用
normalize_dataframe
创建新的 dataframe 时,新 dataframe 的索引将不包含 null 值。
v1.4.0 2022年1月10日#
v1.3.0 2021年12月2日#
感谢以下人员为本次发布做出的贡献:@gsheni, @HenryRocha, @tamargrey @thehomebrewnerd
v1.2.0 2021年11月15日#
v1.1.0 2021年11月2日#
- 文档变更
升级 Sphinx 并修复文档配置错误 (GH#1760)
感谢以下人员为本次发布做出的贡献:@bchen1116, @gsheni, @HenryRocha, @jeff-hernandez, @ridicolos, @rwedge
v1.0.0 2021年10月12日#
- 变更
从
Entity
中移除add_interesting_values
(GH#1269)将
set_secondary_time_index
方法从Entity
移动到EntitySet
(GH#1280)重构 Relationship 创建过程 (GH#1370)
将
Entity.update_data
替换为EntitySet.update_dataframe
(GH#1398)将 uniform time index 的验证检查移动到
EntitySet
(GH#1400)将
EntitySet
中的Entity
对象替换为 Woodwork dataframes (GH#1405)重构
EntitySet.plot
以与 Woodwork dataframes 一起使用 (GH#1468)将
last_time_index
移动到 DataFrame 的一列 (GH#1456)更新序列化/反序列化以与 Woodwork 一起使用 (GH#1452)
重构
EntitySet.query_by_values
以与 Woodwork dataframes 一起使用 (GH#1467)将
list_variable_types
替换为list_logical_types
(GH#1477)允许进行 EntitySet 深度相等性检查 (GH#1480)
更新
EntitySet.concat
以与 Woodwork DataFrames 一起使用 (GH#1490)添加函数以列出 semantic tags (GH#1486)
如果需要,在
remove_highly_correlated_features
中对特征矩阵初始化 Woodwork (GH#1618)移除 categorical-encoding 作为附加库(稍后将重新添加)(GH#1632)
移除 autonormalize 作为附加库(稍后将重新添加)(GH#1636)
移除 tsfresh, nlp_primitives, sklearn_transformer 作为附加库(稍后将重新添加)(GH#1638)
更新
CumCount
原语的输入和返回类型 (GH#1651)标准化 Woodwork 的导入 (GH#1526)
将 target entity 重命名为 target dataframe (GH#1506)
将
entity_from_dataframe
替换为add_dataframe
(GH#1504)从 Woodwork columns 创建特征 (GH#1582)
将默认变量描述逻辑移动到
generate_description
(GH#1403)将 Woodwork 更新到 0.4.0 版本,支持
LogicalType.transform
和 LogicalType 实例 (GH#1451)将 Woodwork 更新到 0.4.1 版本,支持 Ordinal order 值和空格序列化修复 (GH#1478)
对原语输入和返回类型使用
ColumnSchema
(GH#1411)更新特征以使用 Woodwork 并移除
Entity
和Variable
类 (GH#1501)重新将
make_index
功能添加到 EntitySet (GH#1507)在 DFS 原语匹配中使用
ColumnSchema
(GH#1523)来自 Featuretools v0.26.0 的更新 (GH#1539)
在
add_interesting_values
中更好地利用 Woodwork (GH#1550)更新
calculate_feature_matrix
以使用 Woodwork (GH#1533)将 Woodwork 更新到 0.6.0 版本,并更改了 categorical inference (GH#1597)
更新 Featuretools 1.0 的
nlp-primitives
依赖 (GH#1609)移除代码中对
Entity
和Variable
的剩余引用 (GH#1612)将 Woodwork 更新到 0.7.1 版本,并更改了初始化 (GH#1648)
移除与一个已解决的 pandas 问题相关的过时变通代码 (GH#1677)
移除未使用的
_dataframes_equal
和camel_to_snake
函数 (GH#1683)将 Woodwork 更新到 0.8.0 版本以提高性能 (GH#1689)
移除
encode_features
中的冗余类型转换 (GH#1694)如果不是就地操作,则加速
encode_features
,会增加一些空间开销 (GH#1699)清理注释和被注释掉的代码 (GH#1701)
将 Woodwork 更新到 0.8.1 版本以提高性能 (GH#1702)
- 文档变更
添加 Featuretools 中的 Woodwork Typing 指南 (GH#1589)
添加过渡到 Featuretools 1.0 的资源指南 (GH#1627)
更新
using_entitysets
页面以使用 Woodwork (GH#1532)更新 FAQ 页面以使用 Woodwork 集成 (GH#1649)
更新 DFS 页面为 Jupyter notebook 并使用 Woodwork 集成 (GH#1557)
更新 Feature Primitives 页面为 Jupyter notebook 并使用 Woodwork 集成 (GH#1556)
更新 Handling Time 页面为 Jupyter notebook 并使用 Woodwork 集成 (GH#1552)
更新 Advanced Custom Primitives 页面为 Jupyter notebook 并使用 Woodwork 集成 (GH#1587)
更新 Deployment 页面以使用 Woodwork 集成 (GH#1588)
更新 Using Dask EntitySets 页面为 Jupyter notebook 并使用 Woodwork 集成 (GH#1590)
更新 Specifying Primitive Options 页面为 Jupyter notebook 并使用 Woodwork 集成 (GH#1593)
更新 API Reference 以匹配 Featuretools 1.0 API (GH#1600)
更新 Index 页面为 Jupyter notebook 并使用 Woodwork 集成 (GH#1602)
更新 Feature Descriptions 页面为 Jupyter notebook 并使用 Woodwork 集成 (GH#1603)
更新 Using Koalas EntitySets 页面为 Jupyter notebook 并使用 Woodwork 集成 (GH#1604)
更新 Glossary 以使用 Woodwork 集成 (GH#1608)
更新 Tuning DFS 页面为 Jupyter notebook 并使用 Woodwork 集成 (GH#1610)
修复文档中的小格式问题 (GH#1607)
移除 Variables 页面以及对 variables 的更多引用 (GH#1629)
更新 Feature Selection 页面以使用 Woodwork 集成 (GH#1618)
更新 Improving Performance 页面为 Jupyter notebook 并使用 Woodwork 集成 (GH#1591)
修复过渡指南中的拼写错误 (GH#1672)
更新文档中关于 1.0.0rc1 公告的安装说明 (GH#1707, GH#1708, GH#1713, GH#1716)
修复 README.md 中 Demo notebook 的损坏链接 (GH#1728)
更新
contributing.md
以改进对外部贡献者的说明 (GH#1723)手动恢复 GH#1677 和 GH#1679 所做的更改。pandas 中的相关 bug 仍然存在。(GH#1731)
感谢以下人员为本次发布做出的贡献:@bchen1116, @gsheni, @HenryRocha, @jeff-hernandez, @rwedge, @tamargrey, @thehomebrewnerd, @VaishnaviNandakumar
重大变更#
已移除
Entity.add_interesting_values
。要为单个 entity 添加 interesting values,请调用EntitySet.add_interesting_values
并在dataframe_name
参数中传入要添加 interesting values 的 dataframe 名称 (GH#1405, GH#1370)。已移除
Entity.set_secondary_time_index
并替换为EntitySet.set_secondary_time_index
,新增dataframe_name
参数以指定要在哪个 dataframe 上设置 secondary time index (GH#1405, GH#1370)。Relationship
初始化已更新,接受父 dataframe、父列、子 dataframe 和子列的四个名称值,而不是接受两个Variable
对象 (GH#1405, GH#1370)。EntitySet.add_relationship
已更新,接受 dataframe 和列名称值或Relationship
对象。现在,从Relationship
对象添加关系需要将关系作为关键字参数传入 (GH#1405, GH#1370)。已移除
Entity.update_data
。要更新 dataframe,请调用EntitySet.replace_dataframe
并使用dataframe_name
参数 (GH#1630, GH#1522)。EntitySet
中的数据不再存储在Entity
对象中。取而代之的是使用带有 Woodwork 类型信息的 dataframes。因此,大多数指代“entities”的说法现在将指代“dataframes”,指代“variables”的说法现在将指代“columns”,而“variable types”将使用 Woodwork 类型系统的“logical types”和“semantic tags” (GH#1405)。传递给
EntitySet.__init__
的元组字典已将variable_types
元素替换为独立的logical_types
和semantic_tags
字典 (GH#1405)。EntitySet.entity_from_dataframe
不再存在。要向 entityset 添加新表,请使用EntitySet.add_dataframe
(GH#1405)。已将
EntitySet.normalize_entity
重命名为EntitySet.normalize_dataframe
(GH#1405)。在
EntitySet.add_relationship
中,当父列和子列的 dtypes 不匹配时,Featuretools 不再引发错误,而是检查父列和子列的 Woodwork logical type 是否匹配。如果不匹配,现在将引发警告,并且 Featuretools 将尝试更新子列的 logical type 以匹配父列的 logical type (GH#1405)。如果在
EntitySet.add_dataframe
中未指定索引,则只有在 DataFrame 上尚未初始化 Woodwork 时,才会将第一列用作索引。添加已初始化 Woodwork 的 dataframe 时,如果未设置索引,则会引发错误 (GH#1405)。Featuretools 将不再重新排序 DataFrame 中的列,使得索引列成为 DataFrame 的第一列 (GH#1405)。
现在可以对 Dask 和 Koalas dataframes 执行类型推断,尽管会发出警告,表明这可能计算密集 (GH#1405)。
EntitySet.time_type 不再存储为 Variable 对象。取而代之的是使用 Woodwork 类型,数字时间类型将由 `'numeric'` semantic tag 字符串指示,而日期时间类型将由
Datetime
logical type 指示 (GH#1405)。last_time_index
、secondary_time_index
和interesting_values
不再是可以直接访问的 entityset 表的属性。现在必须通过 Woodwork DataFrame 的元数据(一个字典)来访问它们 (GH#1405)。助手函数
list_variable_types
将在未来版本中移除,并替换为list_logical_types
。在此期间,list_variable_types
将返回与list_logical_types
相同的输出 (GH#1447)。
本次发布的新特性#
添加 Interesting Values
要为单个 entity 添加 interesting values,请调用 EntitySet.add_interesting_values
,并传入要添加 interesting values 的 dataframe 的 id。
>>> es.add_interesting_values(dataframe_name='log')
设置 Secondary Time Index
要为特定 dataframe 设置 secondary time index,请调用 EntitySet.set_secondary_time_index
,传入要设置 secondary time index 的 dataframe 名称,以及将 secondary time index 列映射到 secondary time index 适用的目标的字典。
>>> customers_secondary_time_index = {'cancel_date': ['cancel_reason']}
>>> es.set_secondary_time_index(dataframe_name='customers', customers_secondary_time_index)
创建 Relationship 并添加到 EntitySet
现在可以通过传递识别 entityset 的参数以及指定父 DataFrame、父列、子 DataFrame 和子列的四个字符串值来创建关系。指定参数名称是可选的。
>>> new_relationship = Relationship(
... entityset=es,
... parent_dataframe_name='customers',
... parent_column_name='id',
... child_dataframe_name='sessions',
... child_column_name='customer_id'
... )
现在可以通过两种方式之一将关系添加到 EntitySet。第一种方法是为父 DataFrame、父列、子 DataFrame 和子列传递名称值。使用此方法时,指定参数名称是可选的。
>>> es.add_relationship(
... parent_dataframe_name='customers',
... parent_column_name='id',
... child_dataframe_name='sessions',
... child_column_name='customer_id'
... )
还可以通过传递先前创建的 Relationship
对象来添加关系。使用此方法时,必须包含 relationship
参数名称。
>>> es.add_relationship(relationship=new_relationship)
替换 DataFrame
要在 EntitySet 中用新的 DataFrame 替换现有 DataFrame,请调用 EntitySet.replace_dataframe
并传入要替换的 DataFrame 名称以及新数据。
>>> es.replace_dataframe(dataframe_name='log', df=df)
列出逻辑类型和语义标签
逻辑类型和语义标签已取代变量类型来解析和解释列。您可以通过调用 featuretools.list_logical_types
来列出所有可用的逻辑类型。
>>> ft.list_logical_types()
您可以通过调用 featuretools.list_semantic_tags
来列出所有可用的语义标签。
>>> ft.list_semantic_tags()
v0.27.1 2021年9月2日#
- 文档变更
在文档中添加关于即将发布的 Featuretools 1.0 版本的横幅 (GH#1669)
感谢以下贡献者参与此版本: @thehomebrewnerd
v0.27.0 2021年8月31日#
- 变更
移除 autonormalize, tsfresh, nlp_primitives, sklearn_transformer, caegorical_encoding 作为附加库(稍后将重新添加) (GH#1644)
当
featuretools_primitives
入口点抛出异常时发出警告消息 (GH#1662)在处理
featuretools_primitives
入口点时,如果遇到两个同名原语,则抛出RuntimeError
(GH#1662)防止
featuretools_primitives
入口点加载器加载非类对象以及AggregationPrimitive
和TransformPrimitive
基类 (GH#1662)感谢以下人员为此版本的发布做出贡献:@davesque, @gsheni, @jeff-hernandez, @rwedge
v0.26.2 2021年8月17日#
v0.26.1 2021年7月23日#
v0.26.0 2021年7月15日#
- 修复
在
primitive_options
中,include_entities
正确地覆盖了exclude_entities
(GH#1518)
- 文档变更
防止构建时记录日志 (GH#1498)
- 测试变更
在 pandas 1.3.0 发布候选版本上测试 featuretools 并进行修复 (GH#1492)
感谢以下人员为此版本的发布做出贡献:@frances-h, @gsheni, @rwedge, @tamargrey, @thehomebrewnerd, @tuethan1999
v0.25.0 2021年6月11日#
v0.24.1 2021年5月26日#
- 文档变更
更新 nbsphinx 版本以修复文档构建问题 (GH#1436)
感谢以下人员为此版本的发布做出贡献:@gsheni, @jeff-hernandez, @rwedge, @thehomebrewnerd
v0.24.0 2021年4月30日#
- 文档变更
改进发布说明的格式 (GH#1396)
感谢以下人员为此版本的发布做出贡献:@gsheni, @jeff-hernandez, @rwedge, @tamargrey, @thehomebrewnerd
v0.23.3 2021年3月31日#
v0.23.2 2021年2月26日#
v0.23.1 2021年1月29日#
- 文档变更
更新文档工具栏中的 Twitter 链接 (GH#1322)
感谢以下人员为此版本的发布做出贡献:@gsheni, @jeff-hernandez, @rwedge, @seriallazer, @thehomebrewnerd
v0.23.0 2020年12月31日#
感谢以下人员为此版本的发布做出贡献:@gsheni, @jeff-hernandez, @rwedge, @thehomebrewnerd
破坏性更改#
Entity.query_by_values
已被移除,并替换为EntitySet.query_by_values
,后者增加了entity_id
参数以指定实体集中应使用哪个实体进行查询。
v0.22.0 2020年11月30日#
感谢以下人员为此版本的发布做出贡献:@frances-h, @gsheni, @jeff-hernandez, @kmax12, @rwedge, @thehomebrewnerd
v0.21.0 2020年10月30日#
感谢以下人员为此版本的发布做出贡献:@frances-h, @gsheni, @jeff-hernandez, @rwedge, @tamargrey, @thehomebrewnerd
v0.20.0 2020年9月30日#
警告
Text 变量类型已弃用,并已被 NaturalLanguage 变量类型取代。Text 变量类型将在未来的版本中移除。
- 变更
Text 变量类型已被 NaturalLanguage 取代 (GH#1159)
感谢以下人员为此版本的发布做出贡献:@gsheni, @rwedge, @tamargrey, @tuethan1999
v0.19.0 2020年9月8日#
* 传递使用
make_trans_primitive
或maxe_agg_primitive
构建的原语的多个实例时,这些实例在传递给dfs
时必须具有相同的相对顺序,以确保特征顺序一致。感谢以下人员为此版本的发布做出贡献:@frances-h, @gsheni, @rwedge, @tamargrey, @thehomebrewnerd, @tuethan1999
破坏性更改#
ft.dfs
将不再从转换原语构建特征,其中一个输入是转换特征、GroupByTransform 特征或转换/GroupByTransform 特征的直接特征。这将导致之前由ft.dfs
生成的某些特征只有在seed_features
中明确指定时才可能生成。
v0.18.1 2020年8月12日#
- 修复
修复当给定 dask entityset 时
EntitySet.plot()
的问题 (GH#1086)
- 变更
在
setup.py
中为nlp_primitives
extra 使用nlp-primitives[complete]
安装 (GH#1103)
- 文档变更
修复 README.md 中损坏的下载徽章 (GH#1107)
- 测试变更
在 config 中使用 CircleCI matrix jobs 触发相同作业的不同参数的多次运行 (GH#1105)
感谢以下人员为此版本的发布做出贡献:@gsheni, @systemshift, @thehomebrewnerd
v0.18.0 2020年7月31日#
- 改进
如果在 dfs 期间未使用的原语,则警告用户 (GH#1073)
- 修复
使用更一致和统一的警告 (GH#1040)
修复缺少实例 id 和分类实体索引的问题 (GH#1050)
移除 feature_set_calculator 中的 warnings.simplefilter 以取消警告静音 (GH#1053)
修复名称中包含 ‘>’ 或 ‘<’ 的特征可视化问题 (GH#1055)
修复 encode_features 与 dfs 和 calculate_feature_matrix 之间的布尔 dtype 不匹配问题 (GH#1082)
更新原语选项,如果原语是可交换的,则检查反转输入 (GH#1085)
修复 kernel 重启之间特征顺序不一致的问题 (GH#1088)
感谢以下人员为此版本的发布做出贡献:@frances-h, @gsheni, @monti-python, @rwedge, @systemshift, @tamargrey, @thehomebrewnerd, @wsankey
v0.17.0 2020年6月30日#
- 测试变更
为 CircleCI codecov 上传命令添加
required
标志 (GH#1035)感谢以下人员对本次发布的贡献:@frances-h, @gsheni, @kmax12, @rwedge, @thehomebrewnerd, @tuethan1999
重大变化#
移除
Feature.get_names
,请改用Feature.get_feature_names
v0.16.0,2020 年 6 月 5 日#
- 测试变更
更新测试以兼容 numpy v1.19.0 (GH#1016)
感谢以下人员对本次发布的贡献:@Alex-Monahan, @frances-h, @gsheni, @rwedge, @thehomebrewnerd
v0.15.0,2020 年 5 月 29 日#
感谢以下人员对本次发布的贡献:@ctduffy, @frances-h, @gsheni, @jeff-hernandez, @rightx2, @rwedge, @sebrahimi1988, @thehomebrewnerd, @tuethan1999
重大变化#
现在,使用截止时间数据框但未将时间列标记为目标实体时间索引变量名或
time
的featuretools.dfs
或featuretools.calculate_feature_matrix
调用将导致AttributeError
。之前,时间列被选为不是实例 ID 列的第一列。本次更新后,数据框中列的位置不再用于确定时间列。现在,截止时间数据框中的实例 ID 列和时间列可以按任意顺序排列,只要它们被正确命名。所有
Variable
子类的type_string
属性现在都是其类名的蛇形命名法转换。这改变了Unknown
,IPAddress
,EmailAddress
,SubRegionCode
,FilePath
,LatLong
和ZIPcode
类的type_string
。使用这些变量的旧保存实体集可能加载不正确。
v0.14.0,2020 年 4 月 30 日#
- 改进
ft.encode_features - 对独热编码列使用更少内存 (GH#876)
感谢以下人员对本次发布的贡献:@frances-h, @gsheni, @jeff-hernandez, @rwedge
重大变化#
在特征计算中使用训练窗口可能导致与之前版本不同的值。这样做是为了防止连续的训练窗口重叠,方法是排除最早时间点的数据。例如,如果我们在小时的第一分钟使用截止时间,并使用一小时的训练窗口,那么前一小时的第一分钟将不再包含在特征计算中。
v0.13.4,2020 年 3 月 27 日#
警告
Featuretools 的下一个非错误修复版本将不再支持 Python 3.5
感谢以下人员对本次发布的贡献:@frances-h, @FreshLeaf8865, @jeff-hernandez, @rwedge, @thehomebrewnerd
v0.13.3,2020 年 2 月 28 日#
- 修复
修复使用 n_jobs 时连接关闭错误 (GH#853)
- 变更
固定 Python 3.5 的 msgpack 依赖;从 Dask 依赖中移除 dataframe (GH#851)
- 文档变更
更新 Github 问题模板中指向帮助文档页面的链接 (GH#855)
感谢以下人员对本次发布的贡献:@frances-h, @rwedge
v0.13.2,2020 年 1 月 31 日#
- 改进
支持 Pandas 1.0.0 (GH#844)
- 变更
移除对 s3fs 库的依赖,用于从 S3 进行匿名下载 (GH#825)
- 测试变更
添加 GitHub Action 自动运行性能测试 (GH#840)
感谢以下人员对本次发布的贡献:@frances-h, @rwedge
v0.13.1,2019 年 12 月 28 日#
v0.13.0,2019 年 11 月 30 日#
- 改进
添加 GitHub Action 自动将发布上传到 PyPI (GH#816)
感谢以下人员对本次发布的贡献:@frances-h, @jeff-hernandez, @rwedge, @systemshift
重大变化#
现在用于从 S3 或 URL 下载或上传的库是可选的,并且不再默认安装。要使用此功能,需要单独安装它们。
Diff 原始类型计算方式的修复可能会减慢使用此原始类型的特征列表的整体计算时间。
v0.12.0,2019 年 10 月 31 日#
感谢以下人员对本次发布的贡献:@ablacke-ayx, @BoopBoopBeepBoop, @jeffzi, @kmax12, @rwedge, @thehomebrewnerd, @twdobson
v0.11.0,2019 年 9 月 30 日#
警告
Featuretools 的下一个非错误修复版本将不再支持 Python 2
- 文档变更
更新 Compose 的 URL (GH#716)
感谢以下人员对本次发布的贡献:@angela97lin, @chidauri, @christopherbunn, @frances-h, @jeff-hernandez, @kmax12, @MarcoGorelli, @rwedge, @thehomebrewnerd
重大变化#
特征计算结果将按照提供的实例 ID 的顺序返回,而不是按照计算实例的时间点顺序返回。
v0.10.1,2019 年 8 月 25 日#
v0.10.0,2019 年 8 月 19 日#
警告
Featuretools 的下一个非错误修复版本将不再支持 Python 2
- 变更
移动 dask, distributed 导入 (GH#634)
感谢以下人员对本次发布的贡献:@alexjwang, @allisonportis, @CJStadler, @ctduffy, @gsheni, @jeff-hernandez, @jeremyliweishih, @kmax12, @rwedge, @zhxt95,
v0.9.1,2019 年 7 月 3 日#
v0.9.0,2019 年 6 月 19 日#
- 修复
感谢以下人员对本次发布的贡献:@alexjwang, @allisonportis, @CJStadler, @ctduffy, @gsheni, @kmax12, @rwedge
v0.8.0,2019 年 5 月 17 日#
将 NUnique 重命名为 NumUnique (GH#510)
将特征序列化为 JSON (GH#532)
在 normalize_entity 中一次性删除所有变量 (GH#533)
移除 normalize_entity 中不必要的排序 (GH#535)
特征缓存其名称 (GH#536)
仅计算截止时间前实例的特征 (GH#523)
移除所有相对导入 (GH#530)
添加 FullName 变量类型 (GH#506)
当目标实体不存在时添加错误消息 (GH#520)
新演示链接 (GH#542)
移除 DFS 中的重复特征检查 (GH#538)
featuretools_primitives 入口点需要原始类型类列表 (GH#529)
更新 ALL_VARIABLE_TYPES 列表 (GH#526)
更具信息量的 N Jobs 打印和警告 (GH#511)
更新 sklearn 版本要求 (GH#541)
更新 Makefile (GH#519)
移除
Entity._handle_time
中未使用的参数 (GH#524)移除
setup.py
中的build_ext
代码 (GH#513)文档更新 (GH#512, GH#514, GH#515, GH#521, GH#522, GH#527, GH#545)
感谢以下贡献者为本次发布做出的贡献: @bphi, @CharlesBradshaw, @CJStadler, @glentennis, @gsheni, @kmax12, @rwedge
重大变更#
NUnique
已重命名为NumUnique
。旧行为
from featuretools.primitives import NUnique
新行为
from featuretools.primitives import NumUnique
v0.7.1,2019年4月24日#
自动为可控原始特征生成名称 (GH#481)
将返回字符串的原始特征函数更改为返回函数 (GH#499)
CLI 可通过 entrypoints 定制 (GH#493)
改进对外孙实体(grandchildren)计算聚合特征的逻辑 (GH#479)
重构 entrypoints 以使用装饰器 (GH#483)
在测试套件中包含 doctests (GH#491)
文档更新 (GH#490)
更新内部导入标准原始特征的方式 (GH#482)
感谢以下贡献者为本次发布做出的贡献: @bukosabino, @CharlesBradshaw, @glentennis, @gsheni, @jeff-hernandez, @kmax12, @minkvsky, @rwedge, @thehomebrewnerd
v0.7.0,2019年3月29日#
改进实体集序列化 (GH#361)
支持其他库通过 entrypoints 扩展 featuretools 功能 (GH#452)
移除 featuretools 安装命令 (GH#475)
为
SubtractNumeric
和DivideNumeric
原始特征添加commutative
参数 (GH#457)添加
FilePath
变量类型 (GH#470)添加
PhoneNumber
,DateOfBirth
,URL
变量类型 (GH#447)泛化
infer_variable_type
,convert_variable_data
和convert_all_variable_data
方法 (GH#423)感谢以下贡献者为本次发布做出的贡献: @bukosabino, @CharlesBradshaw, @ColCarroll, @glentennis, @grayskripko, @gsheni, @jeff-hernandez, @jrkinley, @kmax12, @RogerTangos, @rwedge
重大变更#
ft.dfs
现在有一个groupby_trans_primitives
参数,DFS 用它来自动构建按 ID 列分组并对每个组应用转换原始特征的特征。此更改适用于以下原始特征:CumSum
,CumCount
,CumMean
,CumMin
, 和CumMax
。旧行为
ft.dfs(entityset=es, target_entity='customers', trans_primitives=["cum_mean"])
新行为
ft.dfs(entityset=es, target_entity='customers', groupby_trans_primitives=["cum_mean"])
与上述更改相关,累积转换特征现在使用新的特征类
GroupByTransformFeature
进行定义。旧行为
ft.Feature([base_feature, groupby_feature], primitive=CumulativePrimitive)
新行为
ft.Feature(base_feature, groupby=groupby_feature, primitive=CumulativePrimitive)
v0.6.1,2019年2月15日#
累积原始特征 (GH#410)
Entity.query_by_values
现在保留了底层数据的行顺序 (GH#428)实现国家代码和子区域代码作为变量类型 (GH#430)
添加 IPAddress 和 EmailAddress 变量类型 (GH#426)
安装数据和依赖项 (GH#403)
添加
TimeSinceFirst
,修复TimeSinceLast
(GH#388)允许用户传入所需的特征返回类型 (GH#372)
添加新的配置对象 (GH#401)
替换
NUnique
的get_function
(GH#434)
_calculate_idenity_features
现在只返回请求的特征,而不是整个实体 (GH#429)原始特征函数名称唯一性 (GH#424)
更新
NumCharacters
和NumWords
原始特征 (GH#419)更改 zipcode 表示,为 pandas 使用字符串 (GH#418)
移除 pandas 版本上限 (GH#408)
将 S3 依赖项设为可选 (GH#404)
检查
agg_primitives
和trans_primitives
是否是正确的原始特征类型 (GH#397)Mean 原始特征更改 (GH#395)
修复多输出聚合上的转换堆叠问题 (GH#394)
修复
list_primitives
(GH#391)文档更新 (GH#400, GH#409, GH#415, GH#417, GH#420, GH#421, GH#422, GH#431)
感谢以下贡献者为本次发布做出的贡献: @CharlesBradshaw, @csala, @floscha, @gsheni, @jxwolstenholme, @kmax12, @RogerTangos, @rwedge
v0.6.0,2018年1月30日#
v0.5.1,2018年12月17日#
v0.5.0,2018年12月17日#
在
normalize_entity
中为重复的additional/copy_variables
添加特定错误 (GH#348)移除
EntitySet._import_from_dataframe
(GH#346)移除
time_index_reduce
参数 (GH#344)允许安装额外的原始特征 (GH#326)
修复
DatetimeIndex
变量转换问题 (GH#342)更新 Sklearn DFS Transformer (GH#343)
清理实体创建逻辑 (GH#336)
移除转换特征计算中的列表转换 (GH#330)
修复 sklearn wrapper (GH#335)
将 readme 添加到 pypi
迁移到
conda-forge
后更新 conda 文档 (GH#334)为 scikit-learn Pipelines 添加 wrapper (GH#323)
从
EntitySet._import_from_dataframe
中移除parse_date_cols
参数 (GH#333)感谢以下贡献者为本次发布做出的贡献: @bukosabino, @georgewambold, @gsheni, @jeff-hernandez, @kmax12, 和 @rwedge。
v0.4.1,2018年11月29日#
解决默认使用第一列作为索引的 bug (GH#308)
处理从 Id 变量创建特征时的返回类型 (GH#318)
将
id
设为EntitySet
构造函数的可选参数 (GH#324)处理将同一函数应用于同一列的原始特征 (GH#321)
更新要求 (GH#328)
清理 DFS 参数 (GH#319)
清理 Pandas Backend (GH#302)
更新累积转换原始特征的属性 (GH#320)
版本间特征稳定性文档 (GH#316)
在 GitHub readme 中添加下载计数 (GH#310)
修复 #297:更新测试以检查错误字符串 (GH#303)
移除 agg 原始特征测试中对 fixtures 的使用 (GH#325)
v0.4.0,2018年10月31日#
移除
ft.utils.gen_utils.getsize
并将pympler
设为测试要求 (GH#299)更新
requirements.txt
(GH#298)重构
EntitySet.find_path(...)
(GH#295)清理未使用的メソッド (GH#293)
移除
Entity
未使用的parents
属性 (GH#283)移除
relationships
参数 (GH#284)改进时间索引验证 (GH#285)
在
categorical
中编码带有“unknown”类的特征 (GH#287)允许在深度特征合成 (Deep Feature Synthesis) 的直接特征上使用 where 子句 (GH#279)
更改为
fullargsspec
(GH#288)并行 verbose 修复 (GH#282)
更新 python 3.7 的测试 (GH#277)
检查重复行的 cutoff time (GH#276)
使用压缩文件加载零售演示数据 (GH#271)
v0.3.1,2018年9月28日#
处理时间重写 (GH#245)
更新
deep_feature_synthesis.py
(GH#249)处理从
DatetimeTimeIndex
创建特征时的返回类型 (GH#266)更新
retail.py
(GH#259)提高转换原始特征的一致性 (GH#236)
更新演示 docstrings (GH#268)
处理非字符串列名 (GH#255)
清理聚合原始特征的合并逻辑 (GH#250)
为
Entity
方法添加测试 (GH#262)处理计算具有多个参数的聚合特征时没有子实体数据的情况 (GH#264)
添加 is_string utils 函数 (GH#260)
更新 python 版本以匹配 docker 容器 (GH#261)
处理没有子实体数据时的 where 子句 (GH#258)
不再缓存演示 csv 文件,移除 config 文件 (GH#257)
避免堆叠“expanding”原始特征 (GH#238)
在零售 csv 文件中使用随机生成的名称 (GH#233)
更新
README.md
(GH#243)
v0.3.0,2018年8月27日#
v0.2.2,2018年8月20日#
移除不必要的检查无相关实例调用并重构 (GH#209)
通过支持
pandas
categorical 类型改进内存使用 (GH#196)将最低
pandas
版本从 0.20.3 提升到 0.23.0 (GH#216)使原始特征查找不区分大小写 (GH#213)
使用大写名称 (GH#211)
为
Min
设置类名 (GH#206)从 normalize entity 中移除
variable_types
(GH#205)处理带有 last time index 的 parquet 序列化 (GH#204)
在计算特征矩阵时重置 cutoff times 的索引 (GH#198)
检查
.normalize_entity
的参数类型 (GH#195)类型检查忽略实体。 (GH#193)
v0.2.1,2018年7月2日#
v0.2.0,2018年6月22日#
多进程 (GH#170)
在 Featuretools 的 repr 中处理 unicode 编码 (GH#161)
清理
EntitySet
类 (GH#145)添加构建和上传 conda 包的支持 (GH#167)
Parquet 序列化 (GH#152)
移除变量统计信息 (GH#171)
确保索引变量排在首位 (GH#168)
normalize 时不更新 last time index (GH#169)
移除作为 cutoff_time 在 calculate_feature_matrix 中的一个选项的 list of times (GH#165)
Config
进行错误检查以查看是否可以写入磁盘 (GH#162)
v0.1.21,2018年5月30日#
v0.1.20,2018年4月13日#
v0.1.19,2018年3月21日#
v0.1.18 2018年2月27日#
v0.1.17 2018年1月18日#
v0.1.16 2017年12月19日#
v0.1.15 2017年12月18日#
v0.1.14 2017年11月20日#
v0.1.13 2017年11月1日#
添加 MANIFEST.in (GH#26)
v0.1.11 2017年10月31日#
v0.1.10 2017年10月12日#
v0.1.9 2017年9月8日#
文档改进
新增
featuretools.demo.load_mock_customer
函数
v0.1.8 2017年9月1日#
错误修复
添加了
Percentile
转换原语
v0.1.7 2017年8月17日#
针对
calculate_feature_matrix
和dfs
中的 approximate 参数进行了性能改进添加了
Week
转换原语
v0.1.6 2017年7月26日#
添加了
load_features
和save_features
,用于持久化和重新加载特征添加了 save_progress 参数到
calculate_feature_matrix
添加了 approximate 参数到
calculate_feature_matrix
和dfs
添加了
load_flight
到 ft.demo
v0.1.5 2017年7月11日#
Windows 支持
v0.1.3 2017年7月10日#
将 feature 子模块重命名为 primitives
将 prediction_entity 参数重命名为 target_entity
添加了 training_window 参数到
calculate_feature_matrix
v0.1.2 2017年7月3日#
初次发布