海量數據的KNN分類、Kmeans聚類

針對海量數據,如何進行KNN分類和聚類,比如10萬行的數據。

本篇給出基本思路,具體實現未介紹。


問題:如何對海量數據(5000萬行)進行分類

分析:進行分類的前提是,已經有相同格式數據分類完畢;接下來,是如何將新的海量數據(5000行),進行合理分類。

思路1:bayes分類,根據數據的特徵向量,計算其不同分類下的概率值,取最大概率所屬類,即是分類結果。

思路2:KNN分類,計算待分類記錄與已分類樣本的距離值(如果已分類數量太大,可以用採用數據代替),統計近鄰範圍內(思想確定的近鄰標準距離r)的已分類樣本投票結果,選取投票值最大的作爲分類結果。


問題:如何對海量數據(5000萬行)進行聚類

分析:聚類的前提是,樣本數據沒有明確的分類歸屬;接下來,需要對每個樣本進行類別劃分。

思路1:Kmeans聚類,隨機選擇一個K值,迭代計算整個樣本的聚類結果,畫出曲線(K-總誤差和),曲線斜率發生明顯變化的點,即是最優K值。

思路2:對樣本抽樣,形成新樣本;對新樣本進行聚類,將樣本分成幾類;用決策樹對每類提取規則;再返回對所有樣本進行分類,最終對所有數據進行了類別確定。


異常點處理:

如果有一個點離其族羣質心距離過大,比其他值都要大。

比如:100,這個族羣其它點離質心的值都是10以下。

必要時,需要新建一個分類,將其歸屬到新的分類中。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章