项目描述: 针对医院提供患者数据,分析患者通过快速尿素酶试验、尿素呼气试验、尿氨排出试验、
血清学试验以及多聚酶链反应等报告中,快速识别,是否患有幽门螺杆菌感染。为医生在
查看一个患者是否患有幽门杆菌感染提供辅助依据。
项目职责:
1. 数据加载,数据清洗。
2. 数据 EDA 探索,特征相关性探索。
3. 选择模型,训练模型和模型评估。
技术要点:
1. 根据某医院提供的 35w 条患者数据(性别,年龄,局部症状,体温,聚合酶 Hp,
C14,尿氨样本数据,血清数据)等 55 个特征进行数据清洗,空值选择性填补。
2. 构建标签,使用 map 映射将患有幽门螺杆菌感染的患者和没患有的打上标签,查看正负
样本情况,正负样本(7:28)。
3. EDA 探索,使用 seabron.pairplot 查看各特征相关性,发现聚合酶 Hp,C14 值等特征是
否患有幽门螺杆菌感染呈现正相关。
4. 正负样本不平衡,使用 SMOTE 过采样,平衡正负样本。
5. 构建模型,使用 Logistic Regression,XGboost , Random Forest,模型得分
Random Accuracy 0.91,XGboost Accuracy 0.93。
6. 利用模型优化:GridSearchCV 调参对 Logistic Regression 调整 C 惩罚项,solver,
Accuracy 0.93, Random Forest 调了树的总数和深度 Accuracy 0.935, XGboost 调
了树的个数深度,L2 正则化,Accuracy 0.95。
7. 通过绘制 AUC,F1,precision ,观察,可以考虑设置阈值(0.6),来调整预测是否患有幽门
螺杆菌感染的概率,依次来调整模型的召回率 Recall 0.9