【发布时间】:2018-10-01 21:35:16
【问题描述】:
我试图实现用于手写字符识别的 KNN,但我发现代码的执行需要大量时间。当添加值为 400 的参数 leaf_size 时,我观察到代码执行所需的时间显着减少。
原代码:
knn = KNeighborsClassifier(n_neighbors=3)
新代码:
knn = KNeighborsClassifier(n_neighbors=3,leaf_size=400)
我已经阅读了一些关于 KDtree/Balltree 的 leaf_size 参数的文档和文章,但找不到任何足够好的参考资料来说明如何安全地调整此参数而不会造成任何准确性和信息丢失。
如果有人能就上述问题分享一些见解,那就太好了。
我参考的相关文章:
1.) http://scikit-learn.org/stable/modules/generated/sklearn.neighbors.KDTree.html
2.) https://jakevdp.github.io/blog/2013/04/29/benchmarking-nearest-neighbor-searches-in-python/
3.) http://scikit-learn.org/stable/modules/generated/sklearn.neighbors.KNeighborsClassifier.html
【问题讨论】:
标签: machine-learning scikit-learn knn sklearn-pandas kdtree