当前位置: 首页 > news >正文

基于TabPFN算法的回归问题-代码运行

一、源码链接

github链接下载到源码:https://github.com/PriorLabs/TabPFN?tab=readme-ov-file

二、示例代码

# -*- coding: utf-8 -*- # TabPFN 回归预测 # Author: HAN import pandas as pd import numpy as np import matplotlib.pyplot as plt from sklearn.model_selection import train_test_split from sklearn.metrics import r2_score, mean_squared_error from tabpfn import TabPFNRegressor # 读取数据 csv_path = r"H:\11_tranfer_model\Local_data\3_tranfer_model\data_china.csv" df = pd.read_csv(csv_path) # 定义变量 target_col = "ECE" feature_cols = [ "SI", "SI1", "SI2", "SI3", "SI4", "S1", "S2", "S3", "S5", "S6", "S7", "S8", "S9", "CRSI", "NDSI", "SI_T", "NDVI", "ENDVI", "DVI", "GDVI", "RVI" ] # 构建数据 X = df[feature_cols] y = df[target_col] # 删除缺失值 data = pd.concat([X, y], axis=1).dropna() X = data[feature_cols].values y = data[target_col].values # 训练测试划分 X_train, X_test, y_train, y_test = train_test_split( X, y, test_size=0.2, random_state=42 ) # 训练 TabPFN model = TabPFNRegressor() model.fit(X_train, y_train) y_pred = model.predict(X_test) # 模型评价 r2 = r2_score(y_test, y_pred) rmse = np.sqrt(mean_squared_error(y_test, y_pred)) print("R2 =", r2) print("RMSE =", rmse) # 绘制预测散点图 plt.figure(figsize=(6,6)) plt.scatter(y_test, y_pred, alpha=0.7) # 1:1 line min_val = min(y_test.min(), y_pred.min()) max_val = max(y_test.max(), y_pred.max()) plt.plot([min_val, max_val],[min_val, max_val], linestyle="--") plt.xlabel("Observed ECe") plt.ylabel("Predicted ECe") plt.title(f"TabPFN Prediction\nR² = {r2:.3f} RMSE = {rmse:.3f}") plt.tight_layout() plt.show()

三、代码运行

1、安装tabpfn包

pip install tabpfn==6.2.1

2、Hugging Face 账号授权

2.1 打开:https://huggingface.co/,注册 / 登录账号

2.2 访问模型页面:https://huggingface.co/Prior-Labs/tabpfn_2_5,点击Access repository,接受协议

2.3 访问页面:https://huggingface.co/settings/tokens

账号---Setting -----Access Token -----点击+Create new token-----token name:tabpfn_token-------token type: read ------点击create token----复制 token

3、Hugging Face登录

from huggingface_hub import login, snapshot_download # ========== 关键:替换成刚复制的 Token ========== MY_TOKEN = "hf_*******" # 1. 登录(跳过终端,直接代码验证) try: login(token=MY_TOKEN, add_to_git_credential=False) print("登录成功!") except Exception as e: print(f"登录失败:{e}") exit()

显示登录成功后,可运行{二、示例代码}

4、备注

第一次使用或者新环境/没有缓存时,必须使用外网,必须登录 Hugging Face,授权访问模型。登录成功后,会在本地.cache里生成认证信息,之后就不用每次重新登录了(除非换环境、删缓存或者 token 过期),也不需要外网。

http://www.jsqmd.com/news/468514/

相关文章:

  • javaDay05
  • AI智能体加速工艺仿真:架构师如何用AI优化仿真模型?
  • 线性代数直觉(六):向量通过矩阵
  • LeetCode 1009 476 数字的补数
  • 职场上要懂的思维模型系列(第一章)
  • 5.7 化学反应速率 化学平衡
  • 什么是纵深防护
  • AcWing 3473. 鸡兔同笼
  • 2026 如何快速接入外汇行情 API - 实战指南
  • phar反序列化专题
  • Gitlab安装与使用
  • 迅雷下载速度慢怎么办_教你如何提高30倍
  • OpenClaw实战-NAS配置从0到1详细教程及踩坑记录
  • 195.s域的1/s采用双线性变换法变到Z域如何实现,采用双线性变换法
  • 分析和预测快速约会中双方能否成功配对
  • DRAM内存访问协议核心解析:DRAM命令交互与时序约束全解(JEDEC通用标准)
  • 鸿蒙常见问题分析二十四:ListItemGroup如何使用三元运算符
  • Go 语言基础进阶:指针、init、匿名函数/闭包、defer
  • RabbitMQ整合springboot
  • Java基于微信小程序的社区垃圾回收管理系统【附源码、文档说明】
  • 2026年知网AIGC检测不通过?这4款降AI率工具亲测有效
  • 2026年东北乡土苗木标杆基地最新推荐:云杉营养钵苗、东北红松苗、红松小苗、红松大苗1-6米高、红松营养钵苗、水曲柳苗、靖宇县宜达苗木基地,筑牢绿化种植品质根基 - 海棠依旧大
  • MCP Server简介
  • 大数据领域ClickHouse的缓存机制分析
  • 【OpenClaw】使用教程
  • C++中的访问者模式变体
  • cgroups实战:如何有效管理系统资源
  • 2026年3月靖宇县苗木基地最新推荐榜单:云杉、红松、水曲柳、云杉树苗、东北云杉、东北云杉大苗1-8米、营养钵云杉等苗木选择指南 - 海棠依旧大
  • 把音乐库搬上云端:Navidrome 自托管音乐服务器搭建指南
  • Flutter 三方库 pip 的鸿蒙化适配指南 - 实现标准化的画中画(Picture-in-Picture)模式、支持视频悬浮窗与多任务并行交互