五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊

在PYTHON中進(jìn)行主題模型LDA分析

2021-01-24 20:47 作者:拓端tecdat  | 我要投稿

原文鏈接:http://tecdat.cn/?p=6227

?

主題建模是一種在大量文檔中查找抽象主題的藝術(shù)方法。一種作為監(jiān)督無的機(jī)器學(xué)習(xí)方法,主題模型不容易評估,因?yàn)闆]有標(biāo)記的“基礎(chǔ)事實(shí)”數(shù)據(jù)可供比較。然而,由于主題建模通常需要預(yù)先定義一些參數(shù)(首先是要發(fā)現(xiàn)的主題?的數(shù)量),因此模型評估對于找到給定數(shù)據(jù)的“最佳”參數(shù)集是至關(guān)重要的。

?

?

概率LDA主題模型的評估方法

?

使用未標(biāo)記的數(shù)據(jù)時(shí),模型評估很難。這里描述的指標(biāo)都試圖用理論方法評估模型的質(zhì)量,以便找到“最佳”模型。

?

評估后部分布的密度或發(fā)散度

有些指標(biāo)僅用于評估后驗(yàn)分布(主題 - 單詞和文檔 - 主題分布),而無需以某種方式將模型與觀察到的數(shù)據(jù)進(jìn)行比較。

?

使用美聯(lián)社數(shù)據(jù)查找最佳主題模型

?

計(jì)算和評估主題模型

?

主題建模的主要功能位于tmtoolkit.lda_utils。

  1. import matplotlib.pyplot as plt ? # 繪制結(jié)果

  2. plt.style.use('ggplot')


  3. # 讀取數(shù)據(jù)

  4. from tmtoolkit.utils import unpickle_file

  5. # 模型評估

  6. from tmtoolkit.lda_utils import tm_lda

  7. # 建立模型評估圖

  8. from tmtoolkit.lda_utils.common import results_by_parameter

  9. from tmtoolkit.lda_utils.visualize import plot_eval_results

?

?

接下來,我們加載由文檔標(biāo)簽,詞匯表(唯一單詞)列表和文檔 - 術(shù)語 - 矩陣組成的數(shù)據(jù)dtm。我們確保dtm尺寸合適:

  1. doc_labels, vocab, dtm = unpickle_file('ap.pickle')

  2. print('%d documents, %d vocab size, %d tokens' % (len(doc_labels), len(vocab), dtm.sum()))

  3. assert len(doc_labels) == dtm.shape[0]

  4. assert len(vocab) == dtm.shape[1]

?

?

現(xiàn)在我們定義應(yīng)該評估的參數(shù)集我們設(shè)置了一個(gè)常量參數(shù)字典。const_params,它將用于每個(gè)主題模型計(jì)算并保持不變我們還設(shè)置了。varying_params包含具有不同參數(shù)值的字典的不同參數(shù)列表:

在這里,我們想要從一系列主題中計(jì)算不同的主題模型ks = [10, 20, .. 100, 120, .. 300, 350, .. 500, 600, 700]。由于我們有26個(gè)不同的值ks,我們將創(chuàng)建和比較26個(gè)主題模型。請注意,還我們alpha為每個(gè)模型定義了一個(gè)參數(shù)1/k(有關(guān)LDA中的α和測試超參數(shù)的討論,請參見下文)。參數(shù)名稱必須與所使用的相應(yīng)主題建模包的參數(shù)匹配。在這里,我們將使用lda,因此我們通過參數(shù),如n_itern_topics(例如,而與其他包的參數(shù)名稱也會(huì)有所不同num_topics,不是而n_topics在gensim)。

我們現(xiàn)在可以使用模塊中的evaluate_topic_models函數(shù)開始評估我們的模型tm_lda,并將不同參數(shù)列表和帶有常量參數(shù)的字典傳遞給它:

默認(rèn)情況下,這將使用所有CPU內(nèi)核來計(jì)算模型并并行評估它們。?

plot_eval_results函數(shù)使用在評估期間計(jì)算的所有度量創(chuàng)建33繪圖。之后,如果需要,我們可以使用matplotlib方法調(diào)整繪圖(例如添加繪圖標(biāo)題),最后我們顯示和/或保存繪圖。

