
11月AI×Bio赛事日历从Kaggle质谱赛到蛋白设计挑战赛从这一期开始「AI×Bio 赛事」成为固定栏目每周一档上半场是赛事日历速递本周 deadline、方向、适合人群下半场挑一个当期赛事做Baseline 起步实战。做这个栏目的动机很简单此前 Enveda CASMI 质谱赛那篇实战站内互链的收藏率是全账号最高档——赛事文「有截止日期、有数据、能直接动手」是收藏型内容的黄金形态。⚠️deadline 红线赛事截止日期以官方页面实时显示为准本文不臆造具体日期开跑前务必到赛页核对。速递层11 月上旬赛事日历以下为方向型日历deadline 与奖金均以各官方页面为准赛事/方向平台方向适合人群质谱小分子结构鉴定CASMI 线Kaggle质谱→分子结构质谱/化学信息学PyTorch 基础蛋白结构/设计类挑战各平台轮动蛋白折叠与设计生信 结构生物学单细胞分析类竞赛平台轮动组学聚类/注释扫描图/AnnData 使用者生物医学 NLP 类平台轮动文献/病历文本LLM 微调经验者每类赛事在本栏目后续各期轮动做 Baseline。具体在打哪场、什么时候截止评论区互相通报deadline 变动我会在下期更新。深度层质谱赛的 Baseline 最小路径为什么首期选质谱赛两个理由一是它是我唯一完整跑过数据管线的赛题10-28 那篇实战的延续踩过的坑可以直接搬过来二是它的任务结构谱图→结构对生信背景的同学最友好——本质是「多输入特征 → 分类/检索」和序列分析思维同构。以 Kaggle 质谱线为例详细赛制见 10-28 Enveda CASMI 文互链任务是「给定质谱图 → 预测候选小分子结构」。第一次提交的最小路径分四步看懂数据训练集是「谱峰列表 对应分子 InChIKey」构造特征把峰列表变成模型可用的固定长度向量先上检索 Baseline不训深度模型用「谱图相似度 分子指纹最近邻」就能出第一版提交再迭代搭一个简单的峰序列编码器1D CNN/Transformer。先建立「能提交」的底线再谈排名——这是所有数据竞赛的第一原则。检索 Baseline 的意义不仅是热身它同时验证了你的数据读取、提交格式、评分理解三个环节深度模型上线后还要用它做 sanity check如果端到端模型打不过检索基线先怀疑实现而不是急于调参。环境准备十分钟搭好比赛工作台开跑前把环境一次配齐避免中途反复折腾# 竞赛环境一键脚本本地或 Kaggle Notebook 之外的云机conda create-naibiopython3.11-yconda activate aibio pipinstallpandas numpy scikit-learn rdkit torch --index-url https://pypi.org/simple# rdkit 若 pip 失败走 conda-forge# conda install -c conda-forge rdkit -ymkdir-paibio-comp/{data,src,sub}echodata/ 放原始数据, src/ 放代码, sub/ 放提交文件建议养成两个习惯所有随机过程设固定 seed复现自己的分数是和队友协作的基础数据文件不进 git用dvc或至少.gitignore 下载脚本比赛结束复盘时不至于对着代码找不到数据。代码块 1数据加载与特征构造# pip install pandas numpy rdkitimportnumpyasnpimportpandasaspdfromrdkitimportChemfromrdkit.ChemimportMACCSkeys N_BINS1000MZ_MAX1000.0# 按赛的 mz 范围调整defspectrum_to_vector(peaks,n_binsN_BINS,mz_maxMZ_MAX):peaks: [(mz, intensity), ...] → 固定长度强度向量vecnp.zeros(n_bins,dtypenp.float32)formz,inteninpeaks:idxint(mz/mz_max*(n_bins-1))if0idxn_bins:vec[idx]inten# 同 bin 强度累加ifvec.max()0:vec/vec.max()# 归一化returnvecdefmol_fingerprint(smiles):molChem.MolFromSmiles(smiles)ifmolisNone:returnNonefpMACCSkeys.GenMACCSKeys(mol)# 167 位 MACCS 指纹returnnp.array(fp,dtypenp.float32)# 训练集示意列名以实际数据字典为准dfpd.read_csv(train_spectra.csv)df[spec_vec]df[peaks].apply(lambdas:spectrum_to_vector(eval(s)))df[mol_fp]df[smiles].apply(mol_fingerprint)代码块 2检索 Baseline 与提交文件生成fromsklearn.neighborsimportNearestNeighborsimportnumpyasnp# 构建分子指纹库maskdf[mol_fp].notna()fp_matrixnp.stack(df.loc[mask,mol_fp].values)nnNearestNeighbors(n_neighbors5,metricjaccard)nn.fit(fp_matrix)testpd.read_csv(test_spectra.csv)rows[]for_,rintest.iterrows():qspectrum_to_vector(eval(r[peaks]))# 简易策略谱向量最近邻训练样本 → 其分子指纹近邻simsdf[spec_vec].apply(lambdav:float(np.dot(v,q)))topdf.loc[sims.nlargest(5).index,mol_fp]topnp.stack([tfortintopiftisnotNone])dist,idxnn.kneighbors(top.mean(axis0,keepdimsTrue))preddf.loc[mask].iloc[idx[0][0]][inchikey]rows.append({id:r[id],inchikey:pred})pd.DataFrame(rows).to_csv(submission.csv,indexFalse)print(已生成 submission.csv共,len(rows),条)两段代码跑通即完成「可提交 Baseline」——先上车再谈排名。后续期再讲深度模型的谱编码器与数据增强。三个第一次参赛最容易踩的坑把这些放在代码之后、因为它们都是跑通 Baseline 之后才会暴露的问题坑一提交格式校验比模型调优更早出事。第一次提交被拒的常见原因不是分数低而是 InChIKey 大小写、列名、行数不匹配。对策本地写一个格式校验函数行列数、列名、值域三查每次生成提交后自动跑。坑二训练/测试的谱图预处理必须同源。归一化方式强度除以基峰还是总量、mz 分箱边界训练和推理必须逐字一致——不同源的特征是「静默掉分」的头号来源而且排行榜上完全看不出来。坑三不要在公开榜上过度拟合。质谱赛公开集与私有集的分子分布通常有差异公开榜蹭分技巧如针对候选集频次的后处理在最终榜上经常反噬。正确姿势本地按分子骨架分层做交叉验证公开榜只作为方向性参考。时间管理deadline 驱动的三段投入法竞赛时间是最稀缺资源建议按 40/40/20 分配40%花在数据理解与验证集设计上最不性感但决定上限40%花在 Baseline 迭代与错误分析上看错例比调参有用20%留给提交前最后的格式校验与集成。倒排时间点deadline 前 72 小时冻结方法、前 24 小时只做集成与选提交。怎么挑「值得投入」的比赛赛事多了之后挑比赛比打比赛更影响收益。给三个筛选维度按权重排数据质量 奖金有干净、规模合理、文档齐全的数据集的比赛就算不进奖牌区跑完数据管线本身也是作品集素材面试/跳槽时「完整打过一场数据赛」的说服力远超课程项目与你的主线技能有 70% 重叠完全陌生的领域学习成本会吞掉全部业余时间完全熟悉的领域又学不到东西——重叠七成、留三成新知识的比赛性价比最高时间盒匹配评测「剩余可投入小时数 × 每周可连续时间」与赛程是否匹配两个周末的碎片时间打不了需要持续调参的 NLP 赛但够打一个特征工程为主的表格/谱图赛。用这三条过滤完通常一季值得认真打的比赛就 1–2 场。贪多必然都打不完这也是本栏目每周只推一档的原因日历帮你省筛选时间专注力还是得自己省。下期预告与互动下期下周一档更新 11 月中旬 deadline 变动 按评论区呼声选一场赛事做深度 Baseline蛋白设计类优先候选。如果这期的检索 Baseline 你跑通了欢迎晒分数——下期可能引用你的实测结论注明来源。速查表与两段代码都可以直接搬走欢迎反馈哪里卡住了卡点会优先写进下期。本期速查要点回顾deadline 以官方页为准 → 环境一键脚本 → 检索 Baseline 先上车 → 预处理同源 → 公开榜不过拟合 → 40/40/20 时间分配。收藏钩子建议先收藏下期同一时间更新 deadline 变动与新赛事 Baseline。你在打的 AI×Bio 比赛是哪场评论区报个到人多的话下期优先做那场的实战。另外如果对「谱编码器」的深度模型路线1D CNN → 峰序列 Transformer → 预训练迁移感兴趣也可以留言点单我会按呼声安排在后续期展开。参考来源 / 信源清单站内互链10-28 Enveda CASMI 文169462842、10-30 赛事速查文169561355Kaggle 赛事页https://www.kaggle.com/competitionsdeadline 以赛页实时显示为准各赛事官方页面成文时逐一核验AI 辅助生成人工核验后发布。