数字医疗算法应用创新大赛-食品与疾病关系预测算法赛道top5方案分享

news2024/11/18 15:49:42

一、比赛地址和背景

1.1 比赛地址

比赛地址

1.2 数据说明及任务

本次算法赛将提供超过 23.5W 的食物、疾病对应关系及其量化得分,其中食物特征超过 200 个,疾病特征由 3 种不同的方式抽取,累积超过 4000 个特征信息。初赛为 0、1 二分类预测,提供食物、疾病特征,与食物疾病的关系标签。
疾病特征
在这里插入图片描述
食物特征
在这里插入图片描述

1.2.1 初赛任务

本赛道将提供脱敏后的食物与疾病特征,参赛团队根据主办方提供数据,在高度稀疏数据的场景中,进一步挖掘、融合特征并设计模型,以预测食物与疾病的关系。初赛阶段为二分类问题,分类标签分别为 0(无关)、1(存在正面或负面的影响)。
在这里插入图片描述

1.2.2 复赛任务

在初赛的基础上,增加对食物与疾病相关性评级维度的评估。
复赛阶段同时评估 0、1 二分类与相关性评级,在原训练集中增加食物疾病相关性评级的标签数据。
在这里插入图片描述

其实还是二分类,不过评价方面考虑了相关性的排序

三、总体思路分享

初赛做的比较简单,基本就是在baseline基础上调了一下参数就混进了复赛
复赛多少做了一些工作,下面是主要内容分享

3.1 总体流程

在这里插入图片描述
整个流程如图所示
主要采用了高斯聚类、PCA、特征分组衍生、LightGBM等方法
虽然树模型可以处理缺失值,但是这里发现补0可以提高一个多点,由于是匿名特征,所以这里也没办法解释。
另外线上线下差距极大,比较容易过拟合。

3.2 高斯聚类

高斯聚类的思路和流程如下:
在这里插入图片描述
数据特点:所有特征经过脱敏处理。食物特征缺失率较大,三个疾病特征维度高,而且疾病数量各不相同,总体情况较为复杂。
食物的高斯聚类:由于测试集食物是全新的数据,在训练集中没有出现,所以我们想通过聚类算法来打标签。这样就获得了食物的类别标签。也方便进行下一步的特征挖掘。具体方法是找出缺失率较少的列(<10%),然后将这些列的缺失值进行填充(-1,因为部分特征值有0,容易混淆。)
疾病的高斯聚类:虽然疾病特征数据是固定的,但是我们也想要通过聚类算法来找出疾病可以分为几个类别,来获得更多的疾病类别信息。

3.3 特征挖掘

总体思路如下:
在这里插入图片描述
分组统计量特征
计算每个食物组在训练集中与疾病相关性的统计量:均值、标准差、偏度、峰度。
计算每个疾病ID在训练集中与食物相关性的统计量:均值、方差、偏度、峰度。
特征交叉
按照LGBM的特征重要性排序,将重要性靠前的特征进行特征交叉,由于复赛进行交叉过拟合严重,所以只选取前5的特征(食物特征)进行乘法和除法的交叉。

3.4 尝试过的其他方法

聚类方法:K均值聚类、层次聚类等,效果最优的是高斯聚类。
降维方法:稀疏PCA效果略优,但是资源消耗较大,其他方法(比如tsvd)替换后效果略差。总体来说差距不大。
分组特征统计量:最大值、最小值、极差、中位数等。
其他分组:尝试将疾病聚类后类别进行分组计算,效果不佳.
特征交叉:初赛将food_id作为交叉项效果较好,但是放在复赛线上线下差距较大。
特征重要性:尝试删除一些特征重要性较低的特征,效果不佳。
模型选择:XGB、Catboost等,但是经过实验,初始效果较差,参数略微调整后没有提升。
模型融合:由于其他模型效果相对较差、模型融合(比如stacking)效果不佳,且模型比较大。

3.5 未尝试的想法

食物与疾病的相关性:
食物和疾病由于不属于一个种类,特征提取方式也有所不同,其中数据间也会存在差异性。
经过多表拼接之后,其实就是将食物疾病特征融合,最后得到一个得分,也就是相关性。
在本赛题中nn模型大多使用的也是先拼接融合,在进行计算,线上线下差距很大。可能是由于模型隐层提供更多的交叉特征信息,导致了过拟合严重。
所以双塔模型其实可能会有更好的效果。
双塔模型通过施加以下约束可能会达到更优效果:
1.消除食物和疾病特征间的差异性,这部分差异主要是由特征提取方式不同导致的。L2范数最小化特征矩阵距离,对抗学习等等。
2.在公共特征空间放缩特征距离,有相关性的特征距离缩小,无相关性的特征距离放大
3.其他约束。
跨模态检索
食物与疾病

