666. Make Data Count - Finding Data References | make-data-count-finding-data-references
首先,我要感谢 Kaggle 举办了如此精彩的比赛。这是我的第一枚银牌,我很感激我的队友 @chaneyma, @diptyajitdas, @vaibhav486 和 @blackberryisbetter,如果没有他们,我们的团队永远无法走到这一步。
我们的解决方案包含以下几个阶段:
REGEX_IDS = (
r"\b(?:"
r"CHEMBL\d+|"
r"[E]-\w{4}-\d+|EMPIAR-\d+|"
r"ENSBTAG\d+|ENSOARG\d+|ENSMMUT\d+|ENS[FPTG]\d{11}(\.\d+)?|"
r"EPI_ISL_\d{5,}|EPI\d{6,7}|"
r"HPA\d+|CP\d{6}|IPR\d{6}|PF\d{5}|BX\d{6}|KX\d{6}|K0\d{4}|"
r"CAB\d{6}|"
r"((NC|NG|NM|NP|NR|NT|NW)_\d+)(\.\d+)?"
r"PRJ[DEN][A-Z]\d+|"
r"SAM[NDE]\d+|"
r"G(PL|SM|SE|DS)\d+|"
r"PDB\s?[1-9][A-Z0-9]{3}|HMDB\d+|"
r"(SR[RPAX]|STH|ERR|DRR|DRX|DRP|ERP|ERX)\d+|"
r"(BIOMD|MODEL)\d{10}|BMID\d{12}|"
r"UPI[A-F0-9]{10}|"
r"CPX-[0-9]+|"
r"UPI[A-F0-9]{10}|"
r"RF\d{5}|"
r"GU\d{6}|"
r"EBI\-[0-9]+|"
r"EGAD\d{11}|"
r"NA\d{5}|"
r"NSC\d{5}|"
r"R-[A-Z]{3}-\d+(-\d+)?(\.\d+)?|REACT_\d+(\.\d+)?"
r"phs\d{6}(?:\.v\d{1,2}\.p\d{1,2})?"
r"EMD-\d{4,5}|"
r"MTBLS\d+|"
r"NZ_[A-Z]{2,4}\d+(\.\d+)?"
r"PXD\d+|"
r"A[PMYF]\d{6}|"
r"M[TNF]\d{6}|"
r"URS[0-9A-F]{10}(_\d+)?"
r"[1-5]\.(?:10|20|30|40|50|60|70|80|90)\.\d{2,4}\.\d{2,4}|"
r"CVCL_[A-Z0-9]{4}"
r")\b"
)对我们无效的方法:
老实说,我对这次比赛收到的训练集质量有点失望,这让我们有时只能猜测提交的有效性,除了公共排行榜外没有任何指导。希望未来我能避免参加此类比赛。
话虽如此,总的来说这对我来说是一次很棒的学习经历,尤其是在正则表达式和 polars 方面。
感谢 @yeoyunsianggeremie 分享了第一个基线 Notebook,我们的解决方案是基于此制作的。
感谢 @aerdem4 分享了第一个使用 logit 限制的 Notebook,我们的解决方案是基于此制作的。
感谢 @mccocoful 分享了初始正则表达式解决方案并在多次讨论中提供指导,我们的解决方案是基于此制作的。
感谢 @kawchar85 建议专注于提示词工程。
如果大家对上述内容有任何疑问,请告诉我。这只是解决方案的初稿,我目前还没有涵盖每一个细节,计划清理代码并在一段时间后发布详细的解决方案。