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种不同编码 Backward Difference CodingBaseNBinaryCatBoost EncoderCount EncoderGeneralized Linear Mixed Model EncoderHashingHelmert CodingJames-Stein EncoderLeave One OutM-estimateOne HotOrdinalPolynomial CodingSum CodingTarget EncoderWeight of EvidenceWrappers
文档:http://contrib.scikit-learn.org/category_encoders/
category-encoders库的安装
pip install category-encoders
category-encoders库的使用方法
有两种类型的编码器:无监督和有监督的。
1、一个无监督的例子 from category_encoders import *import pandas as pdfrom sklearn.datasets import load_boston# prepare some databunch = load_boston()y = bunch.targetX = pd.DataFrame(bunch.data, columns=bunch.feature_names)# use binary encoding to encode two categorical featuresenc = BinaryEncoder(cols=['CHAS', 'RAD']).fit(X)# transform the datasetnumeric_dataset = enc.transform(X)
2、一个有监督的例子 from category_encoders import *import pandas as pdfrom sklearn.datasets import load_boston# prepare some databunch = 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 featuresenc = TargetEncoder(cols=['CHAS', 'RAD'])# transform the datasetstraining_numeric_dataset = enc.fit_transform(X_train, y_train)testing_numeric_dataset = enc.transform(X_test)