KNN算法 | K-Means算法 | |
---|---|---|
目标 | 确定某个元素所属的分类 | 将已存在的一系列元素分类 |
算法类别 | 监督的分类算法 | 无监督的聚类算法 |
数据区别 | 训练数据中,有明确的标签。 如:一个数据集中有几万张图片,都被打上了“苹果”的标签,另外还有几万张图片,被打上了“香蕉”的标签,数据是完全正确,知道结果的数据 | 几十万张各种各样水果的图片放一起,杂乱无章。 |
训练过程 | 无需训练(或者没有很明显的训练过程),将数据与训练数据直接对比 | 需要前期训练 |
K的含义 | K指的是相邻数据的数目。 举个例子,假设某张图片相邻的20张图片中,有18张是打着“苹果”标签的数据,有1张是“香蕉”,1张是“樱桃”,那么这张图片的标签也是“苹果”。 那么在这个例子中,K就是20,20张相邻的图片。 | K指的是分类的数目,人为设定好分为K个簇。 |
对比结果 | K值不变的情况下,每次结果都是一样的。 | K值确定后每次结果可能不同。 |