MoleculeNet(Wu et al., Chemical Science 2018)是分子机器学习最早被广泛采用的基准集合。论文里出现的 ESOL、BBBP、Tox21、HIV、QM9 等名字都来自这里。它的历史贡献是让不同工作第一次可以相互比较;今天使用它,则需要清楚它的边界。
数据集速查
| 数据集 | 预测目标 | 规模 | 类型 | 注意 |
|---|---|---|---|---|
| ESOL | 水溶解度 logS | 1,128 | 回归 | 入门首选,任务清晰 |
| FreeSolv | 水合自由能 | 642 | 回归 | 数据少,波动大 |
| Lipophilicity | logD7.4 | 4,200 | 回归 | 来自 ChEMBL,质量较好 |
| QM9 | 12 个量子化学性质 | 133,885 | 回归 | DFT 计算值,非实验值 |
| BBBP | 血脑屏障通透 | 2,050 | 分类 | 已知存在标注错误 |
| BACE | BACE-1 抑制 | 1,513 | 分类+回归 | 单一靶点,系列集中 |
| Tox21 | 12 个毒性终点 | 7,831 | 多任务分类 | 标签稀疏 |
| ToxCast | 600+ 毒理终点 | 8,575 | 多任务分类 | 极度稀疏 |
| ClinTox | 临床毒性 | 1,478 | 多任务分类 | 标签定义有争议 |
| SIDER | 27 类副作用 | 1,427 | 多任务分类 | 标签噪声大 |
| HIV | 抗 HIV 活性 | 41,127 | 分类 | 阳性率约 3.5% |
| MUV | 17 个筛选任务 | 93,087 | 多任务分类 | 专为减少偏倚设计,很难 |
正确用法
import deepchem as dc
import numpy as np
scores = []
for seed in range(5): # 多种子是必需的
tasks, (tr, va, te), transformers = dc.molnet.load_bbbp(
featurizer="ECFP", splitter="scaffold", seed=seed) # 骨架划分
model = dc.models.SklearnModel(RandomForestClassifier(n_estimators=500))
model.fit(tr)
metric = dc.metrics.Metric(dc.metrics.roc_auc_score)
scores.append(model.evaluate(te, [metric], transformers)["roc_auc_score"])
print(f"ROC-AUC = {np.mean(scores):.3f} ± {np.std(scores):.3f}")
- 必须用 scaffold 划分:随机划分下几乎所有方法都能刷出高分,区分度极低。
- 必须多种子:BBBP、BACE 这类小数据集,不同种子间 AUC 波动常达 0.02~0.05,单次跑分的排名基本是噪声。
- 不平衡数据看 PR-AUC:HIV 阳性率仅 3.5%,只看 ROC-AUC 会过于乐观。
- 回归任务记得传 transformers:否则 RMSE 在标准化尺度上,无法与文献比较。
已知的质量问题
- BBBP 标注错误:多项独立分析发现 BBBP 存在明显的标签错误和重复分子。用它比较模型时,微小的性能差异没有意义。
- ClinTox 定义争议:「因毒性而临床失败」的标签定义不够清晰,部分标注存疑。
- 规模过小:多数数据集只有一两千个分子,模型间差异常淹没在噪声中。刷这些榜的边际价值已经很低。
- 与真实项目分布脱节:公开集是跨项目的杂合分子,实际项目面对的是同一系列的类似物,任务性质完全不同。公开集上的模型排名不能直接迁移。
- QM9 是计算值:标签来自 DFT 计算而非实验测量,学得再准也只是在拟合另一个计算方法。
今天的替代选择
- TDC Benchmark Group(见 244《TDC ADMET Group》):划分与指标更规范,覆盖更全,有排行榜。
- Polaris:新一代基准平台,强调数据质量与评测严谨性。
- 自家内部数据:最终选型必须在自家数据上验证,这是任何公开基准都替代不了的。
上手提示
- 它的价值是「让实验可比」,不是「衡量真实能力」;
- scaffold 划分 + 多种子均值 ± 标准差,两者缺一不可;
- BBBP 等数据集存在标签质量问题,别过度解读小幅提升;
- 更严格的评测转向 TDC Benchmark Group,最终选型看自家数据。
延伸资源
- 加载工具:172《DeepChem》、220《DeepChem MolNet Loaders》;更规范的基准:244《TDC ADMET Group》、173《TDC》;
- 评测陷阱:169《Benchmark 陷阱》;ADMET 概念见「成药性」模块。