Lesson1:酶预测大赛1

目录

  • 1. 参加比赛的意义
  • 2. Kaggle 平台介绍
  • 3. 赛题介绍
    • 3.4 比赛目的
    • 3.5 评价指标
  • 4. 开发环境搭建
    • 4.1 目录组织形式
  • 5. 比赛数据探索性分析
    • 5.1 数据描述
  • 6. 跑通 baseline & 提交
  • 7. code 代码

1. 参加比赛的意义

  • 工业界
    • 通过奖金方式,寻求业务痛点的解决方案。
  • 学术界
    • 提高学科影响力,比如某些大学的实验室。
  • 个人
    • 模型设计创新 & 快速解决问题能力 & 不断积累,减少试错成本。

八个步骤建模

  • 数据预处理:针对不同存储格式,如何处理、读进来
  • build_transform,dataset,dataloader,
    • albumentation 这个库基本包括了所有的数据增强
  • build loss
  • build metric
  • train one epoch
  • vaild/test one epoch
  • result post preprocess

2. Kaggle 平台介绍

3. 赛题介绍

酶稳定性预测,去识别出酶里面的一个耐热性的突变,

3.4 比赛目的

去预测各种酶变体的耐热性(熔化温度),

3.5 评价指标

衡量一个集体的情况,一般会采用均值方差,但是有时候均值和方差,,变异系数=均值/方差,,

tm

4. 开发环境搭建

买一个 3090 的矿卡,
清华源也要用,

4.1 目录组织形式

参加比赛的话,要自己创建一个主文件夹(类似下图kaggle),UWMGI和HubMap是上两次比赛的名字,本次比赛的名字叫NESP,这个input和working和kaggle平台是一样的,然后在working里面去编辑。
Lesson1:酶预测大赛1_第1张图片

5. 比赛数据探索性分析

5.1 数据描述

训练集 train.csv 下面有seq_id(第几个蛋白质序列)、protein_sequence(一个蛋白质序列)、pH值,同一个蛋白质在不同的pH值下也会有变化,tm就是一个稳定性,它就是一个值。tm越高越稳定,就是你熔点越高越稳定,

kaggle你每周只能用 16 个小时的 GPU,你需要在你本地搭建一个环境。你不能在kaggle上训练,它有训练时间限制,而且你关了那个网页它就会给你断掉。

test.csv是测试数据,会给你,sequence id 和蛋白质序列,需要预测每一个

提交文件的时候,只需要做的事情是把每一个seq_id和tm的值预测出来,也就是说我们在测试集的时候,有seq_id和protein_sequence蛋白质序列,把tm值预测出来,它是一个离线的值,不像其它图片或者文本的比赛,你要提交代码上去,然后kaggle的后台给你运行。

因为如果你能看到这些测试集的话,有的人就会手动打标签,这会非常恶心。

测试集一旦公布出来,他就找一堆人去标数据,标了数据然后去拟合,因为你训练集永远是100%的准确度,而测试集的话,如果把训练集加入到测试集的话,标了个数据加入到了测试集中,那预测出来的结果比别人费好大劲儿整出来的模型的精度要高,这是作弊行为。但是,这个比赛不存在这种情况。

因为,蛋白质序列你怎么知道它的稳定性呢?不会有人去挨个去试,如下图所示,有2413个蛋白质序列之多,所以它就很放心的把test.csv公布给你,,,最后你只需要本地去生成一个CSV,提交上去就行了。
Lesson1:酶预测大赛1_第2张图片

还提供了有一个 sample_submission.csv ,分位两列,一个是seq_id,一个是熔点 tm。
Lesson1:酶预测大赛1_第3张图片
额外的,它提供了一个 wildtype_structure_prediction_af2.pdb,这个就是它们官方用 AlphaFold 预测的上述酶的三维结构,已经给你预测好了,2413个测试集的
Lesson1:酶预测大赛1_第4张图片
首先,有一个开源的库,它额外的给测试集加了一点东西,原始测试集只是告诉你 seq_id,protein_sequence,pH,data_source,等,如下图所示。
Lesson1:酶预测大赛1_第5张图片
而开源的discussion,它把测试集给扩展了,还标记了每一个蛋白质序列的编辑次数,把编辑的类型也进行了标记。

另外,它也标记了发生插入、删除、替换字符串的索引的位置,也进行了标记。另外,它也把原来的字符里的位置,字符的通配符的索引也给标注了起来。

最后,它也把插入替换的那些字符也给替换出来了。
Lesson1:酶预测大赛1_第6张图片

6. 跑通 baseline & 提交

首先打开 DeepDDG这个网站:网站链接
Lesson1:酶预测大赛1_第7张图片

看一下这个论文,这个论文在下一篇博客讲,它们开发了一个 server,它们把它们训练好的模型放在上面,你每次就把DeepDDG,就是官方已经转化好了蛋白质的三维结构,你写上邮件地址,它就会给你预测出来。
Lesson1:酶预测大赛1_第8张图片

7. code 代码

视频第 53:00 讲 debug,非常重要。
pdb是必须掌握的debug也必须掌握, VS Code debug方法

为什么不建议使用 PyCharm,因为 PyCharm 如果想要去本地debug远程服务器的一个代码的话,你需要本地和远程的代码的数据是必须要一致的。

这也是意味着有时候你的数据是从服务器上拿不下来的,你就不能用 PyCharm ,而且 PyCharm 切换环境的时候,不如 VS Code 方便。

你把 VS Code 中非常好用的插件,你装上。所以说 VS Code 它其实非常的轻便,
Lesson1:酶预测大赛1_第9张图片

你可能感兴趣的:(Kaggle,人工智能)