• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于Python的微博發(fā)表意向預(yù)測研究

      2018-05-15 10:10陳智梁娟謝兵傅籬
      物聯(lián)網(wǎng)技術(shù) 2018年4期

      陳智 梁娟 謝兵 傅籬

      摘 要:微博的龐大數(shù)量以及微博文本的多樣性,給微博輿情監(jiān)控和預(yù)測帶來較多困難,如果能夠預(yù)先判斷用戶發(fā)表微博的意向,那么就可以進(jìn)行更有針對性的引導(dǎo)和控制。文中根據(jù)微博用戶數(shù)據(jù)的主要特征,使用Python的scikit-learn包中的主要回歸預(yù)測模型,對用戶發(fā)表微博的意向進(jìn)行預(yù)測分析,評價(jià)不同回歸預(yù)測模型預(yù)測微博發(fā)表意向的能力以及用戶特征對微博發(fā)表意向的影響。通過實(shí)驗(yàn)研究發(fā)現(xiàn),用戶的微博發(fā)表意向更多取決于用戶關(guān)注數(shù),而梯度提升回歸模型對此問題有更好的適應(yīng)性。

      關(guān)鍵詞:微博發(fā)表意向;Python;回歸預(yù)測模型;特征貢獻(xiàn)度

      中圖分類號:TP391 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號:2095-1302(2018)04-00-03

      0 引 言

      作為虛擬社交的重要方式之一,微博在主導(dǎo)輿論方面的作用越來越重要。微博輿論具有擴(kuò)散圈層化、傳播裂變化等特征[1],社會(huì)影響巨大。如何監(jiān)測和控制微博輿論,避免惡意言論和謠言在微博傳播,成為微博輿情監(jiān)控的重要研究內(nèi)容。目前,已有不少微博輿情分析[2]、垃圾信息檢測[3]、傳播趨勢預(yù)測[4,5]、輿論引導(dǎo)[6]等研究,但由于微博數(shù)據(jù)量龐大,且具有形式多樣化的特點(diǎn),使得各種輿情監(jiān)控算法在效率和性能方面都面臨著巨大壓力。如果可以預(yù)先判斷用戶發(fā)表微博的意向,進(jìn)而進(jìn)行引導(dǎo)和控制,那么就可以在一定程度上將惡意言論或謠言控制在產(chǎn)生初期并遏制其傳播,提高微博輿情監(jiān)控的效率。

      本研究從爬盟[7]獲取微博用戶數(shù)據(jù),提取微博用戶數(shù)據(jù)的特征,并使用Python機(jī)器學(xué)習(xí)回歸預(yù)測模型分析這些數(shù)據(jù)與微博用戶發(fā)表意向之間的潛在規(guī)律,進(jìn)而對用戶可能發(fā)表微博的意向進(jìn)行預(yù)測,為微博輿情控制提供更細(xì)化的數(shù)據(jù)參考。

      1 數(shù)據(jù)預(yù)處理

      通過爬盟獲取的新浪微博用戶數(shù)據(jù)包括24個(gè)數(shù)據(jù)項(xiàng),即用戶ID,屏幕名,用戶名,是否VIP,VIP描述,自我介紹,性別,地區(qū),工作,教育,頭像,生日,QQ,MSN,Email,標(biāo)簽,關(guān)注數(shù),粉絲數(shù),微博數(shù),創(chuàng)建時(shí)間,關(guān)注列表,是否會(huì)員,是否達(dá)人,等級。在這些數(shù)據(jù)項(xiàng)中,用戶ID,屏幕名,用戶名都可以看作是用戶的唯一標(biāo)識(shí),作為一個(gè)數(shù)據(jù)項(xiàng)處理;是否VIP,VIP描述反映用戶加入VIP的情況,作為一個(gè)數(shù)據(jù)項(xiàng)處理;性別,地區(qū),工作,教育,頭像,生日,QQ,MSN,Email,創(chuàng)建時(shí)間可以看作自我介紹的明細(xì)和補(bǔ)充內(nèi)容,根據(jù)其詳細(xì)程度統(tǒng)一處理為自我介紹;關(guān)注列表是關(guān)注該用戶的其他用戶ID,對判斷用戶微博發(fā)表意向及后續(xù)研究沒有直接作用。因此,對微博用戶數(shù)據(jù)進(jìn)行篩選后,只留下用戶ID、自我介紹、關(guān)注數(shù)、粉絲數(shù)、微博數(shù)、是否VIP、標(biāo)簽、是否會(huì)員、是否達(dá)人、等級共10個(gè)數(shù)據(jù)項(xiàng),對其進(jìn)行必要的規(guī)范化轉(zhuǎn)換。

      (1)用戶ID、關(guān)注數(shù)、粉絲數(shù)、微博數(shù)、是否VIP、是否會(huì)員、是否達(dá)人、等級:這些數(shù)據(jù)項(xiàng)保留其值,不做進(jìn)一步轉(zhuǎn)換;

      (2)自我介紹:根據(jù)相關(guān)數(shù)據(jù)項(xiàng)(自我介紹,性別,地區(qū),工作,教育,頭像,生日,QQ,MSN,Email)是否為空,即根據(jù)用戶是否有介紹的相關(guān)數(shù)據(jù)項(xiàng)值來賦值,如果相關(guān)數(shù)據(jù)項(xiàng)中至少6項(xiàng)有值,則賦值為1,否則賦值為0;

      (3)標(biāo)簽:標(biāo)簽在微博用戶相似度分析、博文推薦、影響力研究等領(lǐng)域都有較重要的作用,用戶添加標(biāo)簽的個(gè)數(shù)反映了用戶興趣領(lǐng)域的深度或廣度,同地區(qū)數(shù)據(jù)類似,考慮后續(xù)分析中數(shù)據(jù)維過于分散的問題,以用戶標(biāo)簽個(gè)數(shù)作為參考值。

      此外,在獲取的用戶數(shù)據(jù)中,有一部分?jǐn)?shù)據(jù)存在數(shù)據(jù)缺失的情況,可直接刪除。

      在本實(shí)驗(yàn)中,共從爬盟獲取了2 021個(gè).csv格式的用戶數(shù)據(jù)文件,包括用戶數(shù)據(jù)共3 583 677條,在預(yù)處理過程中,刪除了不完整數(shù)據(jù)共126 097條,最后獲得3 457 580條用戶數(shù)據(jù)為后續(xù)分析使用。

      2 預(yù)測分析的方法及過程

      用戶微博發(fā)表意向可以看作是一個(gè)回歸預(yù)測問題,以用戶發(fā)表的微博數(shù)作為輸出,以除了用戶ID之外的其他數(shù)據(jù)項(xiàng)作為高維輸入。即:

      X= {[自我介紹,關(guān)注數(shù),粉絲數(shù),標(biāo)簽數(shù),是否VIP,是否會(huì)員,是否達(dá)人,等級]}

      Y={微博數(shù)}

      F(X)→Y的映射關(guān)系即為回歸預(yù)測模型,需要通過實(shí)驗(yàn)確定。在Python的scikit-learn包[8]中,包含了多個(gè)回歸預(yù)測模型,因此可以直接使用scikit-learn包中的模型,通過輸入用戶相關(guān)數(shù)據(jù),估計(jì)用戶發(fā)表微博數(shù)。通過模型評價(jià)選取其中最合適的一個(gè)或多個(gè)模型。

      線性回歸模型是回歸分析中最基本、最簡單的模型,其模型預(yù)測能力的評價(jià)結(jié)果體現(xiàn)了X和Y滿足線性關(guān)系的程度;隨機(jī)梯度下降回歸模型采用隨機(jī)梯度下降參數(shù)估計(jì)算法,適用于輸入數(shù)據(jù)較多的回歸預(yù)測,可以看作是線性回歸模型的有力補(bǔ)充。

      K近鄰回歸模型和回歸樹模型雖然能夠較好地解決非線性數(shù)據(jù)的建模問題,但是當(dāng)數(shù)據(jù)量過大時(shí),其訓(xùn)練效率低下。因此,綜合考慮模型的可用性和實(shí)現(xiàn)效率,采用集成模型中常用的隨機(jī)森林回歸模型、梯度提升回歸模型和極端隨機(jī)森林回歸模型作為參與比較的模型。

      選取了以下模型進(jìn)行對比分析:

      (1)線性回歸模型(Linear Regression);

      (2)隨機(jī)梯度下降回歸模型(SGDR egressor);

      (3)隨機(jī)森林回歸模型(Random Forest Regressor);

      (4)梯度提升回歸模型(Gradient Boosting Regressor);

      (5)極端隨機(jī)森林回歸模型(Extra Trees Regressor)。

      在建立模型的過程中,首先對獲得的用戶數(shù)據(jù)進(jìn)行分割和規(guī)范化處理,然后用訓(xùn)練集數(shù)據(jù)訓(xùn)練各模型的參數(shù),最后使用測試集數(shù)據(jù),用R-square評價(jià)函數(shù)進(jìn)行模型能力評價(jià),其函數(shù)定義見式(1)。

      其中:n為用戶數(shù)據(jù)的條數(shù);yi為第i個(gè)用戶實(shí)際發(fā)表的微博數(shù);為第i個(gè)用戶發(fā)表微博數(shù)的預(yù)測值;為用戶發(fā)表微博數(shù)的平均值。

      R-square評價(jià)函數(shù)既考慮了預(yù)測值的內(nèi)部差異,也考慮了預(yù)測值與真實(shí)值之間的回歸差異,其數(shù)值表明模型回歸結(jié)果可被真實(shí)值驗(yàn)證的百分比。

      3 回歸模型的預(yù)測能力分析

      確定回歸模型預(yù)測能力的實(shí)驗(yàn)基于經(jīng)過預(yù)處理的所有用戶數(shù)據(jù)進(jìn)行,首先對這些數(shù)據(jù)進(jìn)行分割,選擇其中90%的數(shù)據(jù)作為訓(xùn)練集,10%的數(shù)據(jù)作為測試集,并使用隨機(jī)數(shù)種子35進(jìn)行隨機(jī)分割。分割之后的數(shù)據(jù)提供給5個(gè)回歸模型訓(xùn)練模型參數(shù),使用R-square評價(jià)函數(shù)評價(jià)模型預(yù)測能力。

      此外,在所有采集的3 457 580條用戶數(shù)據(jù)中,存在發(fā)表微博數(shù)為0的數(shù)據(jù)。為確定發(fā)表的微博數(shù)為0對模型是否有影響,以及影響程度,在對所有數(shù)據(jù)執(zhí)行回歸分析后,排除了其中發(fā)表微博數(shù)為0的數(shù)據(jù),以剩下的2 882 839條數(shù)據(jù)再次進(jìn)行實(shí)驗(yàn)。兩種情況下各種模型的預(yù)測能力比較見表1所列。

      從表1的實(shí)驗(yàn)結(jié)果可以看出,兩種線性模型(線性回歸模型和隨機(jī)梯度下降回歸模型)對用戶微博發(fā)表意向的預(yù)測能力均較差。在集成模型中,隨機(jī)森林回歸模型和梯度提升回歸模型的預(yù)測能力較強(qiáng),而極端隨機(jī)森林回歸模型在包含微博數(shù)為0和不包含微博數(shù)為0的情況時(shí),預(yù)測能力差異較大。

      數(shù)據(jù)中是否包含微博數(shù)為0的數(shù)據(jù)對模型預(yù)測能力的影響并不明顯,但倘若不包含微博數(shù)為0的數(shù)據(jù),模型能夠得到更好的預(yù)測結(jié)果。

      各種模型的R-square評價(jià)函數(shù)值最高為0.486 783 374 421,說明模型預(yù)測能力差強(qiáng)人意。一個(gè)可能的原因是:微博發(fā)表的數(shù)量一定為整數(shù),而回歸預(yù)測模型的預(yù)測結(jié)果為實(shí)數(shù),影響了評價(jià)函數(shù)的計(jì)算結(jié)果。

      4 各數(shù)據(jù)項(xiàng)貢獻(xiàn)度分析

      對3種集成回歸模型(隨機(jī)森林回歸模型、梯度提升回歸模型和極端隨機(jī)森林回歸模型)做進(jìn)一步分析,可以得到輸入的各數(shù)據(jù)項(xiàng)對模型的貢獻(xiàn)度,進(jìn)而確定哪些數(shù)據(jù)項(xiàng)對模型預(yù)測能力有決定性作用。

      使用3種集成模型,包含微博數(shù)為0的數(shù)據(jù)時(shí),各數(shù)據(jù)項(xiàng)貢獻(xiàn)度見表2所列。

      使用3種集成模型,不包含微博數(shù)為0的數(shù)據(jù)時(shí),各數(shù)據(jù)項(xiàng)貢獻(xiàn)度見表3所列。

      綜合表2與表3的結(jié)果可以看出,“是否會(huì)員”數(shù)據(jù)項(xiàng)對模型貢獻(xiàn)度為0;“是否VIP”“是否達(dá)人”數(shù)據(jù)項(xiàng)對模型貢獻(xiàn)度約等于0。對模型貢獻(xiàn)度最大的是“粉絲數(shù)”和“關(guān)注數(shù)”,除了用包含微博數(shù)為0的數(shù)據(jù)訓(xùn)練的梯度提升回歸模型之外,其他模型中,“關(guān)注數(shù)”的貢獻(xiàn)度均大于“粉絲數(shù)”,即關(guān)注其他用戶越多的用戶,發(fā)表微博的熱情越高;而不是粉絲越多的用戶,發(fā)表微博的熱情越高。

      5 數(shù)據(jù)分割對預(yù)測能力的影響

      集成模型得到的回歸模型并不是確定不變的,使用不同的訓(xùn)練集或者在模型訓(xùn)練過程中選取的隨機(jī)值不同,都會(huì)對模型的參數(shù)造成影響,從而影響模型的預(yù)測效果。因此,在后續(xù)實(shí)驗(yàn)中,采用不同的隨機(jī)數(shù)種子多次分割數(shù)據(jù),訓(xùn)練3種集成模型并評價(jià)其性能,可更全面地說明模型的預(yù)測能力。

      在實(shí)驗(yàn)中,從[0,100]之間隨機(jī)選取隨機(jī)數(shù)種子,作為Python中train_test_split()函數(shù)的參數(shù),得到不同訓(xùn)練集情況下,3種集成回歸模型的R-square值變化趨勢如圖1所示。

      從圖1可以看出,排除少數(shù)孤立值,隨機(jī)森林回歸模型和梯度提升回歸模型的R-square值均在0.4~0.5之間變化,且梯度提升回歸模型的R-square值變化更集中,在預(yù)測微博發(fā)表意向時(shí)表現(xiàn)更加穩(wěn)定,而極端隨機(jī)森林回歸模型受測試集數(shù)據(jù)影響較大,其R-square值主要在0.35~0.5之間浮動(dòng)。

      6 結(jié) 語

      綜合以上實(shí)驗(yàn)研究可以發(fā)現(xiàn),關(guān)注數(shù)、粉絲數(shù)是用戶微博發(fā)表意向預(yù)測模型的主要特征項(xiàng),特征貢獻(xiàn)度最高的是用戶關(guān)注數(shù),即關(guān)注其他用戶越多的用戶,越有可能發(fā)表新的微博。在各種回歸預(yù)測模型中,3種集成回歸模型(隨機(jī)森林回歸模型、梯度提升回歸模型和極端隨機(jī)森林回歸模型)具有更好的模型預(yù)測能力。當(dāng)訓(xùn)練集變化時(shí),梯度提升回歸模型表現(xiàn)最穩(wěn)定。但是,各種回歸預(yù)測模型的預(yù)測能力都不盡如人意,一個(gè)可能的原因是:回歸預(yù)測模型的結(jié)果為實(shí)數(shù),而微博發(fā)表數(shù)據(jù)為整數(shù)。模型的適應(yīng)性以及如何提高模型預(yù)測能力還需要今后進(jìn)一步的研究和探討。

      參考文獻(xiàn)

      [1]王慧.微博輿論的傳播特征及社會(huì)影響[J].合肥學(xué)院學(xué)報(bào)(綜合版),2017,34(4):65-68.

      [2]張露晨,張良,孫昊良,等.基于領(lǐng)域文法的微博輿情分析方法及其應(yīng)用[J].計(jì)算機(jī)應(yīng)用與軟件,2016,33(8):43-49.

      [3]鄒永潘,李偉,王儒敬.基于多特征的垃圾微博檢測方法[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2017,26(10):184-189.

      [4]劉巧玲,李勁,肖人彬.基于參數(shù)反演的網(wǎng)絡(luò)輿情傳播趨勢預(yù)測——以新浪微博為例[J].計(jì)算機(jī)應(yīng)用,2017,37(5):1419-1423.

      [5]李文娟. 基于灰色模型的微博輿情預(yù)測研究[J]. 開封教育學(xué)院學(xué)報(bào),2017,37(1):280-282.

      [6]張明旺. 基于微博的網(wǎng)絡(luò)輿情監(jiān)測與引導(dǎo)機(jī)制探索[J].電腦知識(shí)與技術(shù),2015,11(31):32-34.

      [7]中國爬盟[DB/OL].http://www.cnpameng.com/

      [8] Scikit-learn: machine learning in Python[DB/OL].http:// scikit-learn.org/

      新野县| 临安市| 黔南| 保山市| 七台河市| 威信县| 公安县| 高邮市| 长子县| 宣城市| 鲜城| 铜山县| 天台县| 曲周县| 安吉县| 潮州市| 思南县| 务川| 尉犁县| 蓬莱市| 江源县| 小金县| 湘潭市| 郯城县| 延吉市| 砀山县| 赞皇县| 泰宁县| 顺平县| 鹰潭市| 正镶白旗| 德庆县| 澄城县| 胶南市| 保定市| 永平县| 新蔡县| 称多县| 武冈市| 婺源县| 习水县|