本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。
1、优点
(1)简单而有效
(2)再培训成本低。
(3)适合跨领域的抽样。
基于KNN的方法主要依赖于附近有限个样本,而基于类域的KNN方法则不能确定其所属的类类,所以KNN方法更适合于类域有较多交叉或重叠的待分样本集。
(4)适用于各种样本量的分类。
所提出的方法适用于类域中具有较大样本容量的类动态分类,而类域中具有较大样本容量的类动态分类更易产生错误。
2、缺点
(1)是惰性学习。
KNN算法是一种懒散的学习方法(lazylearning,基本不学习),⼀次主动学习算法速度要快得多。
(2)类评分未规格化。
不同之处在于通过概率评分进行分类。
(3)输出的可解释性较差。
比如,决策树的输出可以很好地解释。
(4)不善于处理不均衡的样品。
在样本不平衡时,例如⼀个类的样本容量很小,而其它类的样本容量很小,就有可能导致当一个新样本出现在同一K个邻域中时,在该类的K个邻域中占多数。这个算法只计算“最近的”邻域样本,其中一类样本的个数很小,那么这类样本可能与另一类样本的个数不近,或者这类样本与另一类样本的个数不近。然而,量的大小并不会影响到操作结果。对此,可采用一种改进的同位素同位素同位素同位素法(即同位素离位素同位素同位素同位素)。
以上就是python K-NN算法优缺点的介绍,希望能对大家有所帮助。更多Python学习指路:python基础教程