天池精準醫療大賽—複賽Top5解決方案

第一部分 賽題回顧

 1.1 賽題介紹

以主辦方青梧桐公司提供的包含84個特徵的1000個病患樣本爲基礎,以是否患妊娠糖尿病爲研究方向,通過對孕婦懷孕期間(孕前、孕中、孕後)基因檢測的場景研究,利用大數據人工智能的手段和技術進行數據分析、建模、優化,建立一個可靠、穩定、高精度的大數據產品,最終有效預測病人患糖尿病的風險。

 1.2評價指標

模型對每個樣本預測的結果將與個體實際檢測到的是否患有妊娠糖尿病情況進行對比,以F1爲評價指標,結果越大越好,F1計算公式如下:


 1.3評價方式

根據每天抽取60%(120條)的預測集進行隨機評測。

 

 第二部分 數據分析

考慮到樣本的數據量非常小,嘗試過衍生新的特徵,結果是線上的成績提升,但是線上當次的提交排名往往下降,因此有可能使訓練集上過擬合了. 最終的方案也只是通過一些參數調優的方法得到了一個比較好的單模型,並在複賽全量評分上得到第5名.

 2.1 重要指標特徵分佈

通過對連續型變量進行離散化,計算每個特徵取值結果下的患病率和iv:

特徵分佈

 2.2 指標單調性分析

白細胞

樣本中顯示白細胞含量越多,患糖尿病的風險越高,這有可能與病人的體質有關,白細胞含量越多,說明體內的抗原抗體反應更多。

孕前體重

體重BMI指數越高,患病風險越大。

 2.3 指標挖掘

 指標挖掘

 2.4 變量預處理

空缺值用-999填充

通過IV變量篩選剔除大約30個指標

 

 第三部分  模型構建

在線下各種算法選型過程中,使用了各類熱門的模型如xgboost、lightGBM、NN算法,調整了很多版後的模型結果線上一直在40左右. 後面嘗試新的模型catboost,在未調參的情況下線下的AUC提升了0.02,從xgboost的0.82提升到了0.84,這也是線上提升成績的把握.

3.1 單模型結果

 單模型

3.2 模型組合結構

 結構

3.3 閾值選擇

由於線上採用的評分標準是F1,因此選擇一個好的閾值在同一個模型預測的概率結果下也能提升成績. 經過線下的嘗試,這裏的catboost在複賽第一階段的最佳閾值在0.378左右,102個正樣本,當時全樣本評測的時候可以達到0.78的成績. 第二階段採用相對比較高的閾值,因爲0.378的閾值篩選出了120個正樣本,因此策略上選擇更加保守的0.4作爲閾值,提交的正樣本個數仍然爲102個.

根據以下提升度表選擇閾值:


第四部分  特徵重要性排序

把指標人爲分爲基因型和常規指標,加強解釋性

 重要性排序

 

 第五部分 賽題總結

(1)本次比賽中,做了許多的變量組合,相對於模型輸出來說,有比較強的解釋性,比如SNP34、SNP37組合可以看到100%患病的樣本;

(2)單模型的調參部分,在調整參數的過程中,嘗試使用了遺傳算法、網格搜索進行最優參數尋找,最終單模型交叉驗證後的訓練集auc可以到達0.851.

 

完整代碼已放出,歡迎Star交流 https://github.com/NanguangChou/Tianchi-Accurate-Medical-Contest-Top-5

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章