一、关于 TabPFN
TabPFN是表格数据的基础模型,它优于传统方法,同时速度显着加快。该存储库包含具有CUDA优化的核心PyTorch实现。
- github : https://github.com/PriorLabs/TabPFN
- 官方文档:https://priorlabs.ai/
- Discord
- 交互式Colab教程 使用示例和最佳实践
- 开发者: Prior Labs
🌐TabPFN生态系统
根据您的需求选择正确的TabPFN实现:
试试我们的交互式Colab教程,快速入门。
二、快速入门🏁
⚠️ 主要更新:2.0版: 通过新的架构和功能完成代码库大修。以前的版本在v1.0.0和pip install tabpfn<2
。
1、安装
# Simple installation
pip install tabpfn
# Local development installation
git clone https://github.com/PriorLabs/TabPFN.git
pip install -e "tabpfn[dev]"
2、基本用法
from sklearn.datasets import load_breast_cancer
from sklearn.metrics import accuracy_score, roc_auc_score
from sklearn.model_selection import train_test_split
from tabpfn import TabPFNClassifier
# Load data
X, y = load_breast_cancer(return_X_y=True)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.33, random_state=42)
# Initialize a classifier
clf = TabPFNClassifier()
clf.fit(X_train, y_train)
# Predict probabilities
prediction_probabilities = clf.predict_proba(X_test)
print("ROC AUC:", roc_auc_score(y_test, prediction_probabilities[:, 1]))
# Predict labels
predictions = clf.predict(X_test)
print("Accuracy", accuracy_score(y_test, predictions))
三、使用技巧💡
TabPFN旨在以最少的预处理开箱即用:
- 无需预处理:TabPFN在内部处理规范化
- 类别变量:使用数字编码(浮点数表示有序,普通编码器表示无序)
- 自动集成:控制与
n_estimators
- 独立预测:测试样本可以单独或批量预测
- 可微:核心模型是可微的(预处理除外)
- GPU支持:使用
device='cuda'
进行GPU加速
四、开发🛠️
1、设置环境
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
git clone https://github.com/PriorLabs/TabPFN.git
cd tabpfn
pip install -e ".[dev]"
pre-commit install
2、在提交之前
pre-commit run --all-files
3、运行测试
pytest tests/
2025-01-06(五)