版本 1.3.X#

版本 1.3.0#

部署日期: 2022年5月5日

贡献者#

在这个版本中,我们为所有的转换器添加了 get_feature_names_out 功能!你要求的,我们实现了 :)

此外,我们引入了一个用于 时间序列预测新模块。该模块将承载创建适合时间序列预测特征的转换器。我们创建了三个新的转换器:LagFeaturesWindowFeaturesExpandingWindowFeatures。我们得到了经验丰富的预测专家 Kishan Manani 和帮助我们起草新类的 Morgan Sell 的非凡支持。感谢你们两位所做的不可思议的工作!

我们还改进了我们的特征创建类的功能。为此,我们弃用了之前的类 MathematicalCombinationCombineWithFeatureReference,这些类名有点冗长,取而代之的是新的类 MathFeaturesRelativeFeatures

我们还重命名了类 CyclicalTransformerCyclicalFeatures

我们还增强了 SelectByTargetMeanPerformanceSklearnTransformerWrapper 的功能。

此外,我们收到了一些错误报告并进行了修复,这些都在下面列出,同时我们对当前的类进行了多项增强。

非常感谢所有为此次发布做出贡献的人,是你们的努力使得这次大规模发布成为可能!

新模块#

新的变压器#

新功能#

增强功能#

  • 我们所有的特征选择转换器现在都可以检查变量在前面的选择步骤中是否未被删除 (Gilles Verbockhaven)

  • DecisionTreeDiscretiserDecisionTreeEncoder 现在会检查用户输入的目标是否适合回归或分类 (Morgan Sell)

  • DecisionTreeDiscretiserDecisionTreeEncoder 现在接受所有 sklearn 交叉验证构造函数 (Soledad Galli)

  • SklearnTransformerWrapper 现在实现了 inverse_transform 方法 (Soledad Galli)

  • SklearnTransformerWrapper 现在支持额外的转换器,例如,PolynomialFeatures (Soledad Galli)

  • CategoricalImputer() 现在会告诉你哪些变量有多个众数 (Soledad Galli)

  • DatetimeFeatures() 现在可以从数据框索引中提取特征 (Edoardo Argiolas)

  • 现在接受 y 的转换器会检查 X 和 y 是否匹配 (Noah GreenBen Reiniger)

错误修复#

  • SklearnTransformerWrapper 现在在使用独热编码器时可以与交叉验证一起工作 (Noah Green)

  • SelectByShuffling 现在在相同的数据部分中评估初始性能和打乱后的性能 (Gilles Verbockhaven)

  • 离散化器:当设置 return_boundaries=True 时,区间限制现在以字符串形式返回,变量以对象数据类型返回 (Soledad Galli)

  • DecisionTreeEncoder 现在强制要求在 fit() 中传递 y 参数 (Soledad Galli)

  • DropMissingData 现在可以在 variables 参数中接受字符串 (Soledad Galli)

  • DropFeatures 现在接受字符串作为 features_to_drop 参数的输入 (Noah Green)

  • 分类编码器现在可以正确处理作为输入的 numpy 数组 (Noah GreenBen Reiniger)

文档#

  • 改进了 SelectByTargetMeanPerformance 的用户指南,包含大量故障排除技巧 (Soledad Galli)

  • 添加了关于如何使用 MathFeaturesRelativeFeatures 的指南 (Soledad Galli)

  • 扩展的用户指南,介绍如何使用 CyclicalFeatures ,并解释这些特征是什么,附带演示 (Soledad Galli)

  • 添加了一个包含 CyclicalFeatures 类演示的 Jupyter 笔记本 (Soledad Galli)

  • 我们现在在文档方法概述中显示所有可用方法(Soledad Galli

  • 修复了 ArbitraryNumberImputer 文档中的拼写错误 (Tim Vink)

弃用#

  • 我们将在版本1.3中弃用 MathematicalCombinationCombineWithFeatureReferenceCyclicalTransformer,它们将在版本1.4中被移除。

  • 由于依赖于最新版本的 Scikit-learn,Feature-engine 不再支持 Python 3.6。

  • MatchColumns 中,属性 input_features_ 被替换为 feature_names_in_ 以适应 Scikit-learn 的惯例

代码改进#

  • 填补器:移除了遍历每个变量以替换 NaN 的循环。现在将填补器字典传递给 pd.fillna() (Soledad Galli)

  • AddMissingIndicators: 移除了为每个变量添加缺失指示器的循环。现在使用 pd.isna() (Soledad Galli)

  • CategoricalImputer 现在一次性捕获所有模式,无需循环遍历变量 (Soledad Galli)

  • 移除了在各种转换器中导入 transform() 方法的文档字符串的变通方法 (Soledad Galli)

对于开发者#

  • 为方法和属性的常见描述创建了函数和文档字符串 (Soledad Galli)

  • 我们介绍应用于所有变压器的常用测试(Soledad Galli

实验性#

新的实验性私有模块:prediction,该模块包含由 SelectByTargetMeanPerformance 特征选择转换器使用的类。此模块中的估计器具有超出选择器所需功能的功能,即它们可以通过对一组变量取平均值来输出目标的估计值。

  • 新的私有模块,预测,包含一个回归和一个分类估计器(Morgan SellSoledad Galli

  • TargetMeanRegressor: 基于每个类别或区间的平均目标值,跨变量估计目标值 (Morgan SellSoledad Galli)

  • TargetMeanClassifier: 根据每个类别或区间的平均目标均值来估计目标,跨变量进行 (Morgan SellSoledad Galli)