scikit-learn-contrib/category_encoders
A library of sklearn compatible categorical variable encoders
What it solves
机器学习模型通常需要数值输入,但现实世界的数据集往往包含类别变量(例如国家名称或性别)。该库提供了一套完整的工具,将这些类别标签转换为模型可以处理的数值格式,并为简单的 one-hot encoding 提供更高级的替代方案。
How it works
它将多种编码技术实现为 scikit-learn 风格的转换器。这些技术分为两大类:
- 无监督编码器:仅根据特征本身将类别转换为数字(例如:Binary, Hashing, One-Hot, 和 Ordinal encoding)。
- Supervised encoders:使用目标变量来指导编码过程,这对于高基数(high-cardinality)特征更为有效(例如:Target Encoding, CatBoost, 和 LeaveOneOut encoding)。
该库直接与 pandas DataFrames 和 numpy arrays 集成,并设计用于 scikit-learn pipelines。
Who it’s for
数据科学家和机器学习工程师,特别是需要预处理处理高基数特征的数据,当标准 one-hot encoding 会产生过多列时。
Highlights
- Scikit-learn compatible:作为标准转换器使用,使其易于放入现有的 ML pipelines。
- Extensive library:支持多种监督式和无监督编码方法。
- Overfitting prevention:包含一个
NestedCVWrapper和针对监督式编码器特定的fit_transform逻辑,以减少数据泄露。 - Flexible input:支持 numpy arrays 和 pandas DataFrames。
相关
- 项目
- 项目
- 项目
- 项目
- 项目