feature_engine包的模块未在 Kaggle 中导入



无法在Kaggle编辑器中导入feature_engine包的模块。

(首先要注意的是,以下代码行在本地机器的Jupyter笔记本中有效,但在Kaggle中无效(

为了复制,我在Kaggle编辑器中做了以下操作

只安装常规代码的feature_engine

!pip install feature_engine

遵循这个链接,它与官方文档相同。

然后,根据官方文档,我在Kaggle Notebook中只有以下代码


from feature_engine import categorical_encoders as ce

运行此单元格后出现以下错误。

ImportError: cannot import name 'categorical_encoders' from 'feature_engine' (/opt/conda/lib/python3.7/site-packages/feature_engine/__init__.py)

这个错误适用于feature_engine的任何模块。例如,对于下面的线路以及

from feature_engine import variable_transformers as vt

我收到错误

ImportError: cannot import name 'variable_transformers' from 'feature_engine' (/opt/conda/lib/python3.7/site-packages/feature_engine/__init__.py)

没有简单的方法可以将Python升级到3.8,因为Kaggle不允许我们在它的笔记本中指定Python版本。

在Kaggle中,我有最新版本的feature_engine,因为运行!pip show feature_engine会给出以下

Name: feature-engine
Version: 1.0.2
Summary: Feature engineering package with Scikit-learn's fit transform functionality
Home-page: http://github.com/solegalli/feature_engine
Author: Soledad Galli
Author-email: solegalli@protonmail.com
License: BSD 3 clause
Location: /opt/conda/lib/python3.7/site-packages
Requires: scipy, pandas, statsmodels, scikit-learn, numpy
Required-by: 

找到解决方案后回答我自己的问题。

基本上,我不得不升级feature_engine的版本

功能引擎正在积极开发中,定期发布新的或更新的转换器。因此,在下面运行以升级

$ pip install -U feature-engine

在新版本(1.0(中,我们需要从feature_engine.encoding导入分类编码器,如下所示

from feature_engine.encoding import OneHotEncoder

以下格式不再使用:

from feature_engine import categorical_encoders as ce

官方文件

最新更新