四、代码分享

和鲸社区:点击跳转
github:点击跳转
如果觉得有用,可以给个fork和点赞

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/492549.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

递归递推练习题

1.用递归的方法123…N的值&#xff08;in:5,out:15&#xff09; 2.输出斐波那契数列的第N项&#xff0c;0&#xff0c;1&#xff0c;1&#xff0c;2&#xff0c;3&#xff0c;5&#xff0c;8&#xff0c;13…(in:3,out:1) 3.求n!&#xff08;in:5,out:120&#xff09;n!123……

STM32启动/下载模式

启动模式 主闪存存储器区存放用户设计的代码&#xff0c;代码烧录到这里&#xff0c;一般情况在正常工作时需要把STM32设置为从这里启动。 系统存储器区用来实现ISP功能的。 内嵌SRAM区用来实现调试器调试功能的。 ISP ISP一般由PC机通过串口把bin/hex文件直接烧写到单片机内…

java并发编程之美第五章读书笔记

java并发包中并发List源码剖析 介绍 CopyOnWriteArrayList 线程安全的ArrayList,对其进行的修改操作都是在底层的一个复制的数组(快照)进行的,也就是写时复制策略 类图 每一个对象里面有一个array数组进行存放具体的元素,ReentrantLock独占锁对象用来保证同时只有一个线程对…

Maven中optional标签详解

这一篇文章应该是全网讲解optional最细致的&#xff0c;因为我都是拿我自己的试验来证明&#xff0c;从试验当中也发现了很多出乎意外的知识&#xff01;感兴趣的跟着小编一块来学习呀&#xff01; 目录 一、前言二、依赖传递代码演示三、是否会影响父子工程之间的依赖继承呢&a…

精致女孩必备的6款APP,内外兼修,提升气质

自立自强、敢于追求、内外兼修&#xff0c;这样的女孩不管在哪个时代都是非常有魅力的&#xff01; 在我看来&#xff0c;自律、上进、情商高、会打扮、会赚钱、独立、落落大方&#xff0c;这才是精致女孩该有的样子。 不墨迹&#xff0c;速速揭开6款宝藏APP的面纱&#xff0…

石头科技2022年营收实现双位数增长,以技术实力打响创新价值战

近日&#xff0c;石头科技披露了2022年度财务报告&#xff0c;报告显示&#xff0c;在在较大内外部压力下&#xff0c;石头科技2022年营收依然实现双位数增长&#xff0c;且境内外销售收入平稳增长。 该公司在近年来不断完善其产品矩阵&#xff0c;目前已推出手持无线吸尘、商…

数据结构 (入门必看)

一、 预备知识 &#xff08;一&#xff09;数据结构前言 1、学习C语言是如何写程序,学习数据结构如何简洁高效的写程序 2、遇到一个实际问题&#xff0c;需要写程序&#xff0c;需要解决两个方面的问题 1)如何表达数据之间的逻辑规律以及如何将数据存储到计算机中 数据结构…

多数据源 使用 flyWay 进行数据库管理

文章目录 前言多数据源 使用 flyWay 进行数据库管理1. 环境2. flyway版本 与 MySQL 版本 对应关系3. flyway 脚本文件命名方式4. flyway工作流程5. 知识点补充6. 集成的时候常见错误6.1. user_variables_by_thread没有访问权限6.2. MySQL不支持Flyway社区版&#xff0c;只支持F…

68元工业级双核A7,全新T113核心板震撼上市!

万象奥科全新T113核心板震撼上市&#xff0c;仅68元、工业级品质、双核A7处理器、外设丰富&#xff0c;诠释极致性价比&#xff01; 参数速递 1.全志T113工业级处理器&#xff0c;主频1.2GHz 2.双核Cortex-A7玄铁C906 RISC-V HiFi4 DSP异构多核 3.内存128MB/256MB/512MB&a…

【Kafka】概述与集群部署

