✅作者简介:人工智能专业本科在读,喜欢计算机与编程,写博客记录自己的学习历程。
个人主页:小嗷犬的个人主页
个人网站:小嗷犬的技术小站
个人信条:为天地立心,为生民立命,为往圣继绝学,为万世开太平。
Category Encoders 是一个用于将分类变量编码为数值的 Python 库,它提供了多种不同的编码技术。这些编码技术可以将分类变量转换成数值表示,以便在机器学习算法中使用。这个库的设计与 scikit-learn 类似,因此可以很容易地与 scikit-learn 的流程和工具集成。
以下是 Category Encoders 库的一些主要特点:
Category Encoders 库可以通过 pip 安装:
pip install category_encoders
或者通过 conda 安装:
conda install -c conda-forge category_encoders
Category Encoders 库提供了多种编码方法,每种方法都对应的编码器:
import category_encoders as ce
encoder = ce.BackwardDifferenceEncoder(cols=[...])
encoder = ce.BaseNEncoder(cols=[...])
encoder = ce.BinaryEncoder(cols=[...]) # 二进制编码
encoder = ce.CatBoostEncoder(cols=[...]) # CatBoost 编码
encoder = ce.CountEncoder(cols=[...]) # 计数编码
encoder = ce.GLMMEncoder(cols=[...])
encoder = ce.GrayEncoder(cols=[...])
encoder = ce.HashingEncoder(cols=[...]) # 哈希编码
encoder = ce.HelmertEncoder(cols=[...])
encoder = ce.JamesSteinEncoder(cols=[...])
encoder = ce.LeaveOneOutEncoder(cols=[...])
encoder = ce.MEstimateEncoder(cols=[...])
encoder = ce.OneHotEncoder(cols=[...]) # 独热编码
encoder = ce.OrdinalEncoder(cols=[...]) # 序数编码
encoder = ce.PolynomialEncoder(cols=[...])
encoder = ce.QuantileEncoder(cols=[...])
encoder = ce.RankHotEncoder(cols=[...])
encoder = ce.SumEncoder(cols=[...])
encoder = ce.TargetEncoder(cols=[...]) # 目标编码
encoder = ce.WOEEncoder(cols=[...])
encoder.fit(X, y)
X_cleaned = encoder.transform(X_dirty)
每种编码方法都有其独特的原理和计算过程,适用于不同的数据情况和建模需求。以下是部分编码方法的简单介绍: