本文介绍 Titanic - Machine Learning from Disaster 比赛中对比当前表格数据建模领域中最顶尖的几种技术,由 Kaggle 专家 Giba 分享。

模型效果

在处理像泰坦尼克号这样的小型/中型表格数据集时,基础模型(LimiX/TabPFN) 已经具备了取代 传统手动调参模型(XGB) 的实力。

模型ACCAUC耗时
LimiX0.830.885.9s
XGBoost0.820.885.9s
TabPFNv20.820.8712.2s
Random Forest0.810.865.3s

每个模型的介绍和特点如下:

模型类型特点
XGBoost (XGB)机器学习表格数据界的“常青树”。通过集成多个弱决策树来获得强预测能力。它需要手动特征工程和精细的调参。
Random Forest (RF)机器学习基于袋装法(Bagging)的经典集成学习算法。
TabPFNv2基于先验的表格基础模型预训练的 Transformer,能够通过“情境学习”(In-Context Learning)在几秒钟内完成对新数据集的预测,无需训练
LimiX基于先验的表格基础模型相比 TabPFNv2,它对大规模数据和复杂特征的处理能力更强,且同样支持“免训练”推理。

步骤1: 环境配置

# Install TabPFNv2!pip install tabpfn#!pip install typing_extensions# Install LimiX!git clone https://github.com/limix-ldm/LimiX.gitsys.path.insert(0, "./LimiX")#from typing_extensions import Literalimport torchdevice_name = 'cuda:0'torch.cuda.is_available()torch.cuda.current_device()torch.cuda.get_device_name(0)import numpy as np import pandas as pdimport xgboost as xgb

步骤2: 数据集预处理

train = pd.read_csv('/kaggle/input/titanic/train.csv', header = 0, dtype={'Age': np.float64})test  = pd.read_csv('/kaggle/input/titanic/test.csv' , header = 0, dtype={'Age': np.float64})print( train.shape, test.shape )for features in ['Age', 'Embarked', 'Cabin', 'Sex', 'Name', 'Ticket', 'Fare']:    lbl = LabelEncoder()    lbl.fit(pd.concat((train[features], test[features])) )    train[features] = lbl.transform(train[features])    test[features] = lbl.transform(test[features])    y_target = train['Survived']train.drop(['PassengerId', 'Name', 'Ticket', 'Survived'], axis=1, inplace=True)test.drop(['PassengerId', 'Name', 'Ticket'], axis=1, inplace=True)

步骤3: 模型交叉验证

tabpfn_totaltime = 0tabpfn_acc_score = []tabpfn_auc_score = []y_test = np.zeros(test.shape[0])kf = StratifiedKFold(n_splits=NFOLDS, shuffle=True, random_state=2022)for fold, (train_indices, valid_indices) in enumerate(kf.split(train, y_target)):    # scaler gives better results    scaler = StandardScaler()    X_train = scaler.fit_transform(train.iloc[train_indices])    X_valid = scaler.transform(train.iloc[valid_indices])    X_test = scaler.transform(test)        y_train = y_target[train_indices]    y_valid = y_target[valid_indices]        st = time.time()    model = TabPFNClassifier(device = device_name)    model = model.fit(X_train, y_train)    y_pred = model.predict_proba(X_valid)[:, 1]    y_test += model.predict_proba(X_test)[:, 1]    tabpfn_totaltime += (time.time() - st)        tabpfn_val_acc = accuracy_score(y_valid, y_pred>=0.5)    tabpfn_val_auc = roc_auc_score(y_valid, y_pred)    tabpfn_acc_score.append(tabpfn_val_acc)    tabpfn_auc_score.append(tabpfn_val_auc)    print(f"Fold: {fold}:, {tabpfn_val_acc:.4f}, {tabpfn_val_auc:.4f}")    print()print(f"PFN average ACC: {np.mean(tabpfn_acc_score)} average AUC: {np.mean(tabpfn_auc_score)}")print(f"Fit+Predict time: {tabpfn_totaltime}s")

