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([1, 2, 3], dtype=object)]
>>> enc.transform([['Female', 3], ['Male', 1]])
array([[0., 2.],
[1., 0.]])
>>> enc.inverse_transform([[1, 0], [0, 1]])
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 转换后的输入。 |