ray.data.Dataset.unique#

Dataset.unique(column: str) List[Any][源代码]#

列出给定列中的唯一元素。

备注

此操作要求所有输入在对象存储中具体化,以便执行。

示例

>>> import ray
>>> ds = ray.data.from_items([1, 2, 3, 2, 3])
>>> ds.unique("item")
[1, 2, 3]

此函数对于在机器学习数据集中计算标签非常有用:

>>> import ray
>>> ds = ray.data.read_csv("s3://anonymous@ray-example-data/iris.csv")
>>> ds.unique("target")
[0, 1, 2]

一个常见的用例是将类别标签转换为整数,用于训练和推理:

>>> classes = {0: 'Setosa', 1: 'Versicolor', 2: 'Virginica'}
>>> def preprocessor(df, classes):
...     df["variety"] = df["target"].map(classes)
...     return df
>>> train_ds = ds.map_batches(
...     preprocessor, fn_kwargs={"classes": classes}, batch_format="pandas")
>>> train_ds.sort("sepal length (cm)").take(1)  # Sort to make it deterministic
[{'sepal length (cm)': 4.3, ..., 'variety': 'Setosa'}]

时间复杂度:O(数据集大小 * log(数据集大小 / 并行度))

参数:

column – 要收集唯一元素的列。

返回:

给定列中具有唯一元素的列表。