网易首页 > 网易号 > 正文 申请入驻

PyTabKit:比sklearn更强大的表格数据机器学习框架

0
分享至

长期以来Scikit-Learn 一直作为表格数据机器学习的主流框架,它提供了丰富的算法、预处理工具和模型评估功能。尽管 Scikit-Learn 功能完备,但随着技术的发展,新兴框架PyTabKit正逐渐崭露头角。该框架专为表格数据的分类和回归任务设计,集成了RealMLP等先进技术以及优化的梯度提升决策树(GBDT)超参数配置,为表格数据处理提供了新的技术选择。

Scikit-Learn 的局限与突破

Scikit-Learn 为机器学习模型开发奠定了坚实基础,但在深度学习方法的优化和超参数自动调整方面存在不足。

传统上应用于表格数据的深度学习模型往往需要繁复的超参数调整过程,限制了其实用性和效率。RealMLP作为一种经过优化的多层感知器,通过在118个数据集上的基准测试和精细调优,已在中等至大型数据集(1,000-500,000样本)上展现出与GBDT相当的性能表现。RealMLP引入的诸多技术改进,包括鲁棒缩放机制、数值特征嵌入以及优化的权重初始化策略,使其成为传统模型的有效替代方案。

实践表明,相较于经过精细调整的模型,Scikit-Learn的默认超参数配置在性能上通常存在差距。PyTabKit针对XGBoost、LightGBM和CatBoost等主流算法提供了经过元级调优(meta-tuned)的默认参数设置,无需手动进行超参数优化(HPO)即可超越Scikit-Learn的基准实现。这些默认配置通过元训练基准进行了系统性优化,并在90个独立数据集上验证了其有效性和泛化能力。

超参数调优,尤其是针对深度学习模型的调优,往往耗费大量计算资源。PyTabKit通过优化的默认配置使得用户能在多数应用场景下无需进行超参数优化,即可获得优异性能。这一特性使PyTabKit尤其适用于AutoML系统,在这类系统中计算效率与预测精度的平衡至关重要。

RealMLP: 表格数据深度学习的技术突破

虽然梯度提升方法长期在结构化数据处理领域占据主导地位,但经过精心设计的深度学习架构正在逐渐缩小这一差距。RealMLP架构引入了多项关键技术创新:

预处理技术优化

RealMLP对数值特征实施鲁棒缩放和平滑裁剪处理,有效减轻异常值影响。同时,对基数有限的分类特征采用独热编码,提高特征表达能力。

架构创新

RealMLP引入对角权重层以增强表示学习能力,设计了优于传统特征转换的数值嵌入方法,并采用更为高效的初始化策略加速模型收敛过程。

性能提升

基准测试结果显示,RealMLP在多种应用场景中不仅能够匹敌GBDT的性能,有时甚至能够超越。将RealMLP与优化配置的GBDT结合使用,可以在不进行昂贵的超参数优化的情况下,获得最先进的预测性能

大规模数据优化

对于需要处理中等到大规模数据集的用户,PyTabKit提供了显著的优势:训练速度更快、预测精度具有竞争力、调优工作量大幅降低,这使其成为现代机器学习工作流程的理想技术选择。

代码实践:PyTabKit中的RealMLP与树模型应用

PyTabKit保持了与Sklearn相似的API设计,确保了使用的便捷性。

使用以下命令安装pytabkit和openml库:

!pip install pytabkit
!pip install openml

本文使用OpenML提供的Covertype数据集,并将其限制为15,000个样本:

import openml
from sklearn.model_selection import train_test_split
import numpy as np
# 从OpenML加载Covertype数据集
task = openml.tasks.get_task(361113) # Covertype任务ID
dataset = openml.datasets.get_dataset(task.dataset_id, download_data=False)
X, y, categorical_indicator, attribute_names = dataset.get_data(
dataset_format='dataframe',
target=task.target_name
)
# 限制为15,000个样本
index = np.random.choice(range(len(X)), 15_000, replace=False)
X = X.iloc[index]
y = y.iloc[index]
# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=0)

基础RealMLP模型训练

%%time
from pytabkit import RealMLP_TD_Classifier
from sklearn.metrics import accuracy_score
# 训练RealMLP模型
model = RealMLP_TD_Classifier()
model.fit(X_train, y_train)
# 进行预测并评估准确率
y_pred = model.predict(X_test)
acc = accuracy_score(y_test, y_pred)
print(f"Accuracy of RealMLP: {acc}")

预期输出:

Accuracy of RealMLP: 0.8770666666666667

RealMLP通过n_cv=5参数支持基于5折交叉验证的集成学习。得益于向量化计算,该方法仍保持高效的训练速度:

%%time
# 使用bagging训练RealMLP
model = RealMLP_TD_Classifier(n_cv=5)
model.fit(X_train, y_train)
# 进行预测并评估准确率
y_pred = model.predict(X_test)
acc = accuracy_score(y_test, y_pred)
print(f"Accuracy of RealMLP with bagging: {acc}")

预期输出:

Accuracy of RealMLP with bagging: 0.8930666666666667