結(jié)果

?

主題模型評估,alpha = 1 / k,beta = 0.01

?

請注意,對于“l(fā)oglikelihood”度量,僅報(bào)告最終模型的對數(shù)似然估計(jì),這與Griffiths和Steyvers使用的調(diào)和均值方法不同。無法使用Griffiths和Steyvers方法,因?yàn)樗枰粋€(gè)特殊的Python包(gmpy2) ,這在我運(yùn)行評估的CPU集群機(jī)器上是不可用的。但是,“對數(shù)似然”將報(bào)告非常相似的結(jié)果。

阿爾法和貝塔參數(shù)

除了主題數(shù)量之外,還有alpha和beta(有時(shí)是文獻(xiàn)中的eta)參數(shù)。兩者都用于定義Dirichlet先驗(yàn),用于計(jì)算各自的后驗(yàn)分布.Alpha是針對特定于文檔的主題分布的先驗(yàn)的“濃度參數(shù)”,并且是針對主題特定的單詞分布的先前的β 。?

?

主題模型,alpha = 1 / k,beta = 0.1

當(dāng)我們使用與上述相同的alpha參數(shù)和相同的k范圍運(yùn)行評估時(shí),但是當(dāng)β= 0.1而不是β= 0.01時(shí),我們看到對數(shù)似然在k的較低范圍內(nèi)最大化,即大約70到300(見上圖) 。

組合這些參數(shù)有很多種可能性,但是解釋這些參數(shù)通常并不容易。下圖顯示了不同情景的評估結(jié)果:(1)α和β的固定值取決于k,(2)α和β都固定, (3)α和β均取決于k。

?

(1)主題模型,alpha = 0.1,beta = 1 /(10k)

?

(2)主題模型,alpha = 0.1,beta = 0.01

?

(3)主題模型,alpha = 1 / k,beta = 1 /(10k)

LDA超參數(shù)α,β和主題數(shù)量都相互關(guān)聯(lián),相互作用非常復(fù)雜。在大多數(shù)情況下,用于定義模型“粒度”的beta的固定值似乎是合理的,這也是Griffiths和Steyvers所推薦的。一個(gè)更精細(xì)的模型評估,具有不同的alpha參數(shù)(取決于k)使用解釋的指標(biāo)可以完成很多主題。

?

?

?

?

▍需要幫助?聯(lián)系我們

?

最受歡迎的見解

1.探析大數(shù)據(jù)期刊文章研究熱點(diǎn)

2.618網(wǎng)購數(shù)據(jù)盤點(diǎn)-剁手族在關(guān)注什么

3.r語言文本挖掘tf-idf主題建模,情感分析n-gram建模研究

4.python主題建??梢暬痩da和t-sne交互式可視化

5.r語言文本挖掘nasa數(shù)據(jù)網(wǎng)絡(luò)分析,tf-idf和主題建模

6.python主題lda建模和t-sne可視化

7.r語言中對文本數(shù)據(jù)進(jìn)行主題模型topic-modeling分析

8.r語言對nasa元數(shù)據(jù)進(jìn)行文本挖掘的主題建模分析

9.python爬蟲進(jìn)行web抓取lda主題語義數(shù)據(jù)分析

?


在PYTHON中進(jìn)行主題模型LDA分析的評論 (共 條)

分享到微博請遵守國家法律
太原市| 马鞍山市| 鲁甸县| 资源县| 通许县| 旺苍县| 甘南县| 广安市| 光泽县| 九龙县| 祁连县| 乐陵市| 喀喇| 鹤壁市| 长岭县| 寿阳县| 新郑市| 海盐县| 海南省| 长阳| 三门峡市| 广水市| 东乌珠穆沁旗| 元阳县| 县级市| 博客| 徐州市| 扶风县| 北票市| 连州市| 天峨县| 仁怀市| 彭州市| 水城县| 宜宾县| 孙吴县| 南川市| 抚顺市| 惠东县| 宽城| 汤阴县|