社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  机器学习算法

43期分享会-Nature主刊表格数据深度学习框架

灵活胖子的科研进步之路 • 4 月前 • 71 次点击  


第43期分享会-Nature主刊表格数据深度学习框架

文章首页
文章首页

全文地址:https://pmc.ncbi.nlm.nih.gov/articles/PMC11711098/

代码地址:https://priorlabs.ai/tabpfn-nature/

数据地址:https://zenodo.org/records/13981285

思维导图
思维导图


使用表格基础模型对小数据进行精确预测

表格数据,即以行和列组织的电子表格,在从生物医学到粒子物理、经济学和气候科学等科学领域中无处不在。 基于其余列填充标签列缺失值这一基本预测任务对于生物医学风险模型、药物研发和材料科学等各种应用至关重要。 尽管深度学习已经彻底改变了从原始数据中学习的方式,并带来了众多备受瞩目的成功案例,但在过去 20 年中,梯度提升决策树- gradient-boosted decision trees-在表格数据处理方面占据主导地位。在此,我们介绍表格先验数据拟合网络(TabPFN),这是一种表格基础模型,在样本数量多达 10,000 的数据集上大幅超越此前所有方法,且训练时间大幅缩短。在 2.8 秒内,TabPFN 在分类任务中的表现优于经过 4 小时调优的最强基线集成模型。作为一种基于生成式变换器的基础模型,该模型还允许进行微调、数据生成、密度估计和学习可重复使用的嵌入。TabPFN 是一种在数百万个合成数据集上学习得到的学习算法,展示了这种方法在算法开发方面的强大能力。通过提高不同领域的建模能力,TabPFN 有潜力加速科学发现并改善各个领域的重要决策。


本地化部署环境平台

本地化部署平台信息
本地化部署平台信息
镜像信息
镜像信息


用户指南


何时使用TabPFN

TabPFN在处理样本量多达10,000且特征数量达500的中小规模数据集时表现出色(图4和扩展数据表1)。对于更大的数据集以及高度非平滑的回归数据集,诸如CatBoost、XGB或AutoGluon等方法可能会优于TabPFN。

虽然TabPFN为CatBoost等传统表格数据模型提供了强大的直接替代方案,但与这些模型类似,它只是数据科学家工具包中的一个组件。要在实际问题中取得最佳性能,往往需要领域专业知识以及数据科学家的创造力。与其他建模方法一样,数据科学家应继续运用他们在特征工程、数据清洗和问题框架构建方面的技能与见解,以充分发挥TabPFN的优势。我们希望TabPFN的训练速度能够加快数据科学工作流程中的迭代速度。


TabPFN的局限性

TabPFN的局限性如下:

  • (1)TabPFN的推理速度可能比诸如CatBoost这类经过高度优化的方法慢;
  • (2)TabPFN的内存使用量与数据集大小呈线性增长,对于非常大的数据集来说,这可能是个限制因素;
  • (3)我们的评估主要集中在样本量多达10,000且特征数量达500的数据集上,其对更大数据集的扩展性还需要进一步研究。


计算和时间要求

TabPFN计算效率高,对于大多数数据集,可在消费级硬件上运行。不过,建议在(消费级)GPU上对新数据集进行训练,因为这能将训练速度提高一到三个数量级。尽管TabPFN的训练速度非常快,但它并非针对实时推理任务进行优化。对于一个有10,000行和10列的数据集,我们的模型对一个样本进行预测需要0.2秒(无GPU时为0.6秒),而CatBoost(默认设置)完成同样的预测仅需0.0002秒。在参考文献55中,已经探索了专门针对推理任务进一步优化TabPFN,结果显示其推理性能甚至比XGBoost快四倍,但到目前为止,预测质量有所下降。有关TabPFN内存使用和运行时复杂度的详细信息,请参考“神经网络架构详情”部分。


数据准备

TabPFN只需极少的预处理就能处理原始数据。如果我们简单地以表格格式(NumPy矩阵)提供数据,TabPFN将自动处理缺失值、编码分类变量并对特征进行归一化。虽然TabPFN开箱即用效果良好,但我们可以使用特定于数据集的预处理进一步提升性能。这部分也可以通过我们的PHE技术自动完成,或者通过手动修改默认设置来实现。在手动预处理数据时,我们应牢记,TabPFN的神经网络期望在所有预处理步骤之后,特征和目标大致呈正态分布。 例如,如果我们知道某个特征服从对数分布,在将其输入TabPFN之前对其进行指数运算可能会有所帮助。由于TabPFN对所有输入进行z标准化,缩放不会影响预测结果。然而,与所有算法一样,利用领域知识来组合或去除特征可以提高性能。


超参数调整

TabPFN无需大量超参数调整就能展现出强大的性能(见“与最先进基线模型的比较”部分)。如果我们有额外的计算资源,可以使用超参数优化(HPO)或“TabPFN(PHE)”部分所述的PHE技术进一步优化TabPFN的性能。我们的实现直接提供了随机搜索的HPO和PHE功能。


本地部署官网colab教程

教程来源
教程来源
教程首页
教程首页


日期时间与参与方式



如果您对真实世界研究/临床因果估计方法/生信分析/影像组学人工智能算法感兴趣可以通过下方的微信加我的交流群

助教微信-程老师
助教微信-程老师
助教微信-金老师
助教微信-金老师


欢迎关注我的视频号-每周定期直播免费文献分享会

扫一扫,添加我的视频号
扫一扫,添加我的视频号


欢迎关注我的小红书


欢迎关注我的B站账号-公开课及文献分享视频会更新至此

我的B站
我的B站

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/179341
 
71 次点击