通过RealMLP_HPO_Classifier可实现自动超参数优化。优化步骤数量可根据需要进行调整:

%%time
from pytabkit import RealMLP_HPO_Classifier
n_hyperopt_steps = 3 # 用于演示的步骤数
model = RealMLP_HPO_Classifier(n_hyperopt_steps=n_hyperopt_steps)
model.fit(X_train, y_train)
# 进行预测并评估准确率
y_pred = model.predict(X_test)
acc = accuracy_score(y_test, y_pred)
print(f"Accuracy of RealMLP with {n_hyperopt_steps} steps HPO: {acc}")

预期输出:

Accuracy of RealMLP with 3 steps HPO: 0.8605333333333334

比较调优后默认参数(TD)与原始默认参数(D)的性能差异:

%%time
from pytabkit import (
CatBoost_TD_Classifier, CatBoost_D_Classifier,
LGBM_TD_Classifier, LGBM_D_Classifier,
XGB_TD_Classifier, XGB_D_Classifier
)
# 评估多种树模型
for model in [CatBoost_TD_Classifier(), CatBoost_D_Classifier(),
LGBM_TD_Classifier(), LGBM_D_Classifier(),
XGB_TD_Classifier(), XGB_D_Classifier()]:
model.fit(X_train, y_train)
y_pred = model.predict(X_test)
acc = accuracy_score(y_test, y_pred)
print(f"Accuracy of {model.__class__.__name__}: {acc}")

预期输出:

Accuracy of CatBoost_TD_Classifier: 0.8685333333333334
Accuracy of CatBoost_D_Classifier: 0.8464
Accuracy of LGBM_TD_Classifier: 0.8602666666666666
Accuracy of LGBM_D_Classifier: 0.8344
Accuracy of XGB_TD_Classifier: 0.8544
Accuracy of XGB_D_Classifier: 0.8472

通过集成多种优化模型可构建高性能预测基线:

%%time
from pytabkit import Ensemble_TD_Classifier
# 训练集成模型
model = Ensemble_TD_Classifier()
model.fit(X_train, y_train)
# 进行预测并评估准确率
y_pred = model.predict(X_test)
acc = accuracy_score(y_test, y_pred)
print(f"Accuracy of Ensemble_TD_Classifier: {acc}")

预期输出:

Accuracy of Ensemble_TD_Classifier: 0.8962666666666667

总结

PyTabKit框架通过集成优化的深度学习和梯度提升技术,为表格数据处理提供了一套全新的解决方案。实验结果表明,该框架的主要优势包括:

性能提升:经过元级调优的模型默认配置在无需额外调优的情况下,显著优于传统实现,特别是在中等到大型数据集上。

开发效率:简化的API设计和优化的默认参数大幅减少了开发周期,使数据科学家能够将更多精力集中在业务理解与模型解释上。

资源节约:通过减少或消除繁重的超参数优化需求,PyTabKit有效降低了计算资源消耗,特别适合资源受限的环境。

多模型集成:如实验所示,集成多种优化模型能够进一步提升预测性能,为实际应用提供更可靠的结果。

随着表格数据在企业决策、风险管理和资源优化等领域的持续重要性,PyTabKit这类专为表格数据设计的现代框架将扮演越来越重要的角色。其简化的工作流程和卓越的性能使其成为连接传统机器学习和现代深度学习技术的重要桥梁。

对于数据科学从业者而言,掌握PyTabKit等新兴工具将是应对日益复杂的数据分析挑战的重要技能。无论是在高度竞争的预测建模比赛中,还是在要求快速部署的企业环境中,这些工具都能提供显著的竞争优势。

在未来的发展中,期待PyTabKit能够进一步整合自动化特征工程、可解释AI等新兴技术,为表格数据分析提供更全面的支持。

PyTabKit项目地址:

https://avoid.overfit.cn/post/90c45b2d4a464b33a966a43615b1406e

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
“坏胆固醇”下降10%!Nature子刊:仅连续吃2天燕麦,就能显著降低胆固醇,且效果至少持续6周

“坏胆固醇”下降10%!Nature子刊:仅连续吃2天燕麦,就能显著降低胆固醇,且效果至少持续6周

梅斯医学
2026-02-20 07:53:33
反转!初中生扶摔倒老人遭索赔22万后续: 细节曝光,确实被吓到了

反转!初中生扶摔倒老人遭索赔22万后续: 细节曝光,确实被吓到了

离离言几许
2026-02-20 10:17:52
军令如山!3月1日起全军实行终身负责制,从严治军强根基

军令如山!3月1日起全军实行终身负责制,从严治军强根基

我心纵横天地间
2026-02-19 23:15:18
特朗普将解密外星生命相关文件,实物黄金即将迎来宇宙级暴涨

特朗普将解密外星生命相关文件,实物黄金即将迎来宇宙级暴涨

东方豪侠
2026-02-20 14:28:41
深夜突发,三大指数盘中直线拉升!美国最高法院裁定特朗普政府大规模关税政策违法,美国或需退还1750亿美元!特朗普:判决可耻丨美股开盘

