当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python cuml.preprocessing.LabelEncoder.LabelEncoder用法及代码示例


用法:

class cuml.preprocessing.LabelEncoder.LabelEncoder(*, handle_unknown='error', handle=None, verbose=False, output_type=None)

基于 nvcategory 的序号标签编码实现

参数

handle_unknown{‘error’, ‘ignore’},默认='错误'

如果在转换期间存在未知的分类特征,是否引发错误或忽略(默认为引发)。当此参数设置为‘ignore’ 并且在变换或逆变换过程中遇到未知类别时,生成的编码将为空。

handlecuml.Handle

指定 cuml.handle 保存用于此模型中计算的内部 CUDA 状态。最重要的是,这指定了将用于模型计算的 CUDA 流,因此用户可以通过在多个流中创建句柄在不同的流中同时运行不同的模型。如果为 None,则创建一个新的。

verboseint 或布尔值,默认=False

设置日志记录级别。它必须是 cuml.common.logger.level_* 之一。有关详细信息,请参阅详细级别。

output_type{‘input’, ‘cudf’, ‘cupy’, ‘numpy’, ‘numba’},默认=无

用于控制估计器的结果和属性的输出类型的变量。如果为 None,它将继承在模块级别设置的输出类型 cuml.global_settings.output_type 。有关详细信息,请参阅输出数据类型配置。

例子

将分类实现转换为数字实现

from cudf import DataFrame, Series

data = DataFrame({'category': ['a', 'b', 'c', 'd']})

# There are two functionally equivalent ways to do this
le = LabelEncoder()
le.fit(data.category)  # le = le.fit(data.category) also works
encoded = le.transform(data.category)

print(encoded)

# This method is preferred
le = LabelEncoder()
encoded = le.fit_transform(data.category)

print(encoded)

# We can assign this to a new column
data = data.assign(encoded=encoded)
print(data.head())

# We can also encode more data
test_data = Series(['c', 'a'])
encoded = le.transform(test_data)
print(encoded)

# After train, ordinal label can be inverse_transform() back to
# string labels
ord_label = cudf.Series([0, 0, 1, 2, 1])
ord_label = dask_cudf.from_cudf(data, npartitions=2)
str_label = le.inverse_transform(ord_label)
print(str_label)

输出:

0    0
1    1
2    2
3    3
dtype: int64

0    0
1    1
2    2
3    3
dtype: int32

category  encoded
0         a        0
1         b        1
2         c        2
3         d        3

0    2
1    0
dtype: int64

0    a
1    a
2    b
3    c
4    b
dtype: object

相关用法


注:本文由纯净天空筛选整理自rapids.ai大神的英文原创作品 cuml.preprocessing.LabelEncoder.LabelEncoder。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。