KNN分类算法
KNN核心思想:
你的"邻居"来推断出你的类别
如果取的最近的点数量不一样?会是什么结果?
k 值取得过小,容易受到异常点的影响
k 值取得过大,样本不均衡的影响
优点:简单,易于理解,易于实现,无需训练
缺点:
1)必须指定K值,K值选择不当则分类精度不能保证
2)懒惰算法,对测试样本分类时的计算量大,内存开销大
使用场景:小数据场景,几千~几万样本,具体场景具体业务去测试
API
sklearn.neighbors.KNeighborsClassifier(n_neighbors=5,algorithm='auto')
n_neighbors:k值
algorithm:{'auto', 'ball_tree', 'kd_tree', 'brute'},
可选用于计算最近邻居的算法:
'ball_tree':将会使用BallTree
'kd_tree':将会使用KDTree
'auto':将尝试根据传递给fit方法的值来决定最合适的算法。
(不同实现方式影响效率)
<