ray.data.预处理器.标签编码器#

class ray.data.preprocessors.LabelEncoder(label_column: str)[源代码]#

基类:Preprocessor

将标签编码为整数目标。

LabelEncoder 将标签编码为整数目标,范围从 \(0\)\(n - 1\),其中 \(n\) 是唯一标签的数量。

如果你转换一个在拟合数据集中不存在的标签,那么该标签将被编码为 float("nan")

示例

>>> import pandas as pd
>>> import ray
>>> df = pd.DataFrame({
...     "sepal_width": [5.1, 7, 4.9, 6.2],
...     "sepal_height": [3.5, 3.2, 3, 3.4],
...     "species": ["setosa", "versicolor", "setosa", "virginica"]
... })
>>> ds = ray.data.from_pandas(df)  
>>>
>>> from ray.data.preprocessors import LabelEncoder
>>> encoder = LabelEncoder(label_column="species")
>>> encoder.fit_transform(ds).to_pandas()  
   sepal_width  sepal_height  species
0          5.1           3.5        0
1          7.0           3.2        1
2          4.9           3.0        0
3          6.2           3.4        2

如果你转换的标签在原始数据集中不存在,那么新标签会被编码为 float("nan")

>>> df = pd.DataFrame({
...     "sepal_width": [4.2],
...     "sepal_height": [2.7],
...     "species": ["bracteata"]
... })
>>> ds = ray.data.from_pandas(df)  
>>> encoder.transform(ds).to_pandas()  
   sepal_width  sepal_height  species
0          4.2           2.7      NaN
参数:

label_column – 包含您想要编码的标签的列。

参见

OrdinalEncoder

如果你在编码有序特征,请使用 OrdinalEncoder 而不是 LabelEncoder

PublicAPI (alpha): 此API处于alpha阶段,可能在稳定之前发生变化。

方法

deserialize

加载通过 self.serialize() 序列化的原始预处理器。

fit

将此预处理器适配到数据集。

fit_transform

将此预处理器适配到数据集,然后转换数据集。

inverse_transform

对给定的数据集进行逆变换。

preferred_batch_format

批处理格式提示上游生产者尝试生成最佳块格式。

serialize

返回此预处理器的字符串序列化表示。

transform

转换给定的数据集。

transform_batch

转换单个批次的数据。