SmartKNN v2 — 更大、更快、更智能。即将推出。

发布: (2025年12月8日 GMT+8 00:47)
5 min read
原文: Dev.to

Source: Dev.to

SmartKNN v2 — 更大、更快、更智能。即将推出的封面图片

SmartKNN 起初是一个疯狂的想法:
如果我们去除所有瓶颈,而不是接受它们,K 最近邻(K‑Nearest Neighbors)还能走多远?

V1 证明了一件重要的事——KNN 仍然可以在生产环境中使用。
通过加权特征、原型压缩、优化的距离规则,SmartKNN 成为了真正可用于生产的表格模型。

现在是 v2 的时候了。v2 不仅仅是一次升级……它是下一个时代的开端。

SmartKNN v2 将带来什么?

1. 原生分类支持

不再只有“回归”限制。SmartKNN v2 会自动检测目标类型,并在以下两者之间智能切换:

  • 分类
  • 回归

一次 fit() → SmartKNN 知道该怎么做。无需配置。无需困惑。

2. 更快的预测(真的快很多)

SmartKNN v2 集成了 ANN 后端——但这里有个转折:

ANN 找到最近的候选项 → SmartKNN 的“大脑”完成剩余工作。

结果:

  • ANN 级别的速度
  • SmartKNN 级别的准确性

两者兼得。KNN 再也不必慢吞吞了。

3. 完全向量化

我们正在去除原始的 Python 循环(KNN 在各处的主要慢点)。v2 对距离计算、权重计算和投票全部使用向量化。

结果:

  • 更快的训练
  • 更快的预测
  • 在更大数据集上的更好可扩展性

4. 更智能的特征权重(重新思考 MI + LR + RF)

当前的 SmartKNN 使用以下混合方式:

  • 互信息(Mutual Information)
  • 线性回归(Linear Regression)
  • 随机森林重要性(Random Forest importance)

效果惊人,但在数百万行数据上难以扩展。对于 v2,我们正在尝试一种新的数学公式,它:

  • 不需要巨大的计算量
  • 能够扩展到海量数据集
  • 保持(或提升)准确性

尚未保证会在 v2 中实现,但研究仍在进行中。

SmartKNN 的理念(仍然不变)

即使加入了 ANN 支持和大量优化,SmartKNN v2 也不追求以牺牲准确性为代价的极致速度。优先级仍然是:

  • 准确性
  • 可解释性
  • 简单性

更快的速度是额外的奖励。这只是分类入口 + 第一次速度提升;未来将走得更远。

超越 v2 —— 接下来会怎样?

在 v2 之后,SmartKNN 最终会配备专为 SmartKNN 条件打造的特殊 ANN 后端(而不是通用的 ANN 库)。预期成果:

  • 预测速度提升 10 倍
  • 在 CPU 上接近 Boosting 模型的延迟
  • 完全可解释(不同于树模型)

长期使命: 打造一个完全适用于表格机器学习的、生产级的邻居模型。

结束语

SmartKNN v2 并不是要重新发明 KNN。
它的目标是证明,只要有正确的工程、数学、捷径和结构,KNN 完全可以成为现代的生产模型——而不是玩具基线。

感谢所有至今支持 SmartKNN 的朋友。v2 正在路上,敬请期待。

保持更新

安装 SmartKNN

pip install smart-knn

GitHub 仓库

https://github.com/thatipamula-jashwanth/smart-knn

基准页面

https://www.kaggle.com/jashwanththatipamula

发布公告

(您可以关注仓库,以便在 v2 发布时收到通知)

Back to Blog

相关文章

阅读更多 »