KNN和K-means聚类有什么不同

mac2025-02-17  8

KNN

分类算法监督学习数据集是带Label的数据没有明显的训练过程,基于Memory-based learningK值含义 - 对于一个样本X,要给它分类,首先从数据集中,在X附近找离它最近的K个数据点,将它划分为归属于类别最多的一类

 

K-means

聚类算法非监督学习数据集是无Label,杂乱无章的数据有明显的训练过程K值含义- K是事先设定的数字,将数据集分为K个簇,需要依靠人的先验知识

 

不同点:

两种算法之间的根本区别是,K-means本质上是无监督学习,而KNN是监督学习;K-means是聚类算法,KNN是分类(或回归)算法。

K-means算法把一个数据集分割成簇,使得形成的簇是同构的,每个簇里的点相互靠近。该算法试图维持这些簇之间有足够的可分离性。由于无监督的性质,这些簇没有任何标签。KNN算法尝试基于其k(可以是任何数目)个周围邻居来对未标记的观察进行分类。它也被称为懒惰学习法,因为它涉及最小的模型训练。因此,它不用训练数据对未看见的数据集进行泛化。

 

相似点:算法都包含给定一个点,在数据集中查找离它最近的点的过程。

最新回复(0)