文章目录 Kafka概述定义应用场景缓冲/削峰解耦异步通信 应用模式点对点模式发布/订阅模式 基础架构 Kafka集群部署集群规划下载解压修改配置文件分发安装包hadoop103、hadoop104修改配置文件配置环境变量启动集群先启动Zookeeper集群然后启动Kafka 关闭集群 集群启停脚本脚本编…

QT自学笔记2:使用介绍(函数)

一、 setAttribute&#xff08;按F1&#xff09;—>void QWidget::setAttribute(Qt::WidgetAttribute attribute, bool on true) —>Qt::WidgetAttribute attribute&#xff08;有一个属性&#xff09; ----> p->setAttribute(Qt::WA_DeleteOnClose); MainWind…

眼见为实,来瞧瞧MySQL中的隐藏列!

在介绍mysql的多版本并发控制MVCC的过程中&#xff0c;我们提到过mysql中存在一些隐藏列&#xff0c;例如行标识、事务ID、回滚指针等&#xff0c;不知道大家是否和我一样好奇过&#xff0c;要怎样才能实际地看到这些隐藏列的值呢&#xff1f; 本文我们就来重点讨论一下诸多隐…

ThingsBoard集群部署之k8s

1、概述 今天终于有时间去搞这个啦,拖了很久了,一直没时间,因为我本地没有那么多机器资源,开虚拟机不够,如果租用阿里云服务器,需要有充值的时间,因为这个费用是按小时付费,需要有连贯的时间来搞才行,今天恰好有时间,就开始搞了,弄成功搞出来了,特地写博客记录下来…

Linux基本指令【Linux操作系统】

本文将开启Linux操作系统学习新篇章&#xff0c;欢迎与博主一起交流学习。 目录 一、ls指令 二、pwd指令 三、mkdir与rm指令 四、cd指令 五、touch指令 六、man指令&#xff08;重要&#xff09; 七、cp指令&#xff08;重要&#xff09; 八、mv指令&#xff08;重要&…

keepalived如何手动切换主备

概述 主备部署中使用keepalived可以很方便的实现&#xff0c;安装维护简单&#xff0c;功能稳定。 最近在使用过程中有小的发现&#xff0c;记录一下。 环境 CentOS Linux release 7.9.2009 (Core) keepalived.x86_64 1.3.5-19.el7 安装配置 centos7自带的keepalived版本…

提升自我数据分析能力的根本,是方法论!

很多人问&#xff0c;我是财务&#xff0c;能转行业做BI吗&#xff1f;我该学些什么&#xff1f;该掌握哪些技能&#xff1f;该如何学习&#xff1f;我是学生&#xff0c;在校期间专业不扎实&#xff0c;该怎么办&#xff1f;我是小白&#xff0c;还能学会数据分析吗&#xff1…

第二届“强国青年科学家”获奖者均有海外经历

今天是五四青年节&#xff0c;为了弘扬五四精神&#xff0c;知识人网小编本期专门介绍10名第二届“强国青年科学家”获奖者。特别提示&#xff1a;这些科学家均具有海外留学或研究经历。 五四精神的核心内容为“爱国、进步、民主、科学”。 进一步弘扬科学精神&#xff0c;营造…

找不到vcruntime140.dll,无法继续执行代码,解决方法分享

找不到vcruntime140.dll,无法继续执行代码&#xff1f;vcruntime140.dll 是 Visual Studio 2015 运行库的 Dynamic Link Library 文件&#xff0c;许多 Windows 应用程序需要它才能正常运行。当你尝试安装或运行某些应用程序时&#xff0c;有时可能会遇到找不到 vcruntime140.d…

电压放大器的实际应用有哪些方面

电压放大器是一种电子设备&#xff0c;用于增加信号的电压&#xff0c;使得信号具备更大的电压和功率去驱动负载&#xff0c;或者是更容易被检测、传输和处理。电压放大器的基本原理是将输入信号增加一个固定的电压值&#xff0c;以使得输出信号的幅值与输入信号的幅值相同或更…

怎样才能学好数据分析?

俗话说&#xff0c;先入行再求发展&#xff0c;好比你想彩票中奖&#xff0c;得先有买这个过程才行。想成为优秀数据分析也是如此&#xff0c;先掌握好这门技能入行后&#xff0c;再谈发展和深研。很多人都想拥有高薪双休又不加班的工作&#xff0c;比如数据分析&#xff0c;但…