步骤4: 模型精度对比

print(f"XGB   ACC: {np.mean(xgb_acc_score):.4f} AUC: {np.mean(xgb_auc_score):.4f} {xgb_totaltime:.1f}s")print(f"LimiX ACC: {np.mean(limix_acc_score):.4f} AUC: {np.mean(limix_auc_score):.4f} {limix_totaltime:.1f}s")print(f"PFN   ACC: {np.mean(tabpfn_acc_score):.4f} AUC: {np.mean(tabpfn_auc_score):.4f} {tabpfn_totaltime:.1f}s")print(f"RF    ACC: {np.mean(rf_acc_score):.4f} AUC: {np.mean(rf_auc_score):.4f} {rf_totaltime:.1f}s")XGB   ACC: 0.8294 AUC: 0.8833 5.9sLimiX ACC: 0.8384 AUC: 0.8821 5.9sPFN   ACC: 0.8294 AUC: 0.8756 12.2sRF    ACC: 0.8182 AUC: 0.8699 5.3s

LimiX 模型原理

Stable AI清华大学 联合团队开发的 LimiX,这是一种旨在为通用智能引入“结构化数据建模能力”的大型结构化数据模型(Large Structured-data Models, LDMs)。

研究团队认为,实现通用智能(AGI)需要三种基础模型的互补:语言模型(基于文本)、物理世界模型(基于视觉/感知)和结构化数据模型(基于表格/数据库)。LimiX 的目标就是填补结构化数据这一领域的空白,打造一个通用的表格数据基础模型。

  • 联合分布建模:LimiX 将结构化数据视为变量与缺失值的“联合分布”。这种设计使其能够通过单一模型,通过“基于查询的条件预测”(query-based conditional prediction)来处理各种不同的表格任务。
  • 预训练机制:采用“掩码联合分布建模”(masked joint-distribution modeling)以及一种“情节性、上下文条件”的目标进行预训练。
  • 即插即用(无需训练):模型支持在推理时进行快速的、无需重新训练的自适应(Training-free adaptation),这意味着它可以直接处理从未见过的表格数据。

学AI大模型的正确顺序,千万不要搞错了

🤔2026年AI风口已来!各行各业的AI渗透肉眼可见,超多公司要么转型做AI相关产品,要么高薪挖AI技术人才,机遇直接摆在眼前!

有往AI方向发展,或者本身有后端编程基础的朋友,直接冲AI大模型应用开发转岗超合适!

就算暂时不打算转岗,了解大模型、RAG、Prompt、Agent这些热门概念,能上手做简单项目,也绝对是求职加分王🔋

在这里插入图片描述

📝给大家整理了超全最新的AI大模型应用开发学习清单和资料,手把手帮你快速入门!👇👇

学习路线:

✅大模型基础认知—大模型核心原理、发展历程、主流模型(GPT、文心一言等)特点解析
✅核心技术模块—RAG检索增强生成、Prompt工程实战、Agent智能体开发逻辑
✅开发基础能力—Python进阶、API接口调用、大模型开发框架(LangChain等)实操
✅应用场景开发—智能问答系统、企业知识库、AIGC内容生成工具、行业定制化大模型应用
✅项目落地流程—需求拆解、技术选型、模型调优、测试上线、运维迭代
✅面试求职冲刺—岗位JD解析、简历AI项目包装、高频面试题汇总、模拟面经

以上6大模块,看似清晰好上手,实则每个部分都有扎实的核心内容需要吃透!

我把大模型的学习全流程已经整理📚好了!抓住AI时代风口,轻松解锁职业新可能,希望大家都能把握机遇,实现薪资/职业跃迁~

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

在这里插入图片描述

Logo

开源鸿蒙跨平台开发社区汇聚开发者与厂商,共建“一次开发,多端部署”的开源生态,致力于降低跨端开发门槛,推动万物智联创新。

更多推荐