OA0
OA0 是一个探索 AI 的社区
现在注册
已注册用户请  登录
OA0  ›  代码  ›  Feature-engine 兼容sklearn的特征工程与特征选择工具库

Feature-engine 兼容sklearn的特征工程与特征选择工具库

 
  brave ·  2026-03-04 15:00:14 · 5 次点击  · 0 条评论  

Feature-engine

feature-engine logo

开源状态 GitHub Sponsorship
教程 !youtube
代码 PyPI - Python Version PyPI Conda
下载量 Monthly Downloads Downloads
项目信息 GitHub contributors first-timers-only
文档 Read the Docs
引用 DOI JOSS
测试 CircleCI Codecov Code style: black

Feature-engine 是一个 Python 库,提供多种转换器,用于为机器学习模型进行特征工程和特征选择。
Feature-engine 的转换器遵循 Scikit-learn 的 API 设计,具有 fit()transform() 方法,可以从数据中学习转换参数,然后进行数据转换。

包含 Feature-engine 的相关资源

关于 Feature-engine 的博客文章

文档

嘿!你是怎么找到我们的?

我们想让更多人了解 Feature-engine。如果你能告诉我们你是如何发现我们的,那将对我们帮助很大。

这样我们就能知道哪些方式有效,以及通过哪些渠道来分享这个项目。

请通过回答 1 个快速问题来分享你的故事
点击此链接
。 😃

当前 Feature-engine 的转换器涵盖以下功能:

  • 缺失数据填补
  • 分类变量编码
  • 离散化
  • 异常值封顶或移除
  • 变量转换
  • 变量创建
  • 变量选择
  • 日期时间特征
  • 文本特征
  • 时间序列
  • 预处理
  • 缩放
  • Scikit-learn 包装器

缺失值填补方法

  • MeanMedianImputer
  • ArbitraryNumberImputer
  • RandomSampleImputer
  • EndTailImputer
  • CategoricalImputer
  • AddMissingIndicator
  • DropMissingData

编码方法

  • OneHotEncoder
  • OrdinalEncoder
  • CountFrequencyEncoder
  • MeanEncoder
  • WoEEncoder
  • RareLabelEncoder
  • DecisionTreeEncoder
  • StringSimilarityEncoder

离散化方法

  • EqualFrequencyDiscretiser
  • EqualWidthDiscretiser
  • GeometricWidthDiscretiser
  • DecisionTreeDiscretiser
  • ArbitraryDiscreriser

异常值处理方法

  • Winsorizer
  • ArbitraryOutlierCapper
  • OutlierTrimmer

变量转换方法

  • LogTransformer
  • LogCpTransformer
  • ReciprocalTransformer
  • ArcsinTransformer
  • PowerTransformer
  • BoxCoxTransformer
  • YeoJohnsonTransformer
  • ArcSinhTransformer

变量缩放方法

  • MeanNormalizationScaler

变量创建:

  • MathFeatures
  • RelativeFeatures
  • CyclicalFeatures
  • DecisionTreeFeatures
  • GeoDistanceFeatures

特征选择:

  • DropFeatures
  • DropConstantFeatures
  • DropDuplicateFeatures
  • DropCorrelatedFeatures
  • SmartCorrelationSelection
  • ShuffleFeaturesSelector
  • SelectBySingleFeaturePerformance
  • SelectByTargetMeanPerformance
  • RecursiveFeatureElimination
  • RecursiveFeatureAddition
  • DropHighPSIFeatures
  • SelectByInformationValue
  • ProbeFeatureSelection
  • MRMR

日期时间

  • DatetimeFeatures
  • DatetimeSubtraction
  • DatetimeOrdinal

文本特征

  • TextFeatures

时间序列

  • LagFeatures
  • WindowFeatures
  • ExpandingWindowFeatures

流水线

  • Pipeline
  • make_pipeline

预处理

  • MatchCategories
  • MatchVariables

包装器:

  • SklearnTransformerWrapper

安装

通过 PyPI 使用 pip 安装:

pip install feature_engine

通过 Anaconda 安装:

conda install -c conda-forge feature_engine

或者直接克隆仓库:

git clone https://github.com/feature-engine/feature_engine.git

使用示例

>>> import pandas as pd
>>> from feature_engine.encoding import RareLabelEncoder

>>> data = {'var_A': ['A'] * 10 + ['B'] * 10 + ['C'] * 2 + ['D'] * 1}
>>> data = pd.DataFrame(data)
>>> data['var_A'].value_counts()
Out[1]:
A    10
B    10
C     2
D     1
Name: var_A, dtype: int64
>>> rare_encoder = RareLabelEncoder(tol=0.10, n_categories=3)
>>> data_encoded = rare_encoder.fit_transform(data)
>>> data_encoded['var_A'].value_counts()
Out[2]:
A       10
B       10
Rare     3
Name: var_A, dtype: int64

在我们的 Jupyter Notebook 示例库
文档 中可以找到更多示例。

贡献

有关如何贡献的详细信息,请参阅 贡献页面

简要步骤如下:

  • Fork 本仓库
  • 将你的 fork 克隆到本地计算机:
git clone https://github.com/<YOURUSERNAME>/feature_engine.git
  • 进入仓库文件夹
cd feature_engine
  • 以开发者模式安装 Feature-engine:
pip install -e .
  • 可选:使用任何工具创建并激活虚拟环境
  • 安装 Feature-engine 的开发依赖项:
pip install -e ".[tests]"
  • 为你的功能创建一个有意义的特性分支:
git checkout -b myfeaturebranch
  • 开发你的功能、测试和文档
  • 确保测试通过
  • 提交 Pull Request

谢谢!!

文档

Feature-engine 文档使用 Sphinx 构建,并托管在 Read the Docs 上。

要构建文档,请确保已安装依赖项:从根目录运行:

pip install -r docs/requirements.txt

现在你可以使用以下命令构建文档:

sphinx-build -b html docs build

许可证

本仓库的内容采用 BSD 3-Clause 许可证 授权。

赞助商

Feature-engine 的开发得到了 Train in Data 的支持。

5 次点击  ∙  0 人收藏  
登录后收藏  
0 条回复
关于 ·  帮助 ·  PING ·  隐私 ·  条款   
OA0 - Omni AI 0 一个探索 AI 的社区
沪ICP备2024103595号-2
耗时 31 ms
Developed with Cursor