sklearn.preprocessing.OrdinalEncoder

class sklearn.preprocessing.OrdinalEncoder(*, categories='auto', dtype=<class 'numpy.float64'>)

源码

将分类特征编码为整数数组。

该转换器的输入应为整数或字符串之类的数组,表示分类(离散)特征所采用的值。要素将转换为序数整数。这将导致每个要素的一列整数(0到n_categories-1)。

用户指南中阅读更多内容。

参数 说明
categories ‘auto’ or a list of array-like, default=’auto’
每个功能的类别(唯一值):
‘auto’:根据训练数据自动确定类别。
list:category [i]保存第i列中预期的类别。传递的类别不应将字符串和数字值混合使用,并且在使用数字值时应进行排序。
使用的类别可以在category_属性中找到。
dtype number type, default np.float64
所需的输出dtype。
属性 说明
categories_ list of arrays
拟合期间确定的每个特征的类别(按X中特征的顺序,并与转换的输出相对应)。

另见:

sklearn.preprocessing.OneHotEncoder

对分类特征执行一键编码。

sklearn.preprocessing.LabelEncoder

使用0到n_classes-1之间的值对目标标签进行编码。

示例

给定具有两个特征的数据集,我们让编码器找到每个特征的唯一值,然后将数据转换为序数编码。

>>> from sklearn.preprocessing import OrdinalEncoder
>>> enc = OrdinalEncoder()
>>> X = [['Male'1], ['Female'3], ['Female'2]]
>>> enc.fit(X)
OrdinalEncoder()
>>> enc.categories_
[array(['Female''Male'], dtype=object), array([123], dtype=object)]
>>> enc.transform([['Female'3], ['Male'1]])
array([[0.2.],
       [1.0.]])
>>> enc.inverse_transform([[10], [01]])
array([['Male'1],
       ['Female'2]], dtype=object)

方法

方法 说明
fit(X[, y]) 使OrdinalEncoder拟合X。
fit_transform(X[, y]) 拟合数据,然后对其进行转换。
get_params([deep]) 获取此估计量的参数。
inverse_transform(X) 将数据转换回原始表示形式。
set_params(**params) 设置此估算器的参数。
transform(X) 将X转换为序数代码。
__init__(*, categories='auto', dtype=<class 'numpy.float64'>)

[源码]

初始化self,有关准确的签名,请参见help(type(self))。

fit(X, y=None)

[源码]

参数 说明
X array-like, shape [n_samples, n_features]
该数据确定每个功能的类别。
y None
忽略。仅存在此参数是为了与sklearn.pipeline.Pipeline兼容。
返回值 说明
self -
fit_transform(X, y=None, **fit_params)

[源码]

拟合数据,然后对其进行转换。

使用可选参数fit_params将转换器拟合到X和y,并返回X的转换版本。

参数 说明
X {array-like, sparse matrix, dataframe} of shape (n_samples, n_features)
y ndarray of shape (n_samples,), default=None
目标值。
**fit_params dict
其他拟合参数。
返回值 说明
X_new ndarray array of shape (n_samples, n_features_new)
转换后的数组。
get_params(deep=True)

[源码]

获取此估计量的参数。

参数 说明
deep bool, default=True
如果为True,则将返回此估算器和作为估算器的所包含子对象的参数。
返回值 说明
params mapping of string to any
参数名称映射到其值。
inverse_transform(X)

[源码]

将数据转换回原始表示形式。

参数 说明
X array-like or sparse matrix, shape [n_samples, n_encoded_features]
转换后的数据。
返回值 说明
X_tr array-like, shape [n_samples, n_features]
逆变换数组。
set_params(**params)

[源码]

设置此估算器的参数。

该方法适用于简单的估计器以及嵌套对象(例如管道)。后者的参数形式为<component>__<parameter>这样就可以更新嵌套对象的每个组件。

参数 说明
**params dict
估算器参数。
返回值 说明
self object
估算器实例。
transform(X)

[源码]

将X转换为序数代码。

参数 说明
X array-like, shape [n_samples, n_features]
要编码的数据。
返回值 说明
X_out sparse matrix if sparse=True else a 2-d array
转换后的输入。

sklearn.preprocessing.OrdinalEncoder使用示例