1. 程式人生 > >文字分類演算法之--KNN演算法的簡介

文字分類演算法之--KNN演算法的簡介

1、KNN演算法的簡介

kNN演算法就是找到k個最相似的樣本,這些樣本所在的類,就是當前文件的所屬的類。如下圖:綠色圓圈表示你想分類的文字,其他是已知類別的樣本。圖中其他形狀和綠色圓圈的距離代表了相似度。如果k = 3,就是取3個最相似的文字,那麼1個藍色框,2紅色三角被選中,因為紅色三角多,則綠色圓圈所屬的類就是紅色三角所在的類。如果k = 5,3個藍色框和2個紅色三角選中,那麼就屬於藍色框所屬於的類。kNN你也可以取多個類別,就是綠色圓圈既屬於藍色框,也屬於紅色三角所屬的類別。

kNN理解

2、KNN演算法分類的一般過程的定義

(1)樣本的選擇

(2)中文文字分詞(工具如下:Rwordseg,LTP,Bamboo,RostCM)

(3)特徵的選擇(CHI,IG等)

(4)向量空間模型的構建(將文件轉換成VSM,每一個特徵的值是由TF-IDF計算,特徵項的個數是所有文字文件集合的總體棄掉重複的單詞)

(5)將 預測的文字分詞與樣本進行計算,主要使用餘弦定理進行計算如下

(6)對結果進行測試是否滿足準確率

(7)如果準確率太低,可以調整樣本等一些其他的措施

KNN演算法的缺點,如果訓練的樣本過多,則容易造成記憶體的溢位,因此我們可以改進KNN演算法。