背景知识&数据集
数据为健康人和患者的甲基化数据,每个样本包含多个甲基化位点的水平。甲基化水平会影响基因的表达,并且与个体年龄相关。
初赛的目标是构建能够评价样本生物学年龄的生物学时钟,属于回归任务。
- 健康样本的生物学年龄尽可能接近真实年龄。
- 患病样本的年龄高于真实年龄
公开数据包含10296个样本,训练集80%,每个样本提供485512个位点的甲基化数据。
患病样本的疾病涉及:Alzheimer’s disease,schizophrenia,Parkinson’s disease,rheumatoid arthritis,stroke,Huntington’s disease,Graves’ disease,type 2 diabetes,Sjogren’s syndrome等
sample_id | age | gender | sample_type | disease | |
---|---|---|---|---|---|
1 | train10001 | 86 | M | disease tissue | Alzheimer’s disease |
2 | train10002 | 89 | M | disease tissue | Alzheimer’s disease |
3 | train10003 | 80 | F | disease tissue | Alzheimer’s disease |
traindata.csv
: 大小为(8233, 485512)
评价指标
包含多个评价指标:
-
健康MAE(mean absolute error)
M A E c o n t r o l = 1 N ∑ i ∣ y − y ^ ∣ \mathrm{MAE}_{control} = \frac 1 N \sum_i|y - \hat y| MAEcontrol=N1i∑∣y−y^∣ -
患病MAE
M A E c a s e = 1 M ( ∑ i ( ∣ y − y ^ ∣ 2 ∗ 1 y ^ ≥ y + ∣ y − y ^ ∣ ∗ 1 y ^ < y ) ) \mathrm{MAE}_{case} = \frac 1 M \left(\sum_i(\frac {|y - \hat y|} 2 * 1_{\hat y \ge y} + |y - \hat y| * 1_{\hat y < y})\right) MAEcase=M1(i∑(2∣y−y^∣∗1y^≥y+∣y−y^∣∗1y^<y)) -
疾病预测的 F 1 − s c o r e F_1-score F1−score
F 1 = 2 ∗ P ∗ R P + R P = T P T P + F P R = T P T P + F N \begin{array}{l} F_1 = \frac {2 * P * R}{P + R}\\ P = \frac {TP} {TP + FP}\\ R = \frac {TP} {TP + FN} \end{array} F1=P+R2∗P∗RP=TP+FPTPR=TP+FNTP
提交格式
- 第一行为
sample_id, age
- 后续行输出
sample_id
,age
,用逗号分隔,age
保留两位
思路
特征很多,NaN
也不少,需要特征设计。
先跑一下baseline试试。
配置阿里云
部署Pai-DSW
-
打开阿里云,产品 > 人工智能与机器学习 > 机器学习平台PAI
-
交互式建模DSW免费试用,领取就可
-
需要先开通PAI并创建工作空间,创建结束后点进去就可以
-
选择左侧的交互式建模DSW,点击创建实例,可能需要授权PAI,同意即可
- 配置资源组,GPU选择V100;如果没有在当前工作空间内找到资源组的话,可能是没授权的原因
去授权DLC,然后进行关联
- 刷新一下资源组,选择GPU规格 > V100,镜像选择torch1.12
- 点击下一步,然后创建实例
-
打开实例,控制台(Terminal)更新下
apt-get
apt-get update
-
安装git
apt-get install git-lfs git init git lfs insatll
-
安装
unzip
,用来解压数据集apt-get install unzip
下载数据
使用Ossutil命令下载数据集
进入赛题首页 > 赛题与数据
可以看到数据集那里有Ossutil命令,点击并复制内网命令,拷入控制台运行即可,下载成功的话会提示Succeed。
上传baseline
下载baseline后,点击上传,把baseline传上去
解压数据
打开baseline文件,根据提示操作
-
新建ai4bio文件夹
-
解压数据,baseline里面这段代码好像缺失了,写个新的notebook补上(我这里路径和baseline里面不太一样)
跑一遍baseline并提交