发行说明#

v1.31.0 2024年5月14日#

  • 改进
    • 添加对 Python 3.12 的支持 (GH#2713)

  • 修复
    • flatten_list 工具函数移动到 feature_discovery 模块中以修复导入错误 (GH#2702)

  • 变更
    • 临时限制 Dask 版本 (GH#2694)

    • 移除对从 Dask 或 Pyspark 数据帧创建 EntitySets 的支持 (GH#2705)

    • 在 requirements 文件中提升 tqdmpip 的最低版本 (GH#2716)

    • 在调用 tarfile.extractall 时使用 filter 参数以安全地反序列化 EntitySets (GH#2722)

  • 测试变更
    • 修复序列化测试以兼容 pytest 8.1.1 (GH#2694)

    • 更新以使最低依赖项检查器正常运行 (GH#2709)

    • 更新 pull request 检查 CI 操作 (GH#2720)

    • 更新发行说明更新检查 CI 操作 (GH#2726)

感谢以下贡献者参与此版本: @thehomebrewnerd

重大变更#

  • 从 Featuretools 的此版本开始,不再支持从 Dask 或 Pyspark 数据帧创建 EntitySets。使用 pandas 数据帧创建 EntitySets 的行为保持不变。

v1.30.0 2024年2月26日#

  • 变更
    • 更新 numpy, pandas 和 Woodwork 的最低要求 (GH#2681)

    • 更新发行说明版本以进行发布 (GH#2689)

  • 测试变更
    • 更新 make_ecommerce_entityset 以在没有 Dask 的情况下工作 (GH#2677)

感谢以下贡献者参与此版本: @tamargrey, @thehomebrewnerd

v1.29.0 2024年2月16日#

警告

Featuretools 的此版本将不支持 Python 3.8

  • 修复
    • 修复依赖项问题 (GH#2644, GH#2656)

    • 添加针对 pandas 2.2.0 中 nunique bug 的临时解决方案并取消固定 pandas 依赖项 (GH#2657)

  • 变更
    • 修复 is_categorical_dtype 的弃用警告 (GH#2641)

    • 移除针对 spark 安装的 woodwork, pyarrow, numpy 和 pandas 固定 (GH#2661)

  • 文档变更
    • 更新 Featuretools 标志使其在暗模式下正常显示 (GH#2632)

    • 在无法发布时移除对 premium primitives 的引用 (GH#2674)

  • 测试变更
    • 更新测试以兼容新版本 holidays (GH#2636)

    • 更新 ruff 到 0.1.6 并使用 ruff linter/formatter (GH#2639)

    • 更新 release.yaml 以对 PyPI 发布使用受信任的发布者 (GH#2646, GH#2653, GH#2654)

    • 更新依赖检查器和测试以包含 Dask (GH#2658)

    • 修复与 Woodwork main 分支一起运行的测试,以便可以触发它们 (GH#2657)

    • 修复最低依赖检查器操作 (GH#2664)

    • 修复针对 Woodwork main 分支测试的 Slack 警报 (GH#2668)

感谢以下贡献者参与此版本: @gsheni, @thehomebrewnerd, @tamargrey, @LakshmanKishore

v1.28.0 2023年10月26日#

  • 修复
    • 修复 PercentTrue primitive 中默认值错误 (GH#2627)

  • 变更
    • 重构 featuretools/tests/primitive_tests/utils.py 以利用列表推导式提高 Pythonic 质量 (GH#2607)

    • 重构 can_stack_primitive_on_inputs (GH#2522)

    • 更新 s3 存储桶用于文档图像 (GH#2593)

    • 临时限制 pandas 最高版本为 <2.1.0,pyarrow 为 <13.0.0 (GH#2609)

    • 更新以兼容 pandas 版本 2.1.0 并移除 pandas 最高版本限制 (GH#2616)

  • 文档变更
    • 修复 README 上测试徽章 (GH#2598)

    • 更新 readthedocs config 使用 build.os (GH#2601)

  • 测试变更
    • 更新 airflow Looking Glass 性能测试工作流程 (GH#2615)

    • 移除旧的性能测试工作流程 (GH#2620)

感谢以下贡献者参与此版本: @gsheni, @petejanuszewski1, @thehomebrewnerd, @tosemml

v1.27.0 2023年7月24日#

  • 改进
    • 添加对 Python 3.11 的支持 (GH#2583)

    • 添加对 pandas v2.0 的支持 (GH#2585)

  • 变更
    • 移除自然语言 primitives 附加组件 (GH#2570)

    • 更新以解决各种警告 (GH#2589)

  • 测试变更
    • 通过 Airflow 在合并时运行 Looking Glass 性能测试 (GH#2575)

感谢以下贡献者参与此版本: @gsheni, @petejanuszewski1, @sbadithe, @thehomebrewnerd

v1.26.0 2023年4月27日#

  • 改进
    • 引入新的单表 DFS 算法 (GH#2516)。这包含 实验性 功能,非官方支持。

    • 添加 premium primitives 安装命令 (GH#2545)

  • 修复
    • 修复 DaysInMonth 的描述 (GH#2547)

  • 变更
    • 使 Dask 成为可选依赖项 (GH#2560)

感谢以下贡献者参与此版本: @dvreed77, @gsheni, @thehomebrewnerd

重大变更#

  • Dask 现在是 Featuretools 的一个可选依赖项。对于将 n_jobs 设置为 1 以外的任何值来运行 calculate_feature_matrix 的用户,现在需要在运行 calculate_feature_matrix 之前安装 Dask。所需的 Dask 依赖项可以通过 pip install "featuretools[dask]" 安装。

v1.25.0 2023年4月13日#

  • 改进
    • 添加 MaxCount, MedianCount, MaxMinDelta, NUniqueDays, NMostCommonFrequency,

      NUniqueDaysOfCalendarYear, NUniqueDaysOfMonth, NUniqueMonths, NUniqueWeeks, IsFirstWeekOfMonth (GH#2533)

    • 添加 HasNoDuplicates, NthWeekOfMonth, IsMonotonicallyDecreasing, IsMonotonicallyIncreasing,

      IsUnique (GH#2537)

  • 修复
    • 修复发行说明标题版本 (GH#2544)

  • 变更
    • 限制 pandas 版本小于 2.0.0 (GH#2533)

    • 升级最低 pandas 版本至 1.5.0 (GH#2537)

    • 移除 CorrelationAutoCorrelation primitive,因为它们可能导致数据泄露 (GH#2537)

    • 移除对 Kurtosis primitive 的 IntegerNullable 支持 (GH#2537)

感谢以下贡献者参与此版本: @gsheni

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)

  • 修复
    • 固定 github-action-check-linked-issues 到 1.4.5 (GH#2497)

    • 支持 Woodwork 的更新数值推断(字符串形式的整数)(GH#2505)

    • 更新 SubtractNumeric Primitive 的 commutative 类属性 (GH#2527)

  • 变更
    • 为核心要求、测试要求和开发要求分离 Makefile 命令 (GH#2518)

感谢以下贡献者参与此版本: @dvreed77, @gsheni, @ozzieD

v1.23.0 2023年2月15日#

  • 变更
    • 更改 TotalWordLengthUpperCaseWordCount 返回 IntegerNullable (GH#2474)

  • 测试变更
    • 添加 GitHub Actions 缓存以加速工作流程 (GH#2475)

    • 修复最新依赖检查器安装命令 (GH#2476)

    • 在 CI 工作流程中添加 pull request 链接问题检查 (GH#2477, GH#2481)

    • 从 lint 工作流程中移除 make package (GH#2479)

感谢以下贡献者参与此版本: @dvreed77, @gsheni, @sbadithe

v1.22.0 2023年1月31日#

  • 改进
    • 添加 AbsoluteDiff, SameAsPrevious, Variance, Season, UpperCaseWordCount transform primitives (GH#2460)

  • 修复
    • 修复 NumWords 中连续空格的 bug (GH#2459)

    • 修复以兼容 holidays v0.19.0 (GH#2471)

  • 变更
    • 在 pre-commit-config 中指定 black 和 ruff 配置参数 (GH#2456)

    • NumCharacters 在输入为 null 时返回 null (GH#2463)

  • 文档变更
    • 更新 release.md 并添加启动 Looking Glass 性能测试运行的说明 (GH#2461)

    • 固定 jupyter-client==7.4.9 以修复损坏的文档构建 (GH#2463)

    • 取消固定 jupyter-client 文档要求 (GH#2468)

  • 测试变更
    • 添加 NumWordsNumCharacters primitives 的测试套件 (GH#2459, GH#2463)

感谢以下贡献者参与此版本: @gsheni, @rwedge, @sbadithe, @thehomebrewnerd

v1.21.0 2023年1月18日#

  • 改进
    • 在 featuretools 中添加 get_recommended_primitives 函数 (GH#2398)

  • 变更
    • 更新 build_docs 工作流程,使其仅对 Python 3.8 和 Python 3.10 运行 (GH#2447)

  • 文档变更
    • 发行说明的微小修复 (GH#2444)

  • 测试变更
    • 添加测试,检查自然语言 primitives 对边缘情况输入是否超时 (GH#2429)

    • 修复测试兼容 composeml 0.10 (GH#2439)

    • 最低依赖单元测试作业在其中一个作业失败时不会中止 (GH#2437)

    • 在合并到 main 时运行 Looking Glass 性能测试 (GH#2440, GH#2441)

    • 添加 ruff 进行 linting 并替换 isort/flake8 (GH#2448)

感谢以下贡献者参与此版本: @gsheni, @ozzieD, @rwedge, @sbadithe, @thehomebrewnerd

v1.20.0 2023年1月5日#

  • 改进
    • 添加 TimeSinceLastFalse, TimeSinceLastMax, TimeSinceLastMinTimeSinceLastTrue primitives (GH#2418)

    • 添加 MaxConsecutiveFalse, MaxConsecutiveNegatives, MaxConsecutivePositives, MaxConsecutiveTrue, MaxConsecutiveZeros, NumConsecutiveGreaterMean, NumConsecutiveLessMean (GH#2420)

  • 修复
    • 修复 _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 中 DatetimeOrdinal 输入的支持,以防止创建无法计算的特征 (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)

    • TotalWordLengthdelimiter_regex 参数已重命名为 do_not_count (GH#2423)

  • 文档变更
    • 移除 1.19.0 notes 中未使用的部分 (GH#2396)

感谢以下贡献者参与此版本: @gsheni, @rwedge, @sbadithe, @thehomebrewnerd

重大变更#

  • TotalWordLengthdelimiter_regex 参数已重命名为 do_not_count。旧的、对此参数有非默认值的保存的特征将无法再加载。

  • 对原始函数 LessThanScalar, GreaterThanScalar, LessThanEqualToScalarGreaterThanEqualToScalarDatetimeOrdinal 输入支持已被移除。

v1.19.0 2022年12月9日#

  • 改进
    • 新增原始函数 OneDigitPostalCodeTwoDigitPostalCode (GH#2365)

    • 新增原始函数 ExpandingCount, ExpandingMin, ExpandingMean, ExpandingMax, ExpandingSTDExpandingTrend (GH#2343)

  • 修复
    • 修复 DeepFeatureSynthesis 在创建转换特征时考虑 base_of_exclude 属性族的问题 (GH#2380)

    • 修复 test_version 中负版本号的 bug (GH#2389)

    • 修复原始函数 MultiplyNumericBoolean 在某些输入 dtype 组合下可能导致错误的 bug (GH#2393)

  • 测试变更
    • 修复 test_holiday_out_of_range 中的版本比较问题 (GH#2382)

感谢以下人员对本版本的贡献: @sbadithe, @thehomebrewnerd

v1.18.0 2022年11月15日#

  • 改进
    • 新增原始函数 RollingOutlierCount (GH#2129)

    • 新增原始函数 RateOfChange (GH#2359)

  • 修复
    • 为原始函数 Rolling*Exponential* 设置 uses_full_dataframe (GH#2354)

    • 更新以兼容即将发布的 Woodwork 0.21.0 版本 (GH#2363)

    • 更新演示数据集位置以使用新链接 (GH#2366)

    • 修复 test_holiday_out_of_rangeholidays 0.17 版本发布后出现的问题 (GH#2373)

  • 变更
    • 移除 click 和 CLI 函数 (list-primitives, info) (GH#2353, GH#2358)

  • 文档变更
    • 使用 Sphinx 并行构建文档 (GH#2351)

    • 使用非可编辑安装以允许本地文档构建 (GH#2367)

    • 从文档中移除 primitives.featurelabs.com 网站 (GH#2369)

  • 测试变更
    • 将 pytest 的 tmpdir fixture 替换为 tmp_path (GH#2344)

感谢以下人员对本版本的贡献: @gsheni, @rwedge, @sbadithe, @tamargrey, @thehomebrewnerd

重大更改#

  • featuretools CLI 已被完全移除。

v1.17.0 2022年10月31日#

  • 改进
    • 将 featuretools-sklearn-transformer 添加为额外的安装选项 (GH#2335)

    • 新增 CountAboveMean, CountBelowMean, CountGreaterThan, CountInsideNthSTD, CountInsideRange, CountLessThan, CountOutsideNthSTD, CountOutsideRange (GH#2336)

  • 变更
    • 重构 primitives 目录以使用单个原始函数文件 (GH#2331)

    • 限制 dask 和 distributed 的版本为 2022.10.1 (GH#2347)

  • 文档变更
    • 在文档的安装页面上添加 Featuretools-SQL (GH#2337)

    • 修复 Featuretools 文档中的断开链接 (GH#2339)

感谢以下贡献者参与此版本: @gsheni, @rwedge, @sbadithe, @thehomebrewnerd

v1.16.0 2022年10月24日#

  • 改进
    • 新增 ExponentialWeighted 原始函数和 DateToTimeZone 原始函数 (GH#2318)

    • 新增来自 nlp_primitives 库的 14 个自然语言原始函数 (GH#2328)

  • 文档变更
    • 修复 aggregation_primitive_base.pyfeatures_deserializer.py 中的拼写错误 (GH#2317) (GH#2324)

    • 更新 SQL 集成文档以反映 Snowflake 兼容性 (GH#2313)

  • 测试变更
    • 新增 Windows 安装测试 (GH#2330)

感谢以下人员对本版本的贡献: @gsheni, @sbadithe, @thehomebrewnerd

v1.15.0 2022年10月6日#

  • 改进
    • EntitySet 字典新增 series_library 属性 (GH#2257)

    • 利用继承自 strLibrary Enum (GH#2275)

  • 变更
    • 将 Rolling* 原始函数的默认 gap 从 0 更改为 1,以防止意外的数据泄露 (GH#2282)

    • 更新以兼容 pandas 1.5.0 版本 (GH#2290, GH#2291, GH#2308)

    • 从发布工作流程中排除文档文件 (GH#2295)

    • 提高可选 pyspark 依赖项的要求 (GH#2299)

    • 提高 scipywoodwork[spark] 依赖项的要求 (GH#2306)

  • 文档变更
    • 添加文档说明如何将 featuretools_sqlfeaturetools 一起使用 (GH#2262)

    • 移除 featuretools_sql 作为文档要求项 (GH#2302)

    • 修复 DiffDatetime doctest 中的拼写错误 (GH#2314)

    • 修复 EntitySet 文档中的拼写错误 (GH#2315)

  • 测试变更
    • 移除 Windows CI 测试中 graphviz 版本限制 (GH#2285)

    • 使用 pytest -n auto 运行 CI 测试 (GH#2298, GH#2310)

感谢以下贡献者参与此版本: @gsheni, @rwedge, @sbadithe, @thehomebrewnerd

重大更改#

  • EntitySet 模式已更新,现在包含 series_library 属性。

  • 本版本中 Rolling* 原始函数的默认行为已更改。如果使用此原始函数时未定义 gap 值,则本版本返回的特征值将与先前版本中的特征值不同。

v1.14.0 2022年9月1日#

  • 改进
    • NumericLag 替换为 Lag 原始函数 (GH#2252)

    • 重构 build_features 以将长时间运行的 DFS 调用加速 50% (GH#2224)

  • 修复
    • 修复与 holidays 0.15 的兼容性问题 (GH#2254)

  • 变更
    • 更新发布说明以明确 conda 发布部分 (GH#2249)

    • 仅使用 pyproject.toml (不再使用 setup.cfg) (GH#2260, GH#2263, GH#2265)

    • 为 pyproject.toml 项目添加入口点说明 (GH#2272)

  • 文档变更
    • 修复 Using Spark EntitySets Guide 中的警告 (GH#2258)

  • 测试变更
    • 新增 tests/profiling/dfs_profile.py (GH#2224)

    • 新增工作流程以测试不包含测试依赖项的 featuretools (GH#2274)

感谢以下人员对本版本的贡献: @cp2boston, @gsheni, @ozzieD, @stefaniesmith, @thehomebrewnerd

v1.13.0 2022年8月18日#

  • 修复
    • 允许在 remove_highly_correlated_features 中包含布尔列 (GH#2231)

  • 变更
    • 重构模式版本检查以使用 packaging 方法 (GH#2230)

    • 将 Rolling 原始函数中的重复逻辑提取到通用工具函数中 (GH#2218)

    • 将 pandas 版本设置为 >=1.4.0 (GH#2246)

    • 移除由 pandas 版本 < 1.4.0 引起的 roll_series_with_gap 中的解决方法 (GH#2246)

  • 文档变更
    • 在 IsFederalHoliday 原始函数 docstring 部分之间添加换行符 (GH#2235)

  • 测试变更
    • 更新 create feedstock PR fork 仓库以使用 (GH#2223, GH#2237)

    • 更新开发要求并使用最新的文档要求 (GH#2225)

感谢以下人员对本版本的贡献: @gsheni, @ozzieD, @sbadithe, @tamargrey

v1.12.1 2022年8月4日#

  • 修复
    • 更新 TrendRollingTrend 原始函数以支持 IntegerNullable 输入 (GH#2204)

    • camel_and_title_to_snake 现在能处理包含数字的 snake case 字符串 (GH#2220)

    • 更改 _get_description 以根据空行进行分割,避免截断原始函数描述 (GH#2219)

  • 文档变更
    • 添加将新用户添加到 featuretools feedstock 的说明 (GH#2215)

  • 测试变更
    • 添加 create feedstock PR 工作流程 (GH#2181)

    • 添加针对 python 3.9 和 3.10 的性能测试 (GH#2198, GH#2208)

    • 添加测试以确保原始函数 docstrings 使用标准动词 (GH#2200)

    • 配置 codecov 以避免过早的 PR 评论 (GH#2209)

感谢以下人员对本版本的贡献: @gsheni, @rwedge, @sbadithe, @tamargrey, @thehomebrewnerd

v1.12.0 2022年7月19日#

警告

此 Featuretools 版本将不再支持 Python 3.7

  • 改进
    • 新增转换原始函数 IsWorkingHoursIsLunchTime (GH#2130)

    • Diff 添加 periods 参数并新增原始函数 DiffDatetime (GH#2155)

    • 新增原始函数 RollingTrend (GH#2170)

  • 修复
    • 解决 Woodwork 集成测试失败问题,并移除 codecov 的 Python 版本检查 (GH#2182)

  • 变更
  • 文档变更
    • 增强 DFS 中的单表条目,以包含有关为 dataframes 参数传递字典的信息 (GH#2160)

  • 测试变更
    • 标准化测试文件中的导入以简化访问 featuretools 函数 (GH#2166)

    • 将 spark 测试拆分为多个 CI 作业以加快运行时间 (GH#2183)

感谢以下人员对本版本的贡献: @dvreed77, @gsheni, @ozzieD, @rwedge, @sbadithe

v1.11.1 2022年7月5日#

  • 修复
    • 从 PartOfDay 原始函数中移除第 24 小时并添加第 0 小时 (GH#2167)

感谢以下人员对本版本的贡献: @tamargrey

v1.11.0 2022年6月30日#

  • 改进
    • 将 datetime 和 string 类型添加为 dfs cutoff_time 的有效参数 (GH#2147)

    • 新增转换原始函数 PartOfDay (GH#2128)

    • 新增转换原始函数 IsYearEnd, IsYearStart (GH#2124)

    • 新增 Feature.set_feature_names 方法以直接为多输出特征设置输出列名 (GH#2142)

    • 包含对 DayOfYearDaysInMonth 原始函数的 np.nan 测试 (GH#2146)

    • 允许将 dfs kwargs 传递给 get_valid_primitives (GH#2157)

  • 变更
    • 改进序列化和反序列化以减少重复原始函数信息的存储 (GH#2136, GH#2127, GH#2144)

    • 在 setup cfg 中对核心要求和测试要求进行排序 (GH#2152)

  • 测试变更
    • 修复 pandas 警告并减少 dask .apply 警告 (GH#2145)

    • 锁定 Windows 测试中使用的 graphviz 版本 (GH#2159)

感谢以下人员对本版本的贡献: @gsheni, @ozzieD, @rwedge, @sbadithe, @tamargrey, @thehomebrewnerd

v1.10.0 2022年6月23日#

  • 改进
    • 新增转换原始函数 DayOfYear, DaysInMonth, Quarter, IsLeapYear, IsQuarterEnd, IsQuarterStart (GH#2110, GH#2117)

    • 新增转换原始函数 IsMonthEnd, IsMonthStart (GH#2121)

    • 移动 Quarter 测试用例 (GH#2123)

    • 新增 summarize_primitives 函数用于获取有关可用原始函数的指标 (GH#2099)

  • 变更
  • 文档变更
    • 更新 contributing.md 以添加 pandoc (GH#2103, GH#2104)

    • 更新 API 参考的 NLP 原始函数部分 (GH#2109)

    • 修复发布说明格式问题 (GH#2139)

  • 测试变更
    • 最新的依赖检查器安装 spark 依赖项 (GH#2112)

    • 修复 pyspark v3.3.0 引起的测试失败 (GH#2114, GH#2120)

感谢以下贡献者参与此版本: @gsheni, @ozzieD, @rwedge, @sbadithe, @thehomebrewnerd

v1.9.2 2022年6月10日#

  • 修复
    • 为所有多输出特征列添加特征来源信息 (GH#2102)

  • 文档变更
    • 更新 contributing.md 以添加 pandoc (GH#2103)

感谢以下人员对本版本的贡献: @gsheni, @thehomebrewnerd

v1.9.1 2022年5月27日#

  • 改进
    • 更新 DateToHolidayDistanceToHoliday 原始函数以支持时区感知的输入 (GH#2056)

  • 变更
    • 删除 setup.py, MANIFEST.in 并将配置移至 pyproject.toml (GH#2046)

  • 文档变更
    • 更新 Slack 邀请链接 (GH#2044)

    • 在页脚添加 Slack 和 Stackoverflow 图标 (GH#2087)

    • 更新文档和 docstrings 中的死链接 (GH#2092, GH#2095)

  • 测试变更
    • 跳过对 normalize_dataframe 的测试,因为 Woodwork 0.16.3 版本中出现不同的错误 (GH#2052)

    • 修复在 Woodwork main 分支上测试时的 Woodwork 安装问题 (GH#2055)

    • 使用 codecov action v3 (GH#2039)

    • 新增工作流程以使用 Featuretools main 分支启动 EvalML 单元测试 (GH#2072)

    • 将 GitHub Actions 工作流程中的 yml 文件重命名为 yaml (GH#2073, GH#2077)

    • 更新 Dask 测试 fixtures 以防止不稳定的行为 (GH#2079)

    • 更新 Makefile 中的 pkg 命令 (GH#2081)

    • 新增计划任务工作流程,用于检查文档中的断开链接 (GH#2084)

感谢以下人员对本版本的贡献: @gsheni, @rwedge, @thehomebrewnerd

v1.9.0 2022年4月27日#

  • 改进
    • 通过添加额外信息改进 UnusedPrimitiveWarning (GH#2003)

    • 更新 DFS 原始函数匹配以使用原始函数 input_types 中定义的所有输入 (GH#2019)

    • 新增原始函数 MultiplyNumericBoolean (GH#2035)

  • 修复
    • 修复 Ordinal 输入到二元比较原始函数的问题 (GH#2024, GH#2025)

  • 变更
    • 更新 autonormalize 版本要求 (GH#2002)

    • 移除 LatLong 原始函数中额外的 NaN 检查 (GH#1924)

    • 在创建 EntitySet 期间规范化 LatLong NaN 值 (GH#1924)

    • 将原始函数字典传递到 check_primitive 中,以避免重复调用 (GH#2016)

    • MultiplyNumeric 原始函数输入中移除 BooleanBooleanNullable (GH#2022)

    • 更新序列化以兼容 Woodwork 0.16.1 版本 (GH#2030)

  • 文档变更
  • 测试变更
    • 更新单元测试以使用 Woodwork main 分支工作流程名称 (GH#2033)

    • 为 Woodwork main 分支上的单元测试失败添加 Slack 警报 (GH#2040)

感谢以下人员对本版本的贡献: @dvreed77, @gsheni, @ozzieD, @rwedge, @thehomebrewnerd

注意#

  • 此版本中对 DFS 算法的更新可能会导致 ft.dfs 返回的特征数量在某些情况下增加。

v1.8.0 2022年3月31日#

  • 变更
    • 移除实用函数 make_trans_primitivemake_agg_primitive (GH#1970)

  • 文档变更
    • 更新 setup cfg 中的项目 URL 以包含 Twitter 和 Slack (GH#1981)

    • 更新 nbconvert 到 6.4.5 版本以修复文档构建问题 (GH#1984)

    • 更新 ReadMe 以居中徽章并添加 docs 徽章 (GH#1993)

    • 在文档和 contributing 中添加 M1 安装说明 (GH#1997)

  • 测试变更
    • 更新计划任务工作流程,使其仅在 Alteryx 拥有的仓库中运行 (GH#1973)

    • 更新最低依赖检查器,使其使用支持写入文件的新版本 (GH#1975, GH#1976)

    • 添加 black linting 包并移除 autopep8 (GH#1978)

    • 更新测试以兼容 Woodwork 0.15.0 版本 (GH#1984)

感谢以下人员对本版本的贡献: @gsheni, @thehomebrewnerd

重大更改#

  • 实用函数 make_trans_primitivemake_agg_primitive 已被移除。要创建自定义原始函数,请直接定义原始函数类。

v1.7.0 2022年3月16日#

  • 改进
    • 添加对 Python 3.10 的支持 (GH#1940)

    • 新增 SquareRoot, NaturalLogarithm, Sine, Cosine 和 Tangent 原始函数 (GH#1948)

  • 修复
    • 更新 conda 安装命令以指定 channel (GH#1917)

  • 变更
  • 文档变更
    • 添加时间序列指南 (GH#1896)

    • 更新文档的最低 nlp_primitives 要求 (GH#1925)

    • 为 PyPi 添加 GitHub URL (GH#1928)

    • 添加 backport release 支持 (GH#1932)

    • 更新 release.md 中的说明 (GH#1963)

  • 测试变更
    • 更新测试用例以覆盖 __main__.py 文件 (GH#1927)

    • 升级 moto 要求 (GH#1929, GH#1938)

    • 添加 Python 3.9 linting, install complete 和 docs build CI 测试 (GH#1934)

    • 添加 CI 工作流程以测试最新的 woodwork main 分支 (GH#1936)

    • 为最低依赖检查器添加 wheel 的下限,并将 lint CI 测试限制为 Python 3.10 (GH#1945)

    • 修复 test_es.py 中的非确定性测试 (GH#1961)

感谢以下人员为本次发布做出的贡献:@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。

  • 改进
    • 添加使用偏移别名字符串作为滚动原语输入的功能 (GH#1809)

    • 更新以添加对 pandas 1.4.0 版本的支持 (GH#1881, GH#1895)

  • 修复
    • 修复 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)

    • 添加对 woodwork 0.12.0 的支持 (GH#1872, GH#1897)

    • 将 Datetime 和 LatLong 原语拆分到单独的文件中 (GH#1861)

    • 规范化 dataframe 的索引中将不包含 null 值 (GH#1897)

  • 文档变更
    • 提升 ipython 版本 (GH#1857)

    • 使用 Alteryx 链接更新 README.md (GH#1886)

  • 测试变更
    • 为安装工作流添加包冲突检查 (GH#1843)

    • 更改自动批准工作流以使用受让人 (GH#1843)

    • 更新自动批准工作流以在触发时删除分支和更改 (GH#1852)

    • 升级测试以使用 compose 0.8.0 版本 (GH#1856)

    • 更新了深度特征合成和特征序列化测试以使用新的原语文件 (GH#1861)

感谢以下人员为本次发布做出的贡献:@dvreed77, @gsheni, @jacobboney, @jeff-hernandez, @rwedge, @tamargrey, @thehomebrewnerd, @tuethan1999

重大变更#

  • 使用 normalize_dataframe 创建新的 dataframe 时,新 dataframe 的索引将不包含 null 值。

v1.4.0 2022年1月10日#

  • 改进
    • 添加 LatLong 转换原语 - GeoMidpoint, IsInGeoBox, CityblockDistance (GH#1814)

    • 添加用于 bug、功能请求和文档改进的问题模板 (GH#1834)

  • 修复
    • 修复了当 cutoff times 导致 null 值引入时,Woodwork 在特征矩阵上初始化可能失败的 bug (GH#1810)

  • 变更
    • 跳过特定 dask 使用行的代码覆盖 (GH#1829)

    • 将 numpy 的最低要求版本提高到 1.21.0,scipy 提高到 1.3.3,koalas 提高到 1.8.1 (GH#1833)

    • 移除对 pyyaml 的依赖 (GH#1833)

  • 文档变更
    • 在 release.md 中移除对 conda forge 的测试 (GH#1811)

  • 测试变更
    • 为 minimum 和 latest dependency 合并请求启用自动合并 (GH#1818, GH#1821, GH#1822)

    • 更改自动批准工作流以使用 PR 号码并每 30 分钟运行一次 (GH#1827)

    • 添加自动批准工作流,使其在单元测试完成后运行 (GH#1837)

    • 仅使用模拟的 S3 fixtures 测试从 S3 反序列化 (GH#1825)

    • 移除对 fastparquet 的测试依赖 (GH#1833)

感谢以下人员为本次发布做出的贡献:@davesque, @gsheni, @rwedge, @thehomebrewnerd

v1.3.0 2021年12月2日#

  • 改进
    • 添加 NumericLag 转换原语 (GH#1797)

  • 变更
    • 将测试依赖中的 pip 更新到 21.3.1 (GH#1789)

  • 文档变更
    • 在安装页面添加 Docker 安装说明和文档。 (GH#1785)

    • 使用正确的 python 版本更新文档中的安装页面 (GH#1784)

    • 修复《提高计算性能指南》中的格式 (GH#1786)

感谢以下人员为本次发布做出的贡献:@gsheni, @HenryRocha, @tamargrey @thehomebrewnerd

v1.2.0 2021年11月15日#

  • 改进
    • 添加带有整数参数的 Rolling 转换原语 (GH#1770)

  • 修复
    • 处理新的 graphviz FORMATS 导入 (GH#1770)

  • 变更
    • 将新版本的 featuretools_tsfresh_primitives 添加为附加库 (GH#1772)

    • 添加 load_weather 作为时间序列的演示数据集 GH#1777

感谢以下人员为本次发布做出的贡献:@gsheni, @tamargrey

v1.1.0 2021年11月2日#

  • 修复
    • 检查原语上的 base_of_exclude 属性,而不是特征类 (GH#1749)

    • 限制 pyspark 的上限 (GH#1748)

    • 修复 get_unused_primitives 只识别小写原语字符串的 bug (GH#1733)

    • 要求更新版本的 dask 和 distributed (GH#1762)

    • 修复当 n_jobs > 1 时,cutoff_time df 的直通列 (pass-through columns) 出现的 bug (GH#1765)

  • 变更
    • 将新版本的 nlp_primitives 添加为附加库 (GH#1743)

    • 在模拟数据集中将 date_of_birth(列名)更改为 birthday (GH#1754)

  • 文档变更
    • 升级 Sphinx 并修复文档配置错误 (GH#1760)

  • 测试变更
    • 修改 CI 以在 python 3.9 上使用最新依赖运行单元测试 (GH#1738)

    • 将 Python 版本标准化器添加到 Jupyter notebook linting 中 (GH#1741)

感谢以下人员为本次发布做出的贡献:@bchen1116, @gsheni, @HenryRocha, @jeff-hernandez, @ridicolos, @rwedge

v1.0.0 2021年10月12日#

  • 改进
    • 添加从 Woodwork DataTables 创建 EntitySet 的支持 (GH#1277)

    • 添加保留 Woodwork 类型信息的 EntitySet.__deepcopy__ (GH#1465)

    • 添加 EntitySet.__getstate__EntitySet.__setstate__ 以在 pickling 时保留类型信息 (GH#1581)

    • 返回的特征矩阵包含 woodwork 类型信息 (GH#1664)

  • 修复
    • 修复 Featuretools 1.0 的 DFSTransformer 文档 (GH#1605)

    • 修复 calculate_feature_matrix 时间类型检查和 encode_features 用于合成测试 (GH#1580)

    • 恢复 EqualNotEqual 原语中类别的重新排序 (GH#1640)

    • 修复 EntitySet.add_relationship 中导致 foreign_key 标签丢失的 bug (GH#1675)

    • 更新 DFS,使其不在 dataframe 的 last time index 列上构建特征 (GH#1695)

  • 变更
    • 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 并移除 EntityVariable 类 (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)

    • 移除代码中对 EntityVariable 的剩余引用 (GH#1612)

    • 将 Woodwork 更新到 0.7.1 版本,并更改了初始化 (GH#1648)

    • 移除与一个已解决的 pandas 问题相关的过时变通代码 (GH#1677)

    • 移除未使用的 _dataframes_equalcamel_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)

  • 测试变更
    • 移除 entity 测试 (GH#1521)

    • 修复损坏的 EntitySet 测试 (GH#1548)

    • 修复损坏的原语测试 (GH#1568)

    • 将 Jupyter notebook 清洁器添加到 linters 中 (GH#1719)

    • 更新 minimum 和 latest dependency checkers 的审阅者 (GH#1715)

    • EntitySet.__eq__ 方法的完整覆盖率 (GH#1725)

    • 添加测试以验证所有原语都可以在没有参数值的情况下初始化 (GH#1726)

感谢以下人员为本次发布做出的贡献:@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_typessemantic_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_indexsecondary_time_indexinteresting_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 入口点加载器加载非类对象以及 AggregationPrimitiveTransformPrimitive 基类 (GH#1662)

  • 测试变更
    • 更新最新的依赖检查器,包含正确的安装命令 (GH#1652)

    • 更新 isort 依赖 (GH#1654)

感谢以下人员为此版本的发布做出贡献:@davesque, @gsheni, @jeff-hernandez, @rwedge

v0.26.2 2021年8月17日#

  • 文档变更
    • 在 graphviz 安装说明中指定 conda 通道和 Windows exe 文件 (GH#1611)

    • 从布局 html 中移除 GA token (GH#1622)

  • 测试变更

感谢以下人员为此版本的发布做出贡献:@gsheni, @simha104

v0.26.1 2021年7月23日#

  • 修复
    • EmailAddressToDomain 原语设置 name 属性 (GH#1543)

  • 文档变更
    • 移除并忽略不必要的图文件 (GH#1544)

感谢以下人员为此版本的发布做出贡献:@davesque, @rwedge

v0.26.0 2021年7月15日#

  • 改进
    • 添加 replace_inf_values 实用函数,用于替换特征矩阵中的 inf 值 (GH#1505)

    • 添加 URLToProtocol, URLToDomain, URLToTLD, EmailAddressToDomain, IsFreeEmailDomain 作为转换原语 (GH#1508, GH#1531)

  • 修复
    • 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日#

  • 改进
    • 添加 get_valid_primitives 函数 (GH#1462)

    • 添加 EntitySet.dataframe_type 属性 (GH#1473)

  • 变更
    • 将 alteryx 开源更新检查器的最低版本升级到 2.0.0 (GH#1460)

  • 测试变更
    • 将测试所需的 pip 最低版本升级到 21.1.2 (GH#1475)

感谢以下人员为此版本的发布做出贡献:@gsheni, @rwedge

v0.24.1 2021年5月26日#

  • 修复
    • 将 pyyaml 的最低版本要求更新到 5.4 (GH#1433)

    • 将 psutil 的最低版本要求更新到 5.6.6 (GH#1438)

  • 文档变更
    • 更新 nbsphinx 版本以修复文档构建问题 (GH#1436)

  • 测试变更
    • 为每个 CI 作业创建单独的工作流程 (GH#1422)

    • 添加最低依赖检查器以生成最低要求文件 (GH#1428)

    • 在 PR 和 main 上为 python 3.7 添加针对最低依赖的单元测试 (GH#1432, GH#1445)

    • 将 urllib3 的最低版本要求更新到 1.26.5 (GH#1457)

感谢以下人员为此版本的发布做出贡献:@gsheni, @jeff-hernandez, @rwedge, @thehomebrewnerd

v0.24.0 2021年4月30日#

  • 变更
    • 在 GitHub 上添加自动分配 bot (GH#1380)

    • 如果实体集中只有一个实体,则将 DFS max_depth 减少到 1 (GH#1412)

    • 放弃对 Python 3.6 的支持 (GH#1413)

  • 文档变更
    • 改进发布说明的格式 (GH#1396)

  • 测试变更
    • 更新 Dask/Koalas 测试 fixtures (GH#1382)

    • 更新测试 fixtures 和文档中的 Spark 配置 (GH#1387, GH#1389)

    • 如果一个 CI 作业失败,不要取消其他作业 (GH#1386)

    • 更新 boto3 和 urllib3 的版本要求 (GH#1394)

    • 更新依赖检查器创建 PR 的 token (GH#1402, GH#1407, GH#1409)

感谢以下人员为此版本的发布做出贡献:@gsheni, @jeff-hernandez, @rwedge, @tamargrey, @thehomebrewnerd

v0.23.3 2021年3月31日#

警告

Featuretools 的下一个非错误修复版本将不再支持 Python 3.6

  • 变更
    • 进行少量更新以兼容 Koalas 1.7.0 版本 (GH#1351)

    • 在 setup.py 分类器中明确提及支持 Python 3.8 (GH#1371)

    • 修复 smart-open 5.0.0 版本的问题 (GH#1372, GH#1376)

  • 测试变更
    • 使发布说明更新检查独立于单元测试 (GH#1347)

    • 性能测试现在指定要检查的提交 (GH#1354)

感谢以下人员对本版本的贡献: @gsheni, @rwedge, @thehomebrewnerd

v0.23.2 2021年2月26日#

警告

Featuretools 的下一个非错误修复版本将不再支持 Python 3.6

  • 改进
    • list_primitives 函数返回有效的输入类型和返回类型 (GH#1341)

  • 修复
    • 安装 koalas 时限制 numpy 版本 (GH#1329)

  • 变更
    • 警告 python 3.6 用户在未来版本中将不再支持 (GH#1344)

  • 文档变更
    • 更新定义自定义原语的文档 (GH#1332)

    • 更新 featuretools 发布说明 (GH#1345)

感谢以下人员为此版本的发布做出贡献:@gsheni, @jeff-hernandez, @rwedge

v0.23.1 2021年1月29日#

  • 修复
    • 如果父级缺失,计算直接特征时使用默认值 (GH#1312)

    • 修复 EntitySet.__eq__Entity.__eq__ 的错误并改进测试 (GH#1323)

  • 文档变更
    • 更新文档工具栏中的 Twitter 链接 (GH#1322)

  • 测试变更

感谢以下人员为此版本的发布做出贡献:@gsheni, @jeff-hernandez, @rwedge, @seriallazer, @thehomebrewnerd

v0.23.0 2020年12月31日#

  • 修复
    • 修复从不寻常的 dtype 推断变量类型的逻辑 (GH#1273)

    • 允许将没有关系的实体传递给 calculate_feature_matrix (GH#1290)

  • 变更
    • query_by_values 方法从 Entity 移动到 EntitySet (GH#1251)

    • _handle_time 方法从 Entity 移动到 EntitySet (GH#1276)

    • 移除对 ravel 的使用,以解决 pandas 1.2.0 中的意外警告 (GH#1286)

  • 文档变更
    • 修复附加组件的安装命令 (GH#1279)

    • 修复文档中各种损坏的链接 (GH#1313)

  • 测试变更
    • 使用仓库范围的 token 进行依赖检查 (GH#1245:, GH#1248)

    • 修复文档 CI 测试期间的安装错误 (GH#1250)

感谢以下人员为此版本的发布做出贡献:@gsheni, @jeff-hernandez, @rwedge, @thehomebrewnerd

破坏性更改#

  • Entity.query_by_values 已被移除,并替换为 EntitySet.query_by_values,后者增加了 entity_id 参数以指定实体集中应使用哪个实体进行查询。

v0.22.0 2020年11月30日#

  • 改进
    • 允许直接在变量上设置变量描述 (GH#1207)

    • 添加为特征谱系图添加特征描述标题的功能 (GH#1212)

    • 在 read_entityset 中添加对本地 tar 文件的支持 (GH#1228)

  • 修复
    • 更新以修复 koalas 1.4 导致的单元测试错误 (GH#1230, GH#1232)

  • 文档变更
    • 移除未使用的反馈板链接 (GH#1220)

    • 更新页脚,包含 Alteryx Innovation Labs (GH#1221)

    • 更新文档中指向仓库的链接,使用 alteryx 组织 url (GH#1224)

  • 测试变更
    • 更新发布说明检查,使用新的仓库 url (GH#1222)

    • 使用新版本的 pull request Github Action (GH#1234)

    • 在 featuretools[complete] 测试期间升级 pip (GH#1236)

    • 将 CI 测试迁移到 github actions (GH#1226, GH#1237, GH#1239)

感谢以下人员为此版本的发布做出贡献:@frances-h, @gsheni, @jeff-hernandez, @kmax12, @rwedge, @thehomebrewnerd

v0.21.0 2020年10月30日#

  • 改进
    • 添加 describe_feature 以生成给定特征的英文特征描述 (GH#1201)

  • 修复
    • 更新 EntitySet.add_last_time_indexes 以兼容 Koalas 1.3.0 (GH#1192, GH#1202)

  • 变更
    • 将 koalas 的要求保留在单独的文件中 (GH#1195)

  • 文档变更
    • 在文档中添加了页脚 (GH#1189)

    • 添加特征选择函数指南 (GH#1184)

    • 修复 README.md 中带有正确链接的徽章 (GH#1200)

  • 测试变更
    • pysparkkoalas 添加到自动化依赖检查中 (GH#1191)

    • 将 DockerHub 凭据添加到 CI 测试环境 (GH#1204)

    • 更新 CI 上的 premium 原语作业名称 (GH#1205)

感谢以下人员为此版本的发布做出贡献:@frances-h, @gsheni, @jeff-hernandez, @rwedge, @tamargrey, @thehomebrewnerd

v0.20.0 2020年9月30日#

警告

Text 变量类型已弃用,并已被 NaturalLanguage 变量类型取代。Text 变量类型将在未来的版本中移除。

  • 修复
    • 允许序列化 FeatureOutputSlice 特征 (GH#1150)

    • 修复在 cutoff times 中传递标签并使用 approximate 时生成重复标签列的问题 (GH#1160)

    • 确定 calculate_feature_matrix 在使用 approximate 和作为 pandas DataFrame 子类的 cutoff df 时的行为 (GH#1166)

  • 变更
    • Text 变量类型已被 NaturalLanguage 取代 (GH#1159)

  • 文档变更
    • 更新发布文档以提高清晰度并添加未来版本模板 (GH#1151)

    • 使用 PyData Sphinx 主题 (GH#1169)

  • 测试变更
    • 停止在测试中要求使用单线程 dask scheduler (GH#1163, GH#1170)

感谢以下人员为此版本的发布做出贡献:@gsheni, @rwedge, @tamargrey, @tuethan1999

v0.19.0 2020年9月8日#

  • 改进
    • 支持在 entitysets 中使用 Koalas DataFrames (GH#1031)

    • 添加用于选择 null、相关和单值特征的函数 (GH#1126)

  • 修复
    • 修复 encode_features 将排除的特征列转换为数字 dtype 的问题 (GH#1123)

    • 提高 dfs 中检查未使用原语的性能 (GH#1140)

  • 变更
    • 移除堆叠转换原语的能力 (GH#1119, GH#1145)

    • 对传递给 dfs 的原语进行排序,以获得一致的特征顺序* (GH#1119)

  • 文档变更
    • 为 dfs 和 calculate_feature_matrix 添加了返回值 (GH#1125)

  • 测试变更
    • 更好的测试用例,用于从无时间索引规范化为有时间索引 (GH#1113)

* 传递使用 make_trans_primitivemaxe_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)

  • 变更
    • 使 DFS 与所有 Datetime 类型的 TimeSince 原语匹配 (GH#1048)

    • 将默认分支更改为 main (GH#1038)

    • 如果向 Entity.delete_variables() 提供了不正确的输入,则抛出 TypeError (GH#1064)

    • 更新以兼容 pandas 1.1.0 (GH#1079, GH#1089)

    • 将 pandas 版本设置为 pandas>=0.24.1,<2.0.0。在 Week 原语中过滤 pandas 弃用警告。(GH#1094)

  • 文档变更
    • 移除 benchmarks 文件夹 (GH#1049)

    • 在 variables 页面中添加自定义变量类型部分 (GH#1066)

  • 测试变更
    • ft.demo.load_mock_customer 添加 fixture (GH#1036)

    • 重构 Dask 测试单元 (GH#1052)

    • 实现自动化流程以检查关键依赖项 (GH#1045, GH#1054, GH#1081)

    • 不对 release PR 或自动化依赖 PR 运行 changelog 检查 (GH#1057)

    • 修复 Dask 测试中导致代码覆盖率问题的非确定性行为 (GH#1070)

感谢以下人员为此版本的发布做出贡献:@frances-h, @gsheni, @monti-python, @rwedge, @systemshift, @tamargrey, @thehomebrewnerd, @wsankey

v0.17.0 2020年6月30日#

  • 改进
    • 为变量类型添加 list_variable_typesgraph_variable_types (GH#1013)

    • 添加 graph_feature 以生成给定特征的特征谱系图 (GH#1032)

  • 修复
    • 改进使用 Dask dataframe 作为 cutoff times 时的警告 (GH#1026)

    • 如果尝试添加 entityset 关系,其中子变量也是子索引,则报错 (GH#1034)

  • 变更
    • 移除 Feature.get_names (GH#1021)

    • 移除原语中不必要的 pd.Seriespd.DatetimeIndex 调用 (GH#1020, GH#1024)

    • 改进处理截止时间的方式,特别是传入单个值或无值时 (GH#1028)

    • find_variable_types 移至变量工具集 (GH#1013)

  • 文档变更
    • 添加关于变量类型的页面,描述部分变量类型和工具函数 (GH#1013)

    • 从文档中移除 featuretools enterprise (GH#1022)

    • 在 contributing.md 中添加开发安装说明 (GH#1030)

  • 测试变更
    • 为 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 日#

  • 改进
    • 支持在实体集中使用 Dask DataFrames (GH#783)

    • 通过传入 entities 字典初始化 EntitySet 时添加 make_index (GH#1010)

    • 允许在 primitive_options 字典中使用原始类型类和实例作为键 (GH#993)

  • 修复
    • 干净地关闭 tqdm 实例 (GH#1018)

    • 解决 LatLong 列中 NaN 值的问题 (GH#1007)

  • 测试变更
    • 更新测试以兼容 numpy v1.19.0 (GH#1016)

感谢以下人员对本次发布的贡献:@Alex-Monahan, @frances-h, @gsheni, @rwedge, @thehomebrewnerd

v0.15.0,2020 年 5 月 29 日#

  • 改进
    • 添加 get_default_aggregation_primitivesget_default_transform_primitives (GH#945)

    • 允许截止时间数据框列的顺序任意 (GH#969, GH#995)

    • 添加 Age 原始类型,并使其成为 DFS 的默认转换原始类型 (GH#987)

    • 添加 include_cutoff_time 参数 - 控制截止时间的数据是否包含在特征计算中 (GH#959)

    • 允许 entity_from_dataframe 函数通过 type_string 引用 variables_types (GH#988)

  • 修复
    • 修复 Equals 和 NotEquals 原始类型在比较分类数据或不同数据类型时出现的错误 (GH#968)

    • 规范化 Variable 类的 type_strings,使得 find_variable_types 函数生成的字典具有清晰的键名转换关系 (GH#982, GH#996)

    • 由于 pandas.datetime 已弃用,在 test_calculate_feature_matrix 中移除它 (GH#998)

  • 文档变更
    • 文档添加对 Python 3.8 的支持 (GH#983)

    • 添加一致的 Entityset Docstrings (GH#986)

  • 测试变更
    • 添加 Python 3.8 环境的自动化测试 (GH#847)

    • 更新测试依赖项 (GH#976)

感谢以下人员对本次发布的贡献:@ctduffy, @frances-h, @gsheni, @jeff-hernandez, @rightx2, @rwedge, @sebrahimi1988, @thehomebrewnerd, @tuethan1999

重大变化#

  • 现在,使用截止时间数据框但未将时间列标记为目标实体时间索引变量名或 timefeaturetools.dfsfeaturetools.calculate_feature_matrix 调用将导致 AttributeError。之前,时间列被选为不是实例 ID 列的第一列。本次更新后,数据框中列的位置不再用于确定时间列。现在,截止时间数据框中的实例 ID 列和时间列可以按任意顺序排列,只要它们被正确命名。

  • 所有 Variable 子类的 type_string 属性现在都是其类名的蛇形命名法转换。这改变了 Unknown, IPAddress, EmailAddress, SubRegionCode, FilePath, LatLongZIPcode 类的 type_string。使用这些变量的旧保存实体集可能加载不正确。

v0.14.0,2020 年 4 月 30 日#

  • 改进
    • ft.encode_features - 对独热编码列使用更少内存 (GH#876)

  • 修复
    • 使用 logger.warning 修复已弃用的 logger.warn (GH#871)

    • 向 interesting_values 添加 dtype 以修复已弃用且无 dtype 的空 Series (GH#933)

    • 移除训练窗口中的重叠 (GH#930)

    • 修复 Jupyter notebook 中的进度条 (GH#932)

  • 变更
    • 将高级原始类型 CI 测试更改为 Python 3.6 (GH#916)

    • 移除对 Python 3.5 的支持 (GH#917)

  • 文档变更
    • 修复 README 中指向文档的链接 (GH#872)

    • 修复使用正确组织的 Github 链接 (GH#908)

    • 修复文档和 docstrings 中使用更新地址的超链接 (GH#910)

    • 移除用于将文档上传到 AWS 的未使用脚本 (GH#911)

感谢以下人员对本次发布的贡献:@frances-h, @gsheni, @jeff-hernandez, @rwedge

重大变化#

  • 在特征计算中使用训练窗口可能导致与之前版本不同的值。这样做是为了防止连续的训练窗口重叠,方法是排除最早时间点的数据。例如,如果我们在小时的第一分钟使用截止时间,并使用一小时的训练窗口,那么前一小时的第一分钟将不再包含在特征计算中。

v0.13.4,2020 年 3 月 27 日#

警告

Featuretools 的下一个非错误修复版本将不再支持 Python 3.5

  • 修复
    • 修复 ft.show_info() 在 Jupyter notebook 中不显示的问题 (GH#863)

  • 变更
  • 文档变更
    • 添加指向 primitives.featurelabs.com 的链接 (GH#860)

    • 在 API 参考中添加源代码链接 (GH#862)

    • 更新 Dask/Spark 集成测试的链接 (GH#867)

    • 更新 featuretools 的发布文档 (GH#868)

  • 测试变更

感谢以下人员对本次发布的贡献:@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 日#

  • 修复
    • 当 ignore_variables 输入错误时抛出错误 (GH#826)

    • 修复没有子数据时未创建多输出特征的问题 (GH#834)

    • 移除 Equals 和 NotEquals 原始类型中的类型转换 (GH#504)

  • 变更
    • 替换已弃用的 pd.timedelta 时间单位 (GH#822)

    • 将 sklearn 包装器移至单独的库 (GH#835, GH#837)

  • 测试变更
    • 在 Windows 环境中运行单元测试 (GH#790)

    • 更新 boto3 测试版本要求 (GH#838)

感谢以下人员对本次发布的贡献:@jeffzi, @kmax12, @rwedge, @systemshift

v0.13.0,2019 年 11 月 30 日#

  • 改进
    • 添加 GitHub Action 自动将发布上传到 PyPI (GH#816)

  • 修复
    • 修复部分原始类型选项不生效的问题 (GH#807)

    • 修复添加有趣特征后转换为 pickle 或 parquet 的问题 (GH#798, GH#823)

    • Diff 原始类型现在使用所有可用数据进行计算 (GH#824)

    • 阻止 DFS 为全局忽略的变量创建 Identity Features (GH#819)

  • 变更
    • 从 serialize.py 中移除 Python 2.7 支持 (GH#812)

    • 将 smart_open, boto3 和 s3fs 设为可选依赖 (GH#827)

  • 文档变更
    • 在 install.rst 中移除 Python 2.7 支持并添加 3.7 (GH#805)

    • 修复文档中的导入错误 (GH#803)

    • 修复 changelog 中发布标题格式 (GH#806)

  • 测试变更
    • 在 CI 上使用多 CPU 运行测试 (GH#811)

    • 重构测试实体集创建以避免保存到磁盘 (GH#813, GH#821)

    • 从 test_es.py 中移除 get_values() 以移除警告 (GH#820)

感谢以下人员对本次发布的贡献:@frances-h, @jeff-hernandez, @rwedge, @systemshift

重大变化#

  • 现在用于从 S3 或 URL 下载或上传的库是可选的,并且不再默认安装。要使用此功能,需要单独安装它们。

  • Diff 原始类型计算方式的修复可能会减慢使用此原始类型的特征列表的整体计算时间。

v0.12.0,2019 年 10 月 31 日#

  • 改进
    • 添加 First 原始类型 (GH#770)

    • 添加 Entropy 聚合原始类型 (GH#779)

    • 允许为多输出原始类型自定义命名 (GH#780)

  • 修复
    • 防止用户使用 additional_variables 移除基础实体时间索引 (GH#768)

    • 修复将多输出原始类型作为 groupby trans 原始类型提供给 dfs 时出现的错误 (GH#786)

  • 变更
    • 停止支持 Python 2 (GH#759)

    • 为 AvgTimeBetween 添加 unit 参数 (GH#771)

    • 要求 Pandas 版本为 0.24.1 或更高 (GH#787)

  • 文档变更
    • 更新 featuretools Slack 链接 (GH#765)

    • 设置仓库以使用 Read the Docs (GH#776)

    • 将 First 原始类型添加到 API 参考文档 (GH#782)

  • 测试变更

感谢以下人员对本次发布的贡献:@ablacke-ayx, @BoopBoopBeepBoop, @jeffzi, @kmax12, @rwedge, @thehomebrewnerd, @twdobson

v0.11.0,2019 年 9 月 30 日#

警告

Featuretools 的下一个非错误修复版本将不再支持 Python 2

  • 改进
    • 改进文件复制和写入方式 (GH#721)

    • 在 entityset.plot 的图中添加行数 (GH#727)

    • 在 DFS 和 Timedelta 中添加对 pandas DateOffsets 的支持 (GH#732)

    • 允许在 encode_features 中使用字典为特定特征指定 top_n 值 (GH#735)

    • 为 dfs() 和 calculate_feature_matrix() 添加 progress_callback 参数 (GH#739, GH#745)

    • 允许按列或按实体指定原始类型 (GH#748)

  • 修复
    • 修复实体集反序列化问题 (GH#720)

    • 添加错误消息,指示 DateTimeIndex 是变量但未设置为 time_index 的情况 (GH#723)

    • 修复 CumCount 和其他以 ID 为输入的 group-by transform 原始类型问题 (GH#733, GH#754)

    • 修复进度条计数不足问题 (GH#743)

    • 更新 training_window 错误断言,使其仅对照观测值检查 (GH#728)

    • 保存实体集时不要删除整个目标文件夹 (GH#717)

  • 变更
    • 在模式版本不匹配时抛出警告而非错误 (GH#718)

    • 将特征计算结果按提供的实例 ID 顺序返回 (GH#676)

    • 从 dfs() 和 calculate_feature_matrix() 显示的进度条中移除剩余时间 (GH#739)

    • 在 normalize_entity() 中,当 base_entity 的 time_index 类型无效时抛出警告 (GH#749)

    • 移除 toolz 作为直接依赖 (GH#755)

    • 允许在 Multiply 原始类型中使用布尔变量类型 (GH#756)

  • 文档变更
    • 更新 Compose 的 URL (GH#716)

  • 测试变更

感谢以下人员对本次发布的贡献:@angela97lin, @chidauri, @christopherbunn, @frances-h, @jeff-hernandez, @kmax12, @MarcoGorelli, @rwedge, @thehomebrewnerd

重大变化#

  • 特征计算结果将按照提供的实例 ID 的顺序返回,而不是按照计算实例的时间点顺序返回。

v0.10.1,2019 年 8 月 25 日#

  • 修复
    • 修复序列化的 LatLong 数据被加载为字符串的问题 (GH#712)

  • 文档变更
    • 修复 FAQ 单元格输出问题 (GH#710)

感谢以下人员为此版本的发布做出贡献:@gsheni, @rwedge

v0.10.0,2019 年 8 月 19 日#

警告

Featuretools 的下一个非错误修复版本将不再支持 Python 2

  • 改进
    • 提供更频繁的进度条更新并更新块大小行为 (GH#631, GH#696)

    • 在 encode_features 中添加 drop_first 参数 (GH#647)

    • 添加对堆叠多输出原始类型的支持 (GH#679)

    • 生成直接特征的转换特征 (GH#623)

    • 添加从 S3 序列化和反序列化以及从 URL 反序列化功能 (GH#685)

    • 添加 nlp_primitives 作为附加库 (GH#704)

    • 将 AutoNormalize 添加到 Featuretools 插件 (GH#699)

    • 在 Timedelta 中添加相对单位(月/年)功能 (GH#692)

    • 添加 categorical-encoding 作为附加库 (GH#700)

  • 修复
    • 修复 DFS 中的性能回归问题 (GH#637)

    • 修复特征关系路径反序列化问题 (GH#665)

    • 添加祖先关系变量后设置索引 (GH#668)

    • 修复 Entity init 中用户提供的 variable_types 修改问题 (GH#675)

    • 不计算不必要特征的依赖项 (GH#667)

    • 防止规范化实体的新实体与基础实体具有相同索引 (GH#681)

    • 更新变量类型推断,更好地检查字符串值 (GH#683)

  • 变更
    • 移动 dask, distributed 导入 (GH#634)

  • 文档变更
    • 杂项更改 (GH#641, GH#658)

    • 修改 encoding 中 top_n 的 doc_string (GH#648)

    • 为 ComposeML 添加超链接 (GH#653)

    • 添加常见问题解答 (GH#620, GH#677)

    • 修复带有多个问号的常见问题解答问题 (GH#673)

  • 测试变更

感谢以下人员对本次发布的贡献:@alexjwang, @allisonportis, @CJStadler, @ctduffy, @gsheni, @jeff-hernandez, @jeremyliweishih, @kmax12, @rwedge, @zhxt95,

v0.9.1,2019 年 7 月 3 日#

  • 改进
    • 加速 groupby transform 计算 (GH#609)

    • 当实体之间存在多条路径时,沿所有路径生成特征 (GH#600, GH#608)

  • 修复
    • 使用列表选择数据框的列 (GH#615)

    • 将基于 Index 特征计算的特征类型更改为 Categorical (GH#602)

    • 通过正向关系过滤数据框 (GH#625)

    • 在 Python 2 的 requirements 中指定 Dask 版本 (GH#627)

    • 在特征计算期间保持数据框按时间排序 (GH#626)

    • 修复 encode_features 中为多输出特征创建重复列的错误 (GH#622)

  • 变更
    • 移除未使用的 variance_selection.py 文件 (GH#613)

    • 移除 Timedelta data 参数 (GH#619)

    • 移除 DaysSince 原始类型 (GH#628)

  • 文档变更
  • 测试变更

感谢以下人员对本次发布的贡献:@CJStadler, @kmax12, @rwedge, @gsheni, @kkleidal, @ctduffy

v0.9.0,2019 年 6 月 19 日#

  • 改进
    • 为 timesince 原始类型添加 unit 参数 (GH#558)

    • 添加安装可选附加库的功能 (GH#551)

    • 从打开的文件和字符串加载和保存特征 (GH#566)

    • 支持自定义变量类型 (GH#571)

    • 支持两个实体之间存在多条路径的实体集 (GH#572, GH#544)

    • 添加 show_info 函数,并向 CLI featuretools info 添加更多输出信息 (GH#525)

  • 修复
    • Normalize_entity 在 'make_time_index' 是无效字符串时指定错误 (GH#550)

    • 为实体集序列化添加模式版本 (GH#586)

    • 已重命名特征的名称被正确序列化 (GH#585)

    • 改进 normalize_entity 和 entity_from_dataframe 中 index/time_index 为同一列时的错误消息 (GH#583)

    • 移除所有对 allow_where 的提及 (GH#587, GH#588)

    • 移除 normalize entity 中的未使用变量 (GH#589)

    • 将 time since 返回类型更改为数值型 (GH#606)

  • 变更
    • 重构 get_pandas_data_slice 以接收单个实体 (GH#547)

    • 更新 TimeSincePrevious 和 Diff 原始类型 (GH#561)

    • 移除不必要的 time_last 变量 (GH#546)

  • 文档变更
  • 测试变更

感谢以下人员对本次发布的贡献:@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)

  • 测试更新 (GH#509, GH#516, GH#517, GH#539)

感谢以下贡献者为本次发布做出的贡献: @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)

  • 原始特征 docstring 更新 (GH#489, GH#492, GH#494, GH#495)

  • 将返回字符串的原始特征函数更改为返回函数 (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)

  • 支持直接调用原始特征实例的函数 (GH#461, GH#468)

  • 支持其他库通过 entrypoints 扩展 featuretools 功能 (GH#452)

  • 移除 featuretools 安装命令 (GH#475)

  • 添加 GroupByTransformFeature (GH#455, GH#472, GH#476)

  • 更新 Haversine 原始特征 (GH#435, GH#462)

  • SubtractNumericDivideNumeric 原始特征添加 commutative 参数 (GH#457)

  • 添加 FilePath 变量类型 (GH#470)

  • 添加 PhoneNumber, DateOfBirth, URL 变量类型 (GH#447)

  • 泛化 infer_variable_type, convert_variable_dataconvert_all_variable_data 方法 (GH#423)

  • 文档更新 (GH#438, GH#446, GH#458, GH#469)

  • 测试更新 (GH#440, GH#444, GH#445, GH#459)

感谢以下贡献者为本次发布做出的贡献: @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)

  • 替换 NUniqueget_function (GH#434)

  • _calculate_idenity_features 现在只返回请求的特征,而不是整个实体 (GH#429)

  • 原始特征函数名称唯一性 (GH#424)

  • 更新 NumCharactersNumWords 原始特征 (GH#419)

  • 移除 Variable.dtype (GH#416, GH#433)

  • 更改 zipcode 表示,为 pandas 使用字符串 (GH#418)

  • 移除 pandas 版本上限 (GH#408)

  • 将 S3 依赖项设为可选 (GH#404)

  • 检查 agg_primitivestrans_primitives 是否是正确的原始特征类型 (GH#397)

  • Mean 原始特征更改 (GH#395)

  • 修复多输出聚合上的转换堆叠问题 (GH#394)

  • 修复 list_primitives (GH#391)

  • 处理 graphviz 依赖项 (GH#389, GH#396, GH#398)

  • 测试更新 (GH#402, GH#417, GH#433)

  • 文档更新 (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日#

感谢以下贡献者为本次发布做出的贡献: @floscha, @gsheni, @kmax12, @RogerTangos, @rwedge

v0.5.1,2018年12月17日#

  • 添加缺失的依赖项 (GH#353)

  • 将文档中的注释移至备注 (GH#352)

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日#

  • 改进所有特征计算的性能 (GH#224)

  • 更新 agg 原始特征以使用更高效的函数 (GH#215)

  • 优化元数据计算 (GH#229)

  • 当在 cutoff time 没有数据时更健壮的处理 (GH#234)

  • categorical 合并的临时解决方案 (GH#231)

  • 切换哪个 CSV 文件与哪个变量关联 (GH#228)

  • 移除 query_by_values, filter_and_sort 中未使用的 kwargs (GH#225)

  • 移除 convert_links_to_integers (GH#219)

  • 添加 conda 安装说明 (GH#223, GH#227)

  • 添加使用 Dask 进行并行化的示例到文档 (GH#221)

v0.2.2,2018年8月20日#

  • 移除不必要的检查无相关实例调用并重构 (GH#209)

  • 通过支持 pandas categorical 类型改进内存使用 (GH#196)

  • 将最低 pandas 版本从 0.20.3 提升到 0.23.0 (GH#216)

  • 更好的并行内存警告 (GH#208, GH#214)

  • 更新演示数据集 (GH#187, GH#201, GH#207)

  • 使原始特征查找不区分大小写 (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日#

  • 修复 CPU 计数 (GH#176)

  • 更新 flight (GH#175)

  • 将特征矩阵计算辅助函数移动到单独的文件 (GH#177)

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_timecalculate_feature_matrix 中的一个选项的 list of times (GH#165)

  • Config 进行错误检查以查看是否可以写入磁盘 (GH#162)

v0.1.21,2018年5月30日#

v0.1.20,2018年4月13日#

  • DFS 参数中原始特征作为字符串 (GH#129)

  • 修复整数时间索引的 bug (GH#128)

  • 添加 make_temporal_cutoffs 工具函数 (GH#126)

  • 显示所有实体,将 shape 显示切换为 row/col (GH#124)

  • 计算特征矩阵时改进分块处理 (GH#121)

  • 修复 num characters nan 问题 (GH#118)

  • 修改 ignore_variables docstring (GH#117)

v0.1.19,2018年3月21日#

  • 更具描述性的 DFS 进度条 (GH#69)

  • 在计算 NumWords 之前将文本变量转换为字符串 (GH#106)

  • EntitySet.concat() 重新索引关系 (GH#96)

  • 在编码特征矩阵时保留非特征列 (GH#111)

  • 对 uses_full_entity 特征的依赖项使用完整的实体更新 (GH#110)

  • 更新零售示例中的列名 (GH#104)

  • 处理需要访问实体所有值的 Transform 特征 (GH#91)

v0.1.18 2018年2月27日#

  • 修复了相关实例错误 (GH#97)

  • 向计算出的特征矩阵添加非特征列 (GH#78)

  • 放宽 numpy 版本要求 (GH#82)

  • 移除 entity_from_csv、tests 和 lint (GH#71)

v0.1.17 2018年1月18日#

  • LatLong 类型 (GH#57)

  • 上次时间索引修复 (GH#70)

  • 使中位数聚合原语默认忽略 nan (GH#61)

  • 移除 Python 3.4 支持 (GH#64)

  • 更改 normalize_entity 以更新 secondary_time_index (GH#59)

  • 取消固定要求 (GH#53)

  • associative -> commutative (GH#56)

  • 添加 Words 和 Chars 原语 (GH#51)

v0.1.16 2017年12月19日#

  • 修复 EntitySet.combine_variables 并标准化 encode_features (GH#47)

  • Python 3 兼容性 (GH#16)

v0.1.15 2017年12月18日#

  • 修复示例数据中的变量类型 (GH#37)

  • 自定义原语关键字参数修复 (GH#38)

  • 更改了 make_trans_primitive docstring 中参数的顺序和文本 (GH#42)

v0.1.14 2017年11月20日#

  • 上次时间索引 (GH#33)

  • 更新 Scipy 版本到 1.0.0 (GH#31)

v0.1.13 2017年11月1日#

  • 添加 MANIFEST.in (GH#26)

v0.1.11 2017年10月31日#

  • 包代码检查 (GH#7)

  • 自定义原语创建函数 (GH#13)

  • 将要求拆分到单独的文件并固定到最新版本 (GH#15)

  • 选择低信息量特征 (GH#18)

  • 修复文档拼写错误 (GH#19)

  • 修复了针对罕见 nan 情况的 Diff 原语 (GH#21)

  • 添加了一些缺失的文档字符串 (GH#23)

  • 趋势修复 (GH#22)

  • 移除 EntitySet.to_pickle() 中的 as_dir=False 选项 (GH#20)

  • 实体归一化保留复制和附加变量的类型 (GH#25)

v0.1.10 2017年10月12日#

  • 添加了 NumTrue 原语并更新了其他原语的 docstring (GH#11)

  • 修复了与相同基础特征相关的哈希问题 (GH#8)

  • Head 修复 (GH#9)

  • 修复训练窗口 (GH#10)

  • 为原语添加关联属性 (GH#3)

  • 添加状态徽章,修复 setup.py 中的许可证 (GH#1)

  • 修复了头部输出和 flight 示例索引 (GH#2)

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_matrixdfs 中的 approximate 参数进行了性能改进

  • 添加了 Week 转换原语

v0.1.6 2017年7月26日#

  • 添加了 load_featuressave_features,用于持久化和重新加载特征

  • 添加了 save_progress 参数到 calculate_feature_matrix

  • 添加了 approximate 参数到 calculate_feature_matrixdfs

  • 添加了 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日#

  • 初次发布