[ PROMPT_NODE_26454 ]
Deepchem API 参考
[ SKILL_DOCUMENTATION ]
# DeepChem API 参考
本文档提供了 DeepChem 核心 API 的全面参考,按功能进行组织。
## 数据处理
### 数据加载器
#### 文件格式加载器
- **CSVLoader**: 从 CSV 文件加载表格数据,支持自定义特征处理
- **UserCSVLoader**: 用户自定义 CSV 加载,支持灵活的列规范
- **SDFLoader**: 处理分子结构文件 (SDF 格式)
- **JsonLoader**: 导入 JSON 结构的数据集
- **ImageLoader**: 为计算机视觉任务加载图像数据
#### 生物数据加载器
- **FASTALoader**: 处理 FASTA 格式的蛋白质/DNA 序列
- **FASTQLoader**: 处理带有质量分数的 FASTQ 测序数据
- **SAMLoader/BAMLoader/CRAMLoader**: 支持序列比对格式
#### 特殊加载器
- **DFTYamlLoader**: 处理密度泛函理论计算数据
- **InMemoryLoader**: 直接从 Python 对象加载数据
### 数据集类
- **NumpyDataset**: 封装 NumPy 数组以进行内存中数据操作
- **DiskDataset**: 管理存储在磁盘上的大型数据集,减少内存开销
- **ImageDataset**: 专门用于基于图像的机器学习任务的容器
### 数据分割器
#### 通用分割器
- **RandomSplitter**: 随机数据集划分
- **IndexSplitter**: 按指定索引分割
- **SpecifiedSplitter**: 使用预定义的分割
- **RandomStratifiedSplitter**: 分层随机分割
- **SingletaskStratifiedSplitter**: 单任务分层分割
- **TaskSplitter**: 多任务场景下的分割
#### 分子专用分割器
- **ScaffoldSplitter**: 按结构骨架划分分子(防止数据泄露)
- **ButinaSplitter**: 基于聚类的分子分割
- **FingerprintSplitter**: 基于分子指纹相似度进行分割
- **MaxMinSplitter**: 最大化训练集/测试集之间的多样性
- **MolecularWeightSplitter**: 按分子量属性分割
**最佳实践**: 对于药物发现任务,请使用 ScaffoldSplitter 以防止在相似分子结构上过拟合。
### 转换器
#### 归一化
- **NormalizationTransformer**: 标准归一化 (均值=0, 标准差=1)
- **MinMaxTransformer**: 将特征缩放到 [0,1] 范围
- **LogTransformer**: 应用对数转换
- **PowerTransformer**: Box-Cox 和 Yeo-Johnson 转换
- **CDFTransformer**: 累积分布函数归一化
#### 任务专用
- **BalancingTransformer**: 解决类别不平衡问题
- **FeaturizationTrans