微博爬蟲及輿情分析 4 使用者輿情分析

2021-09-27 03:20:12 字數 3039 閱讀 5465

import pandas as pd

import numpy as np

#讀取訓練資料集

#生成keyword資料

mblog[

'keywords'

]= mblog.

(get_keywords,axis=

1)

#匯入邏輯回歸模型

from sklearn.linear_model import logisticregression

from sklearn.feature_extraction.text import countvectorizer

vectorizer = countvectorizer(max_features=

2000

,analyzer=

'word'

,tokenizer=

lambda s:s.split(

'|')

)#生成詞袋向量資料

blog_bow = vectorizer.fit_transform(mblog[

'keywords'])

#選定訓練樣本資料

y = mblog[mblog[

'attitude'

].notnull()]

['attitude'

]x=blog_bow[

:len

(y),:]

#訓練模型並檢視訓練準確率

lr_model = logisticregression(random_state=

0,solver=

'lbfgs'

,multi_class=

'multinomial'

).fit(x,y)

lr_model.score(x,y)

# 0.99

# 對其他微博進行**並檢視結果

print

(mblog.chinese_text.iloc[8]

)print

(lr_model.predict(blog_bow[8,

:]))

華為mate30保護殼**,感覺好醜啊 

[0.]

在訓練樣本中該條微博被人工標註為-1:消極

但模型在**時將其標註為0:中性

#檢視訓練資料各種態度的分布情況

import matplotlib.pyplot as plt

plt.rcparams[

'font.sans-serif']=

['simhei'

]#用來正常顯示中文標籤

%matplotlib inline

predict_attitude = pd.dataframe(lr_model.predict(blog_bow[:,

:]),columns=

['predict'])

plt.figure(figsize=[15

,5])

plt.subplot(1,

2,1)

labels =

['消極'

,'中立'

,'積極'

]plt.title(

'訓練資料各種態度的分布情況'

)mblog.groupby(

'attitude'

).size(

).plot.pie(labels=labels,autopct=

'%1.1f%%'

,explode=

(0.05

,0.05

,0.05

),shadow=

true

)plt.subplot(1,

2,2)

labels =

['消極'

,'中立'

,'積極'

]plt.title(

'全部**結果的態度分布情況'

模型分析:

根據**的多個微博資料結果,模型把大部分微博都**為了積極的,分析資料的特點,推測可能是由於資料的分布極不均勻導致的

檢視各種態度的分布情況可驗證這一推測。

自嗨筆記 2 微博疫情輿情分析 輿情分析部分

previously!自嗨筆記 1 微博疫情輿情分析 爬取部分 二 建立需求 利用snownlp,情感分析 嘗試利用已有資訊,挖掘深度規律 三,實現 def snownlp c element try sn snownlp element return round sn.sentiments,1 e...

python酒店評論分析 酒店輿情分析

第一步 分析設計 第二步 資料收集 酒店資料 第三步 資料處理 資料清洗 在統計分析裡面至少150條以上的資料 特徵工程 import pandas as pd data pd.read sql sql,conn 去除標籤列所對應的缺失值,可以使用花式索引的方式,對於資料進行相應的清洗和替換 2 開...

輿情分析與影響的經驗記錄一

1.先講下httpwebrequest的使用。關於httpwebrequest的使用,網上一搜就是一大堆。我這要寫的主要是我自己使用的經驗。我就一直在找原因,使用除錯一步一步的走,但是都沒有問題。隨後我又想是不是發帖的速度太快了,就加了thread.sleep 來減緩下發帖的速度。結果還是不行。最後...