深夜突发,三大指数盘中直线拉升!美国最高法院裁定特朗普政府大规模关税政策违法,美国或需退还1750亿美元!特朗普:判决可耻丨美股开盘

每日经济新闻
2026-02-21 00:01:05
超越国界!苏翊鸣激动拥抱日本女选手,感恩日本教练培养

超越国界!苏翊鸣激动拥抱日本女选手,感恩日本教练培养

米修体育
2026-02-20 16:12:13
别再花冤枉钱!iPhone自带多款高效应用,全部免费更实用

别再花冤枉钱!iPhone自带多款高效应用,全部免费更实用

小柱解说游戏
2026-02-20 09:16:19
大反转!雷军宣布停产,一代神车没了!

大反转!雷军宣布停产,一代神车没了!

财经要参
2026-02-18 22:21:37
短道收官日:女子1500米张楚桐、金吉莉同组

短道收官日:女子1500米张楚桐、金吉莉同组

懂球帝
2026-02-20 17:01:32
谷爱凌回击万斯批评:很多人代表他国参赛,我只是他们的出气筒

谷爱凌回击万斯批评:很多人代表他国参赛,我只是他们的出气筒

全景体育V
2026-02-20 12:09:01
9年前,那个3岁识千字、6岁夺央视冠军的神童王恒屹,如今怎样

9年前,那个3岁识千字、6岁夺央视冠军的神童王恒屹,如今怎样

娱说瑜悦
2026-02-19 17:50:07
冬奥会奇迹!金牌夫妇“诞生”,王心迪徐梦桃2天同项目连获金牌

冬奥会奇迹!金牌夫妇“诞生”,王心迪徐梦桃2天同项目连获金牌

奥拜尔
2026-02-20 21:59:01
研究显示:“猎鹰9”火箭解体致高空大气锂原子浓度飙升10倍

研究显示:“猎鹰9”火箭解体致高空大气锂原子浓度飙升10倍

界面新闻
2026-02-20 16:34:02
连涨3天,电影《镖人》成春节档首部实现单日票房逆跌新片,其主演吴京电影票房成绩突破350亿元,位列华语男演员票房榜第二位

连涨3天,电影《镖人》成春节档首部实现单日票房逆跌新片,其主演吴京电影票房成绩突破350亿元,位列华语男演员票房榜第二位

大风新闻
2026-02-20 10:26:04
王心迪空中技巧夺冠!对手抱头,王心迪跪地仰天,教练比1庆祝

王心迪空中技巧夺冠!对手抱头,王心迪跪地仰天,教练比1庆祝

篮球资讯达人
2026-02-20 22:07:07
美联储官员发出警告:AI如果继续快速发展,将导致许多人终身失业

美联储官员发出警告:AI如果继续快速发展,将导致许多人终身失业

爆角追踪
2026-02-20 10:53:11
13球6助攻!曝阿尔瓦雷斯7000万欧加盟巴萨,马竞降价出售新核心

13球6助攻!曝阿尔瓦雷斯7000万欧加盟巴萨,马竞降价出售新核心

夏侯看英超
2026-02-21 01:16:59
女子购买泰康在线“慢病百万医疗险”,理赔遭拒后保单莫名消失;保险公司存在哪些问题?律师说法

女子购买泰康在线“慢病百万医疗险”,理赔遭拒后保单莫名消失;保险公司存在哪些问题?律师说法

中国能源网
2026-02-20 11:33:16
7名中国游客沉入贝加尔湖溺亡,该旅游团涉嫌未正式注册,目击者:疑因司机强闯冰面裂缝;系1个月内第二起涉中国游客安全事故

7名中国游客沉入贝加尔湖溺亡,该旅游团涉嫌未正式注册,目击者:疑因司机强闯冰面裂缝;系1个月内第二起涉中国游客安全事故

大象新闻
2026-02-20 21:52:07
2月20日俄乌最新:无比强硬的停火条件

2月20日俄乌最新:无比强硬的停火条件

西楼饮月
2026-02-20 20:02:11
2026-02-21 01:48:49
deephub incentive-icons
deephub
CV NLP和数据挖掘知识
1926文章数 1452关注度
往期回顾 全部

科技要闻

莫迪举手欢呼 两大AI掌门人却握拳尴尬对峙

头条要闻

贝加尔湖遇难者遗体已被发现 涉事司机系私下接单

头条要闻

贝加尔湖遇难者遗体已被发现 涉事司机系私下接单

体育要闻

金牌夫妻!王心迪徐梦桃赛后拥抱太甜了

娱乐要闻

《将门独后》开拍,王鹤棣孟子义主演

财经要闻

特朗普全球关税被推翻!有何影响?

汽车要闻

比亚迪的“颜值担当”来了 方程豹首款轿车路跑信息曝光

态度原创

健康
教育
游戏
艺术
公开课

转头就晕的耳石症,能开车上班吗?

教育要闻

出炉,2026考研初试成绩查询!

宝可梦红/绿售价20美元!任天堂表示我们觉得很有趣

艺术要闻

你绝对不想错过的石涛五十幅国画作品!

公开课

李玫瑾:为什么性格比能力更重要?

无障碍浏览 进入关怀版