Python之category-encoders:category-encoders库的简介、安装、使用方法之详细攻略

Python之category-encoders:category-encoders库的简介、安装、使用方法之详细攻略

 

 

 

 

目录

category-encoders库的简介

1、支持15种不同编码

category-encoders库的安装

category-encoders库的使用方法

1、一个无监督的例子

2、一个有监督的例子


 

 

 

 

category-encoders库的简介

           一组scikit-learn风格的转换器,用不同的技术将类别变量编码成数字。一组scikit-learn风格的转换器,用不同的技术将分类变量编码成数字。虽然序数编码、单热编码和散列编码在现有scikit-learn版本中具有类似的等价性,但这个库中的变形金刚都有一些有用的特性:

  • 对pandas数据文件作为输入(可选作为输出)的一流支持
  • 可以显式配置数据中的哪些列按名称或索引编码,或推断非数字列,而不管输入类型
  • 可以根据训练集随意删除任何方差很低的列吗
  • 可移植性:培训数据转换器,pickle它,以后重用它,然后得到同样的东西。
  • 完全兼容sklearn管道,输入一个类似数组的数据集,像任何其他转换器

 

1、支持15种不同编码

  1. Backward Difference Coding
  2. BaseN
  3. Binary
  4. CatBoost Encoder
  5. Count Encoder
  6. Generalized Linear Mixed Model Encoder
  7. Hashing
  8. Helmert Coding
  9. James-Stein Encoder
  10. Leave One Out
  11. M-estimate
  12. One Hot
  13. Ordinal
  14. Polynomial Coding
  15. Sum Coding
  16. Target Encoder
  17. Weight of Evidence
  18. Wrappers

 

 

文档http://contrib.scikit-learn.org/category_encoders/

 

category-encoders库的安装

pip install category-encoders

 

 

category-encoders库的使用方法

        有两种类型的编码器:无监督和有监督的。

1、一个无监督的例子

from category_encoders import *
import pandas as pd
from sklearn.datasets import load_boston

# prepare some data
bunch = load_boston()
y = bunch.target
X = pd.DataFrame(bunch.data, columns=bunch.feature_names)

# use binary encoding to encode two categorical features
enc = BinaryEncoder(cols=['CHAS', 'RAD']).fit(X)

# transform the dataset
numeric_dataset = enc.transform(X)

 

 

2、一个有监督的例子

from category_encoders import *
import pandas as pd
from sklearn.datasets import load_boston

# prepare some data
bunch = load_boston()
y_train = bunch.target[0:250]
y_test = bunch.target[250:506]
X_train = pd.DataFrame(bunch.data[0:250], columns=bunch.feature_names)
X_test = pd.DataFrame(bunch.data[250:506], columns=bunch.feature_names)

# use target encoding to encode two categorical features
enc = TargetEncoder(cols=['CHAS', 'RAD'])

# transform the datasets
training_numeric_dataset = enc.fit_transform(X_train, y_train)
testing_numeric_dataset = enc.transform(X_test)

 

 

 

 

 

 

 

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一个处女座的程序猿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值