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 – 要收集唯一元素的列。
- 返回:
给定列中具有唯一元素的列表。