SmartKNN 回归基准 高维数据集
发布: (2025年12月29日 GMT+8 14:58)
3 min read
原文: Dev.to
Source: Dev.to
概览
本次发布提供了 SmartKNN 在大维度数据集上的初步回归基准,重点评估单次预测的 p95 延迟和在真实生产约束下的 R²。所有基准均为:
- 仅 CPU
- 单查询推理
- 非参数、非线性模型
- 大规模数据集
更高维度数据集、分类任务、混合特征空间等额外基准将在近期发布。
数据集
| 数据集 | OpenML ID | 大约行数 | 特征 (D) | 任务 | 来源 |
|---|---|---|---|---|---|
| Buzzinsocialmedia_Twitter | 4549 | 466,600 | 77 | 回归 | OpenML |
| Allstate_Claims_Severity | 44045 | 150,654 | 124 | 回归 | OpenML |
| College Scorecard | 46674 | 99,759 | 118 | 回归 | OpenML |
基准结果
Buzzinsocialmedia_Twitter
| 模型 | RMSE ↓ | R² ↑ | 训练时间 (秒) | 批处理 (毫秒) | 单次中位数 (毫秒) | 单次 p95 (毫秒) |
|---|---|---|---|---|---|---|
| XGBoost | 254.43 | 0.8274 | 22.21 | 0.005 | 0.228 | 0.280 |
| LightGBM | 214.79 | 0.8770 | 25.67 | 0.008 | 0.511 | 0.650 |
| CatBoost | 231.43 | 0.8572 | 39.53 | 0.000 | 0.809 | 1.021 |
| SmartKNN (wt=0.0) | 167.15 | 0.9255 | 214.39 | 0.060 | 0.383 | 0.561 |
Allstate_Claims_Severity
| 模型 | RMSE ↓ | R² ↑ | 训练时间 (秒) | 批处理 (毫秒) | 单次中位数 (毫秒) | 单次 p95 (毫秒) |
|---|---|---|---|---|---|---|
| XGBoost | 0.5355 | 0.5604 | 11.20 | 0.005 | 0.211 | 0.272 |
| LightGBM | 0.5356 | 0.5603 | 8.40 | 0.020 | 0.511 | 0.630 |
| CatBoost | 0.5408 | 0.5516 | 22.84 | 0.043 | 1.035 | 1.308 |
| SmartKNN (wt=0.0) | 0.6219 | 0.4071 | 51.51 | 0.062 | 0.305 | 0.366 |
College Scorecard
| 模型 | RMSE ↓ | R² ↑ | 训练时间 (秒) | 批处理 (毫秒) | 单次中位数 (毫秒) | 单次 p95 (毫秒) |
|---|---|---|---|---|---|---|
| XGBoost | 0.1855 | 0.6935 | 8.36 | 0.006 | 0.237 | 0.329 |
| LightGBM | 0.1864 | 0.6905 | 5.77 | 0.010 | 0.505 | 0.635 |
| CatBoost | 0.1946 | 0.6626 | 14.25 | 0.001 | 0.879 | 0.950 |
| SmartKNN (wt=0.0) | 0.2300 | 0.5290 | 27.31 | 0.054 | 0.248 | 0.286 |
关键发现
- SmartKNN 在 CPU 上的单次 p95 延迟表现出竞争力,尤其在 Buzzinsocialmedia_Twitter 数据集上,既在延迟上优于基于树的基线,又实现了最高的 R²。
- 基于树的模型(XGBoost、LightGBM、CatBoost)通常提供更好的准确性和更低的平均延迟,但 SmartKNN 缩小了尾部延迟差距,这在生产系统中往往是最关键的因素。
- 所有结果均可使用公开的 OpenML 数据集复现。
社区参与
我们鼓励社区:
- 在不同硬件上运行这些基准
- 测试其他 ANN 配置
- 与更多模型进行比较
- 公开分享结果
如果发现性能回退,请打开 GitHub Issue。如有问题、想法或改进,请发起 GitHub Discussion。新的基准结果也可以以 Issue 或 Discussion 形式发布。
资源