版本 1.3.X#
版本 1.3.0#
部署日期: 2022年5月5日
贡献者#
在这个版本中,我们为所有的转换器添加了 get_feature_names_out 功能!你要求的,我们实现了 :)
此外,我们引入了一个用于 时间序列预测 的 新模块。该模块将承载创建适合时间序列预测特征的转换器。我们创建了三个新的转换器:LagFeatures、WindowFeatures 和 ExpandingWindowFeatures。我们得到了经验丰富的预测专家 Kishan Manani 和帮助我们起草新类的 Morgan Sell 的非凡支持。感谢你们两位所做的不可思议的工作!
我们还改进了我们的特征创建类的功能。为此,我们弃用了之前的类 MathematicalCombination
和 CombineWithFeatureReference
,这些类名有点冗长,取而代之的是新的类 MathFeatures
和 RelativeFeatures
。
我们还重命名了类 CyclicalTransformer
为 CyclicalFeatures
。
我们还增强了 SelectByTargetMeanPerformance
和 SklearnTransformerWrapper
的功能。
此外,我们收到了一些错误报告并进行了修复,这些都在下面列出,同时我们对当前的类进行了多项增强。
非常感谢所有为此次发布做出贡献的人,是你们的努力使得这次大规模发布成为可能!
新模块#
- timeseries-forecasting: 此模块包含适用于时间序列预测的特征转换器 (Morgan Sell, Kishan Manani 和 Soledad Galli)
LagFeatures
窗口特性
ExpandingWindowFeatures
新的变压器#
LagFeatures: 添加特征的滞后版本(Morgan Sell,Kishan Manani 和 Soledad Galli)
WindowFeatures:从过去时间窗口的操作中创建特征(Morgan Sell,Kishan Manani 和 Soledad Galli)
ExpandingWindowFeatures: 从过去所有数据的操作中创建特征 (Kishan Manani)
MathFeatures: 替换
MathematicalCombination
并扩展其功能 (Soledad Galli)RelativeFeatures: 替代
CombineWithFeatureReference
并扩展其功能 (Soledad Galli)CyclicalFeatures:
CyclicalTransformer
的新名称,功能相同 (Soledad Galli)
新功能#
我们所有的转换器现在都有
get_feature_names_out
功能来获取输出特征的名称 (Alejandro Giacometti, Morgan Sell 和 Soledad Galli)SelectByTargetMeanPerformance 现在使用交叉验证,并支持所有可能的分类和回归性能指标 (Morgan Sell 和 Soledad Galli)。
增强功能#
我们所有的特征选择转换器现在都可以检查变量在前面的选择步骤中是否未被删除 (Gilles Verbockhaven)
DecisionTreeDiscretiser
和DecisionTreeEncoder
现在会检查用户输入的目标是否适合回归或分类 (Morgan Sell)
DecisionTreeDiscretiser
和DecisionTreeEncoder
现在接受所有 sklearn 交叉验证构造函数 (Soledad Galli)
SklearnTransformerWrapper
现在实现了inverse_transform
方法 (Soledad Galli)
SklearnTransformerWrapper
现在支持额外的转换器,例如,PolynomialFeatures (Soledad Galli)
CategoricalImputer()
现在会告诉你哪些变量有多个众数 (Soledad Galli)
DatetimeFeatures()
现在可以从数据框索引中提取特征 (Edoardo Argiolas)现在接受 y 的转换器会检查 X 和 y 是否匹配 (Noah Green 和 Ben 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 Green 和 Ben Reiniger)
文档#
改进了
SelectByTargetMeanPerformance
的用户指南,包含大量故障排除技巧 (Soledad Galli)添加了关于如何使用
MathFeatures
和RelativeFeatures
的指南 (Soledad Galli)扩展的用户指南,介绍如何使用
CyclicalFeatures
,并解释这些特征是什么,附带演示 (Soledad Galli)添加了一个包含
CyclicalFeatures
类演示的 Jupyter 笔记本 (Soledad Galli)我们现在在文档方法概述中显示所有可用方法(Soledad Galli)
修复了
ArbitraryNumberImputer
文档中的拼写错误 (Tim Vink)
弃用#
我们将在版本1.3中弃用
MathematicalCombination
、CombineWithFeatureReference
和CyclicalTransformer
,它们将在版本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 Sell 和 Soledad Galli)
TargetMeanRegressor
: 基于每个类别或区间的平均目标值,跨变量估计目标值 (Morgan Sell 和 Soledad Galli)
TargetMeanClassifier
: 根据每个类别或区间的平均目标均值来估计目标,跨变量进行 (Morgan Sell 和 Soledad Galli)