kNN與kMeans聚類演算法的區別

2021-07-29 05:22:19 字數 700 閱讀 1359

knn

k-means

目的是為了確定乙個點的分類

目的是為了將一系列點集分成k類

knn是分類演算法

k-means是聚類演算法

監督學習,分類目標事先已知

非監督學習,將相似資料歸到一起從而得到分類,沒有外部分類

訓練資料集有label,已經是完全正確的資料

訓練資料集無label,是雜亂無章的,經過聚類後才變得有點順序,先無序,後有序

沒有明顯的前期訓練過程,屬於memory-based learning

有明顯的前期訓練過程

k的含義:「k」是用來計算的相鄰資料數。來了乙個樣本x,要給它分類,即求出它的y,就從資料集中,在x附近找離它最近的k個資料點,這k個資料點,類別c佔的個數最多,就把x的label設為c

k的含義:「k」是類的數目。k是人工固定好的數字,假設資料集合可以分為k個簇,由於是依靠人工定好,需要一點先驗知識

k值確定後每次結果固定

k值確定後每次結果可能不同,從 n個資料物件任意選擇 k 個物件作為初始聚類中心,隨機性對結果影響較大

時間複雜度:o(n)

時間複雜度:o(n*k*t),t為迭代次數

相似點:都包含這樣的過程,給定乙個點,在資料集中找離它最近的點。即二者都用到了nn(nears neighbor)演算法,一般用kd樹來實現nn。

參考引用:

k-means:

K Means聚類演算法

k means聚類演算法 intergret kmeans演算法的基本思想是初始隨機給定k個簇中心,按照最鄰近原則把待分類樣本點分到各個簇。然後按平均法重新計算各個簇的質心,從而確定新的簇心。一直迭代,直到簇心的移動距離小於某個給定的值。k means聚類演算法主要分為三個步驟 1 第一步是為待聚類...

聚類演算法 K means

演算法接受引數 k 然後將事先輸入的n個資料物件劃分為 k個聚類以便使得所獲得的聚類滿足 同一聚類中的物件相似度較高 而不同聚類中的物件相似度較小。聚類相似度是利用各聚類中物件的均值所獲得乙個 中心物件 引力中心 來進行計算的。k means演算法是最為經典的基於劃分的聚類方法,是十大經典資料探勘演...

k means聚類演算法

說到聚類,得跟分類區別開來,分類是按人為給定的標準將樣本歸到某個類別中去,在機器學習中多是監督學習,也就是訓練樣本要給標籤 正確的類別資訊 而聚類是在某種規則下自動將樣本歸類,在機器學習中是無監督學習,不需要提前給樣本打標籤。k means聚類演算法,就是在某種度量方式下,將樣本自動劃分到k個類別中...