siRNA药物药效预测
赛题任务
聚焦经过化学修饰的siRNA序列数据预测其对相应的信使RNA(mRNA)沉默效率指标
赛题数据简介
train_data.csv的每行为一条训练记录,包含数据记录的id、siRNA裸序列、相应的siRNA修饰序列、目标mRNA序列、siRNA浓度、细胞系、转染方法等实验室条件以及对应的实验室测量的mRNA Remaining值等总计19个字段。其中mRNA Remaining值为我们模型的训练目标,其余18个字段的全部或部分可以作为模型的输入特征。Remaining值代表了经过siRNA的沉默之后,mRNA的剩余百分比(相对于对照组)。Remaining值越低,siRNA的沉默效率越好,药效就越好。
baseline架构与评价体系
在这次比赛中,模型的评分由多个指标共同决定,以全面评估模型的性能。这些指标包括平均绝对误差(MAE)、区间内的平均绝对误差(Range MAE和和F1得分(F1 Score)。这些指标分别衡量模型在预测上的准确性和稳定性,以及在区间内的表现。最终的评分(Score)是综合这些指标的加权结果。
- 平均绝对误差(MAE)
mae = np.mean(np.abs(y_true - y_pred))
- 二值化处理
y_true_binary = (y_true < threshold).astype(int)
y_pred_binary = (y_pred < threshold).astype(int)
- 区间内的平均绝对误差(Range MAE)
mask = (y_pred >= 0) & (y_pred <= threshold)
range_mae = mean_absolute_error(y_true[mask], y_pred[mask]) if mask.sum() > 0 else 100
- F1 分数
precision = precision_score(y_true_binary, y_pred_binary, average='binary')
recall = recall_score(y_true_binary, y_pred_binary, average='binary')
f1 = 2precision * recall / (precision + recall)
- 综合评分(Score)
score = (1 - mae / 100) * 0.5 + (1 - range_mae / 100) * f1 * 0.5
构建与优化模型
- 深度学习?->LSTM、Tranformer or 传统机器学习?->随机森林、XGBoost
- 针对模型超参数进行调优