日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

机器学习之sklearn——主题模型

發(fā)布時間:2023/12/20 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 机器学习之sklearn——主题模型 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

from gensim import corpora, models

? ? ? ?corpus只截取了一部分

lsi = models.LsiModel(corpus_tfidf, num_topics=2, id2word=dic) 將文本的tfidf向量輸入生成Lsi模型,num_topics為生成主題個數(shù),也為Lsi進行SVD分解時,生成矩陣列向量數(shù);id2word是語料字典

topic_result = [a for a in lsi[corpus_tfidf]] ?此處給lsi的索引為tfidf向量,而不是corpus向量!!

pprint(lsi.print_topics(num_topics=2, num_words=5))

lsi生成了2個主題,這里的系數(shù)為權(quán)重而不是概率值

similarity = similarities.MatrixSimilarity(lsi[corpus_tiidf]) ? 根據(jù)lsi計算文檔間的相似性

pprint(list(similarity)) 通過list函數(shù)將一個迭代器生成列表

lda = models.LdaModel(corpus_tfidf, num_topics=2, id2word=dictionary,alpha='auto', eta='auto', minimum_probability=0.001) ? alpha,eta即為LDA公式中的α和β,minimum_probability表示主題小于某個值(比如0.001)就舍棄此主題。

顯示文檔主題有兩種方法:

doc_topic = [a for a in lda[corpus_tfidf]] ##法1
pprint(doc_topic)

for doc_topic in lda.get_document_topics(corpus_tiidf): ##法2

  print doc_topic

結(jié)果大致相同

for topic_id in range(2):

? ?print 'Topic', topic_id?

? ?pprint(lda.get_topic_terms(topicid=topic_id)) ? ? ? lda生成的主題中的詞分布,默認顯示10個

? ?pprint(lda.show_topic(topicid=topic_id))?

?

lda.get_document_topics(corpus_tfidf) ? ?可以獲得每個文檔的主題分布

similarity = similarities.MatrixSimilarity(lda[corpus_tiidf]) 通過LDA也能生成相似矩陣

pprint(list(similarity))?

也可以安裝lda包,import lda

model = lda.LDA(n_topics=, n_iter=,)n_topics生成主題個數(shù),n_iter迭代次數(shù)

model.fit(X)

model.topic_word_ 生成每個主題以及主題中詞分布

model.doc_topic_每篇文檔的主題分布

轉(zhuǎn)載于:https://www.cnblogs.com/lvtianqi/p/6269990.html

總結(jié)

以上是生活随笔為你收集整理的机器学习之sklearn——主题模型的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。