AIDD·Atlas AI 制药学习地图
330

计算 ECFP4 Fingerprint:传统特征仍然有价值

用 RDKit 算 ECFP4(半径 2)指纹作为传统 ML 特征——简单、快、常常是强基线。

深度学习火热,但 ECFP4 + 树模型在很多任务上仍是难以超越的强基线。本篇生成 ECFP4 特征。

操作步骤

  1. from rdkit.Chem import rdFingerprintGenerator
  2. 建生成器:gen = rdFingerprintGenerator.GetMorganGenerator(radius=2, fpSize=2048)
  3. 对每个分子:fp = gen.GetFingerprint(mol),转成 numpy 数组;
  4. 堆叠成特征矩阵,作为随机森林/XGBoost 的输入;
  5. 必要时尝试计数指纹或不同位数对比。

常见坑与提示

半径 2 = ECFP4;位数太小碰撞多、太大稀疏;先用 ECFP4 + RF/XGBoost 建强基线,再判断深度模型是否真的更好。

延伸资源

  • 概念见 035–037;下一步 331、333。