python K-NN算法的优缺点

本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。

1、优点

(1)简单而有效

(2)再培训成本低。

(3)适合跨领域的抽样。

基于KNN的方法主要依赖于附近有限个样本,而基于类域的KNN方法则不能确定其所属的类类,所以KNN方法更适合于类域有较多交叉或重叠的待分样本集。

(4)适用于各种样本量的分类。

所提出的方法适用于类域中具有较大样本容量的类动态分类,而类域中具有较大样本容量的类动态分类更易产生错误。

2、缺点

(1)是惰性学习。

KNN算法是一种懒散的学习方法(lazylearning,基本不学习),⼀次主动学习算法速度要快得多。

(2)类评分未规格化。

不同之处在于通过概率评分进行分类。

(3)输出的可解释性较差。

比如,决策树的输出可以很好地解释。

(4)不善于处理不均衡的样品。

在样本不平衡时,例如⼀个类的样本容量很小,而其它类的样本容量很小,就有可能导致当一个新样本出现在同一K个邻域中时,在该类的K个邻域中占多数。这个算法只计算“最近的”邻域样本,其中一类样本的个数很小,那么这类样本可能与另一类样本的个数不近,或者这类样本与另一类样本的个数不近。然而,量的大小并不会影响到操作结果。对此,可采用一种改进的同位素同位素同位素同位素法(即同位素离位素同位素同位素同位素)。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。