国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(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分析的評論 (共 條)

分享到微博請遵守國家法律
万山特区| 涟源市| 烟台市| 苗栗县| 垣曲县| 安泽县| 丰县| 内黄县| 大方县| 固原市| 保定市| 兴和县| 梅河口市| 奈曼旗| 扎兰屯市| 乌拉特前旗| 鱼台县| 清丰县| 高密市| 安徽省| 双辽市| 高碑店市| 陵川县| 达尔| 甘德县| 万山特区| 襄樊市| 巴塘县| 蒙阴县| 双辽市| 连云港市| 迁安市| 华宁县| 普格县| 永安市| SHOW| 凭祥市| 法库县| 石阡县| 西平县| 伊宁县|