torch_frame.data.Dataset

class Dataset(df: DataFrame, col_to_stype: dict[str, torch_frame.stype], target_col: str | None = None, split_col: str | None = None, col_to_sep: str | None | dict[str, str | None] = None, col_to_text_embedder_cfg: dict[str, TextEmbedderConfig] | TextEmbedderConfig | None = None, col_to_text_tokenizer_cfg: dict[str, TextTokenizerConfig] | TextTokenizerConfig | None = None, col_to_image_embedder_cfg: dict[str, ImageEmbedderConfig] | ImageEmbedderConfig | None = None, col_to_time_format: str | None | dict[str, str | None] = None)[来源]

基类:ABC

用于创建表格数据集的基类。

Parameters:
  • df (DataFrame) – 表格数据框。

  • col_to_stype (Dict[str, torch_frame.stype]) – 一个将数据框中的每一列映射到语义类型的字典。

  • target_col (str, optional) – 用作目标的列。 (默认: None)

  • split_col (str, optional) – 存储预定义拆分信息的列。该列应仅包含 0, 1, 或 2。(默认值:None)。

  • col_to_sep (Union[str, Dict[str, Optional[str]]]) – 一个字典或字符串/None,用于指定多分类列的分隔符/定界符。如果指定了字符串/None,则所有多分类列将使用相同的分隔符。请注意,如果指定了None,则假定多分类以list的形式给出。如果给出了字典,则我们为每列使用指定的分隔符。(默认值:None

  • col_to_text_embedder_cfg (TextEmbedderConfigdict, 可选) – 一个文本嵌入配置或配置字典,指定将文本嵌入为向量的text_embedder和指定text_embedder的迷你批次大小的batch_size。(默认值:None

  • col_to_text_tokenizer_cfg (TextTokenizerConfigdict, 可选) – 一个文本分词器配置或配置字典,指定将句子映射到张量字典列表的text_tokenizer。列表中的每个元素对应于每个句子,键是模型的输入参数,如input_ids,值是张量,如标记。batch_size指定text_tokenizer的小批量大小。(默认值:None

  • col_to_time_format (Union[str, Dict[str, Optional[str]]], optional) – 一个 字典或字符串,用于指定时间戳列的格式。有关格式的更多信息,请参阅strfttime文档。 如果指定了字符串,则所有时间戳列将使用相同的格式。如果提供了字典,我们将为每列使用不同的格式。 如果未指定,将使用pandas的内部to_datetime函数自动解析时间列。 (默认值: None)

static download_url(url: str, root: str, filename: str | None = None, *, log: bool = True) str[source]

url的内容下载到指定的文件夹 root

Parameters:
  • url (str) – URL地址。

  • root (str) – 根文件夹。

  • filename (str, optional) – 如果设置,将重命名下载的文件。 (默认: None)

  • log (bool, 可选) – 如果为 False,将不会在控制台打印任何内容。(默认值:True

property feat_cols: list[str]

数据集的输入特征列。

property task_type: TaskType

数据集的任务类型。

property num_rows

数据集的行数。

materialize(device: torch.device | None = None, path: str | None = None, col_stats: dict[str, dict[StatType, Any]] | None = None) Dataset[source]

将数据集具体化为张量表示。从这一点开始,数据集应被视为只读。

Parameters:
  • device (torch.device, optional) – 加载 TensorFrame 对象的设备。 (默认: None)

  • path (str, optional) – 如果指定了路径并且存在缓存文件,这将尝试加载保存的TensorFrame对象和col_stats。如果指定了path但缓存文件不存在,这将执行实例化并保存TensorFrame对象和col_statspath。如果pathNone,这将实例化数据集而不进行缓存。(默认值: None)

  • col_stats (Dict[str, Dict[StatType, Any]], optional) – 可选的

  • provided (用户提供的col_stats。如果没有) –

  • 统计 () –

  • (默认 (从数据框本身计算得出。) – None)

property is_materialized: bool

数据集是否已经物化。

property tensor_frame: TensorFrame

返回数据集的TensorFrame

property col_stats: dict[str, dict[torch_frame.data.stats.StatType, Any]]

返回按列的数据集统计信息。

index_select(index: Union[int, list[int], range, slice, Tensor]) Dataset[source]

返回从指定索引index开始的数据集子集。

shuffle(return_perm: bool = False) Dataset | tuple[Dataset, Tensor][source]

随机打乱数据集中的行。

col_select(cols: Union[str, list[str]]) Dataset[source]

返回数据集中指定列的子集 cols

get_split(split: str) Dataset[source]

返回属于给定训练分割的数据集子集(如split_col中所定义)。

Parameters:

split (str) – 分割名称(可以是 "train", "val", 或 "test".

split() tuple[torch_frame.data.dataset.Dataset, torch_frame.data.dataset.Dataset, torch_frame.data.dataset.Dataset][source]

将数据集分割为训练集、验证集和测试集。