跳转至

基础组件 API 参考

本文档详细介绍 Torch-RecHub 中的基础组件,包括特征处理、数据转换等基础功能。

特征处理

特征列 (Feature Columns)

DenseFeature

  • 简介:处理连续型数值特征。
  • 参数
  • name (str): 特征名称
  • dimension (int): 特征维度
  • dtype (str): 数据类型,默认'float32'

SparseFeature

  • 简介:处理离散型类别特征。
  • 参数
  • name (str): 特征名称
  • vocabulary_size (int): 类别词表大小
  • embedding_dim (int): 嵌入向量维度
  • dtype (str): 数据类型,默认'int32'
  • embedding_name (str): 嵌入层名称,默认None

VarLenSparseFeature

  • 简介:处理变长离散型特征。
  • 参数
  • name (str): 特征名称
  • vocabulary_size (int): 类别词表大小
  • embedding_dim (int): 嵌入向量维度
  • maxlen (int): 序列最大长度
  • dtype (str): 数据类型,默认'int32'
  • embedding_name (str): 嵌入层名称,默认None
  • combiner (str): 序列池化方式,可选'sum','mean','max',默认'mean'

数据转换

数据预处理

MinMaxScaler

  • 简介:数值特征归一化。
  • 参数
  • feature_range (tuple): 归一化范围,默认(0, 1)

StandardScaler

  • 简介:数值特征标准化。
  • 参数
  • with_mean (bool): 是否减去均值,默认True
  • with_std (bool): 是否除以标准差,默认True

LabelEncoder

  • 简介:类别特征编码。
  • 方法
  • fit(values): 拟合编码器
  • transform(values): 转换数据
  • fit_transform(values): 拟合并转换

数据格式转换

pandas_to_torch

  • 简介:将Pandas数据转换为PyTorch张量。
  • 参数
  • df (pd.DataFrame): 输入数据框
  • dense_cols (list): 连续特征列名列表
  • sparse_cols (list): 离散特征列名列表
  • device (str): 设备类型,'cpu'或'cuda'

numpy_to_torch

  • 简介:将NumPy数组转换为PyTorch张量。
  • 参数
  • arrays (list): NumPy数组列表
  • device (str): 设备类型,'cpu'或'cuda'

模型组件

激活函数

Dice

  • 简介:Dice激活函数,在深度兴趣网络(DIN)中提出。
  • 参数
  • epsilon (float): 平滑参数,默认1e-3
  • device (str): 设备类型,默认'cpu'

注意力机制

ScaledDotProductAttention

  • 简介:缩放点积注意力机制。
  • 参数
  • temperature (float): 温度参数,用于缩放
  • attn_dropout (float): 注意力dropout率

MultiHeadAttention

  • 简介:多头注意力机制。
  • 参数
  • d_model (int): 模型维度
  • n_heads (int): 注意力头数
  • d_k (int): 键向量维度
  • d_v (int): 值向量维度
  • dropout (float): dropout率