本文教程操作环境: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基础教程