ray.data.预处理器.分类器#
- class ray.data.preprocessors.Categorizer(columns: List[str], dtypes: Dict[str, pandas.CategoricalDtype] | None = None)[源代码]#
基类:
Preprocessor
将列转换为
pd.CategoricalDtype
。将此预处理器与具有内置
pd.CategoricalDtype
支持的框架(如 LightGBM)一起使用。警告
如果你没有指定
dtypes
,请在将数据集分割为训练集和测试集之前使用此预处理器。这确保了类别在分割之间保持一致。示例
>>> import pandas as pd >>> import ray >>> from ray.data.preprocessors import Categorizer >>> >>> df = pd.DataFrame( ... { ... "sex": ["male", "female", "male", "female"], ... "level": ["L4", "L5", "L3", "L4"], ... }) >>> ds = ray.data.from_pandas(df) >>> categorizer = Categorizer(columns=["sex", "level"]) >>> categorizer.fit_transform(ds).schema().types [CategoricalDtype(categories=['female', 'male'], ordered=False), CategoricalDtype(categories=['L3', 'L4', 'L5'], ordered=False)]
如果你事先知道分类,你可以使用
dtypes
参数来指定分类。>>> categorizer = Categorizer( ... columns=["sex", "level"], ... dtypes={"level": pd.CategoricalDtype(["L3", "L4", "L5", "L6"], ordered=True)}, ... ) >>> categorizer.fit_transform(ds).schema().types [CategoricalDtype(categories=['female', 'male'], ordered=False), CategoricalDtype(categories=['L3', 'L4', 'L5', 'L6'], ordered=True)]
- 参数:
columns – 要转换为
pd.CategoricalDtype
的列。dtypes – 一个可选的字典,将列映射到
pd.CategoricalDtype
对象。如果你不在dtypes
中包含某一列,类别将被推断。
PublicAPI (alpha): 此API处于alpha阶段,可能在稳定之前发生变化。
方法
加载通过
self.serialize()
序列化的原始预处理器。将此预处理器适配到数据集。
将此预处理器适配到数据集,然后转换数据集。
批处理格式提示上游生产者尝试生成最佳块格式。
返回此预处理器的字符串序列化表示。
转换给定的数据集。
转换单个批次的数据。