SmartKNN v2 — 更大、更快、更智能。即将推出。
Source: Dev.to

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 发布时收到通知)