K means文字聚類系列(已經完成)

2021-09-06 01:16:30 字數 1340 閱讀 4295

1。如何建立詞袋子模型 2

3。vsm模型

4。從weka獲取聚類中心,完成文字聚類

6。如何使用此開源框架即如何使用preprocess類

前言:園子裡有很多人對聚類演算法感興趣,在google檢索裡比較靠前的有

蛙蛙推薦:蛙蛙教你文字聚類

此版本**用c#語言編寫

以及洞庭散人根據上面這篇蛙蛙博文用c++語言實現的k-means演算法。 基於

kmeans 的文字聚類

那麼讀者會納悶,既然有了上面的資料,我是否還有什麼必要在這裡嚼別人嚼過的饃,來顯擺乙個c++菜鳥的拙劣**。。。

那麼我就先來說說我這版k-means 與以上兩個版本的不同吧。

以上兩個版本,著重點在於 kmeans聚類演算法本身的實現,也就是蛙蛙和洞庭散人分別用了c#和c++語言實現了kmeans演算法,而稱不上是真正意義上的文字聚類:1。他們沒有嵌入分詞元件,只是自己粗糙地寫了個以空格作為分隔符的分詞函式。2。他們沒有真正意義上的語料庫。他們的待聚類文字是自己寫的幾句話。

而我這版kmeans,並不是側重於實現kmeans演算法本身的實現,而且借助於資料探勘領域著名的開源元件

weka

來實現聚類演算法。我的側重點在於實現

通用的文字預處理模組

。所謂文字預處理包括分詞-》去除停用詞=》建立詞袋子模型=》特徵詞選擇=》建立文件向量模型(vsm)模型。最後將測試文字的vsm模型寫成weka所要求的資料格式arff資料格式

。我所強調的是提供乙個

開源的框架

,只要完成我框架中所滿足的要求配置就可以用此框架完成文字預處理工作,將訓測試文件集合轉化成arff資料格式然後呼叫weka,使用weka完成文字聚類工作。最後將weka計算得到的聚類中心取出來,對於測試樣本集合中的每篇文章計算其與聚類中心的距離,完成聚類。

研究和學習

使用。首先宣告一點:在我的這套框架內,測試文字必須存放在資料庫中(mssql server2000)。目前這套框架還有很多不完善的地方,就當拋磚引玉吧,希望園子裡的高人和能人予以指點。

先給大家上兩個截圖,看看聚類效果吧。

測試語料庫情況(部分截圖):

聚類後的結果:

各模組程式****含義的介紹已經完成以下兩個部分 見:

同時在這裡感謝園友嗷嗷

以及galactic

a在寫c++程式過程中給予我的無私的,及時的幫助,謝謝! 

文字聚類 用k means對文字進行聚類

coding utf 8 created on thu nov 16 10 08 52 2017 author li pc import jieba from sklearn.feature extraction.text import tfidfvectorizer from sklearn.cl...

K means 無監督NLP文字聚類

用kmeans對有標註少量文字做了個無監督分類,效果一般般。原因可能是 1.停用詞不全面 2.kmeans等分類器對於 高緯度向量 分類能力交叉,可以考慮降維再分類 3.部分詞頻在多個型別的文字中重複高頻出現 coding utf 8 created on wed sep 5 13 23 31 20...

機器學習 聚類系列 K means演算法

一 聚類 聚類分析是非監督學習的很重要的領域。所謂非監督學習,就是資料是沒有類別標記的,演算法要從對原始資料的探索中提取出一定的規律。而聚類分析就是試圖將資料集中的樣本劃分為若干個不相交的子集,每個子集稱為乙個 簇 它的難點是不好調參和評估。下面是sklearn中對各種聚類演算法的比較。二 k me...