Task1:赛题解析&背景入门 【DataWhale夏令营】

赛题分析与理解

1. 赛题背景

mRNA 疫苗在新冠预防领域的成功,推动了核酸类药物研发的关注。本次比赛的焦点是利用化学修饰后的 siRNA 序列预测 RNA 干扰机制下对靶基因的沉默效率。这一指标直接与药物疗效相关。RNAi 是一种天然的基因表达调控机制,通过 siRNA 实现靶基因表达的抑制。化学修饰可以影响siRNA 的毒性、稳定性、靶向效果和药效,因此在实际药物设计中至关重要。

2. 比赛任务

参赛者需通过机器学习模型,预测化学修饰后的siRNA序列对已知靶基因的沉默效率。数据包括多个特征,如siRNA裸序列、修饰序列、实验条件等。训练数据约占总数据的85%,其余15%用于测试和评分。

3. 数据集介绍
  • train_data.csv:训练数据,包含19个字段,记录实验条件和测量结果。
  • sample_submission.csv:测试数据,需参赛者预测mRNA_remaining_pct。
  • vocab.csv:化学修饰缩写表,描述各种修饰核苷酸的化学结构。
  • baseline.py:基线模型,使用RNN预测,主要特征是siRNA_sense_seq。
4. 数据字段说明
  • id:唯一识别号
  • publication_id:公开文献号
  • gene_target_symbol_name:靶基因名称
  • gene_target_ncbi_id:靶基因NCBI标识
  • gene_target_species:靶基因物种
  • siRNA_duplex_id:siRNA双链编号
  • siRNA_sense_seq:siRNA的sense序列
  • siRNA_antisense_seq:siRNA的antisense序列
  • cell_line_donor:实验细胞系
  • siRNA_concentration:siRNA浓度
  • concentration_unit:浓度单位
  • Transfection_method:转染方法
  • Duration_after_transfection_h:转染后持续时间
  • modified_siRNA_sense_seq:修饰后的siRNA的sense序列
  • modified_siRNA_antisense_seq:修饰后的siRNA的antisense序列
  • modified_siRNA_sense_seq_list:修饰后sense序列分解列表
  • modified_siRNA_antisense_seq_list:修饰后antisense序列分解列表
  • gene_target_seq:靶基因参考序列
  • mRNA_remaining_pct:实验后的mRNA剩余百分比(目标变量)
5. 比赛评价指标
  • 平均绝对误差(MAE):整体预测精度,范围[0,100]。
  • 范围内平均绝对误差(Range-MAE):预测值在[0,30]范围内的平均绝对误差,关注低Remaining区间的预测精度。
  • 范围内的F1指标(F1):衡量低Remaining区间的预测准确率。
6. 比赛得分计算

最终得分综合考虑整体区间预测精度和低 Remaining 区间的预测精度与准确性: 

score=0.5\times\left ( 1-MAE/100 \right )+0.5\times F1\times \left ( 1-Range-MAE/100 \right )

7. 基线方法

提供的基线方法使用RNN模型,仅使用 siRNA_sense_seq 作为输入特征进行预测。

分析与理解

  1. 什么是RNAi机制?它在基因治疗中的作用是什么? 深入了解RNAi机制及其在基因治疗中的应用,特别是化学修饰siRNA的作用和重要性,能够帮助你更好地理解赛题背景和目标。

  2. 比赛的核心目标是什么? 明确本次比赛的目标是通过机器学习模型预测化学修饰siRNA对靶基因的沉默效率,这一目标决定了数据处理、特征选择和模型设计的方向

 baseline思路概述(RNN)

该基线模型使用了 RNN(递归神经网络)来处理和预测 siRNA 数据。

1.数据预处理与特征工程

Tokenization:

  • 使用 GenomicTokenizer 将siRNA序列进行 tokenization 。根据指定的 ngram 和 stride ,将序列分解为 n-gram tokens。
  • GenomoicVocab 类创建了一个词汇表(vocab),以将这些tokens映射到整数索引。

数据集:

  • SiRNADataset 继承自 PyTorch 的 Dataset 类,负责从 DataFrame 中提取数据,并将其转化为模型可以处理的格式。包括对 siRNA 序列进行 tokenization 和 padding 操作。
2. 模型设计
  • Embedding Layer:

    • nn.Embedding 层将 token 的整数索引映射到密集的向量表示。它的输入是词汇表的大小和嵌入维度。
  • GRU Layer:

    • nn.GRU用于处理序列数据。GRU(门控循环单元)是一种 RNN 的变体,旨在处理长期依赖问题。
    • 该层是双向的(bidirectional = True),意味着它会从两个方向处理序列信息,这有助于捕获更多上下文信息。
    • dropout 用于减少过拟合。
  • Fully Connected Layer:

    • nn.Linear 层将GRU的输出映射到目标值。由于 GRU 是双向的,因此需要将两个方向的输出拼接在一起。
3. 训练与评估
  • 训练过程:

    • 在每个epoch中,模型会被训练数据迭代训练。使用均方误差(MSE)作为损失函数(nn.MSELoss),计算预测值与真实值之间的差异。
    • 使用Adam优化器(optim.Adam)来更新模型的权重。
  • 评估过程:

    • 训练完成后,在验证集上进行评估。模型在验证集上的预测会被用来计算不同的指标:
      • 平均绝对误差(MAE): 衡量预测值的总体精度。
      • Range-MAE: 在 mRNA 剩余百分比的低区间(0到30)内的 MAE ,关注模型在低效果值范围内的表现。
      • F1 Score: 计算模型在低效果值范围内的precision和recall的综合表现。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值