kaggle臨床患者病歷評分baseline
來源:投稿?作者:William
編輯:學姐
William
研究生畢業(yè)于美國TOP20大學
現(xiàn)就職國內(nèi)某互聯(lián)網(wǎng)大廠
賽題分析+baseline

1、賽題鏈接
https://www.kaggle.com/c/nbme-score-clinical-patient-notes
2、賽題描述
本次競賽的目標是通過建立一個模型來將不同病情的臨床表現(xiàn)在病例中找出,具體而言就是將病情描述+病人病例 一起輸入模型, 在病例中提取出對應的span位置。
商業(yè)價值:幫助醫(yī)生可以快速的定位病人的病情,從而對癥下藥
※ 比賽時間線
2022 2月 1日 年 - 開始日期。
2022 4 月 26 日 年 - 報名截止日期。 您必須在此日期之前接受比賽規(guī)則才能參加比賽。
2022 4 月 26 日 年 - 團隊合并截止日期。 這是參與者可以加入或合并團隊的最后一天。
2022 5 月 3 日 年 - 最終提交截止日期。
※ 豐厚的獎金
一等獎:15,000美元
二等獎:10,000美元
三等獎:8,000美元
四等獎:7,000美元
五等獎:5,000美元
六等獎:5,000美元
3、數(shù)據(jù)描述
本次比賽提供了5份數(shù)據(jù)分別是 train, test, features, patient_notes, submission, 其中test, submission為提交答案時用。
重點是如下3個文件
train文件標記了每個病例中,不同癥狀的相關(guān)描述
features中給出了所有病癥的名稱和id
patient_notes中給出了每份病例的詳細描述
3.1 訓練數(shù)據(jù)分析:
id
?- 一個unique 標記符來表示 patient note number - feature number對.pn_num
?- patient note number 可以當成病例號.feature_num
?- feature number 可以看作不同病癥的一個id.case_num
?- 病例所屬的case id 之后會用來關(guān)聯(lián)起病人patient note的文本描述和對應癥狀的文本描述.annotation
?- patient note中體現(xiàn)相關(guān)癥狀的描述, 一個病例中可能對同一個疾病癥狀存在多處描述.location
?- annotation所在的病例中的char 級別的位置.
其中——
在標記數(shù)據(jù)中,有的病情會在病例中有多處體現(xiàn),具體的分布如下:

可以看到大部分病情之在病例中有一處對應,大約有4399條在原文中并沒有找到對應的部分。
平均annotation 的char 級別長度為16.53,具體的分布如下:

下面是這個病例的內(nèi)容:

病例的char級別的長度分布如下

其實feature就是疾病對應的專業(yè)描述,像下面這個例子
病例的char級別的長度分布如下,平均char級別長度為23

4、評價指標
micro-averaged:
https://scikit-learn.org/stable/modules/model_evaluation.html#from-binary-to-multiclass-and-multilabel
F1 :
https://scikit-learn.org/stable/modules/model_evaluation.html#precision-recall-f-measure-metrics
5、構(gòu)建訓練數(shù)據(jù)
下面演示如何將3個數(shù)據(jù)merge到一起, 具體可以詳見baseline代碼,里面有更為詳細的介紹。
領(lǐng)baseline代碼
關(guān)注【學姐帶你玩AI】公眾號
回復“top”添加小享領(lǐng)取

merge以后數(shù)據(jù)張這樣子, feature text是疾病名稱,pn history就是病例annotation就是對應的體現(xiàn)這種疾病的具體描述。

根據(jù)label 生成 tensor,結(jié)合代碼,我們看一下label 數(shù)據(jù)是怎么生成的
舉個例子(不一定對應真實數(shù)據(jù),僅作為說明使用):
6、Baseline流程
1、加載數(shù)據(jù),切分CV,定義dataloader
2、定義模型
3、定義訓練函數(shù)
4、定義eval函數(shù)
5、調(diào)參完成訓練,上傳權(quán)重提交成績
7、賽題難點思考
1、label中大量為0, 1很少label不平橫對模型的影響
2、專業(yè)領(lǐng)域很多簡稱和沒有在vocab中收錄的詞會不會對模型造成影響
8、無痛漲分Trick
多drop out 對比學習
對抗訓練
r_drop
模型融合
領(lǐng)baseline代碼
關(guān)注【學姐帶你玩AI】公眾號
回復“top”添加小享領(lǐng)取
