【python資料探勘課程】十三.WordCloud詞雲配置過程及詞頻分析
這篇文章是學習了老曹的微信直播,感覺WordCloud對我的《Python資料探勘課程》非常有幫助,作者學習後準備下次上課分享給我的學生,讓他們結合詞頻分析來體會下詞雲。希望這篇基礎文章對你有所幫助,同時自己也是詞雲的初學者,強烈推薦老曹的部落格供大家學習。如果文章中存在不足或錯誤的地方,還請海涵~
老曹地址:10行python程式碼的詞雲 - 半吊子全棧工匠
前文推薦:
【Python資料探勘課程】一.安裝Python及爬蟲入門介紹
【Python資料探勘課程】二.Kmeans聚類資料分析及Anaconda介紹
【Python資料探勘課程】三.Kmeans聚類程式碼實現、作業及優化
【Python資料探勘課程】四.決策樹DTC資料分析及鳶尾資料集分析
【Python資料探勘課程】五.線性迴歸知識及預測糖尿病例項
【Python資料探勘課程】六.Numpy、Pandas和Matplotlib包基礎知識
【Python資料探勘課程】七.PCA降維操作及subplot子圖繪製
【Python資料探勘課程】八.關聯規則挖掘及Apriori實現購物推薦
【Python資料探勘課程】九.迴歸模型LinearRegression簡單分析氧化物資料
【python資料探勘課程】十.Pandas、Matplotlib、PCA繪圖實用程式碼補充
【python資料探勘課程】十一.Pandas、Matplotlib結合SQL語句視覺化分析
【python資料探勘課程】十二.Pandas、Matplotlib結合SQL語句對比圖分析
一. 安裝WordCloud
在使用WordCloud詞雲之前,需要使用pip安裝相應的包。
pip install WordCloud
pip install jieba
其中WordCloud是詞雲,jieba是結巴分詞工具。
jieba參考我的部落格:[python] 使用Jieba工具中文分詞及文字聚類概念
問題:在安裝WordCloud過程中,你可能遇到的第一個錯誤如下。
error: Microsoft Visual C++ 9.0 is required. Get it from http://asa.ms/vcpython27
解決方法也很簡單,下載VCForPython27安裝(Microsoft Visual C++ Compiler for Python 2.7)。但是在微軟下載總是沒響應。微軟地址如下:
https://www.microsoft.com/en-us/download/details.aspx?id=44266
這是最大的問題,下面我自己提供一個CSDN的地址供大家下載。下載完成,可以進行安裝響應的庫函式。
資源地址:http://download.csdn.net/detail/eastmount/9788218
安裝完成之後,可以正常執行程式碼啦。
二. 簡單詞雲程式碼
下面這部分程式碼參考老曹的,希望對你有所幫助。
老曹說:什麼是詞雲呢?詞雲又叫文字雲,是對文字資料中出現頻率較高的“關鍵詞”在視覺上的突出呈現,形成關鍵詞的渲染形成類似雲一樣的彩色圖片,從而一眼就可以領略文字資料的主要表達意思。
程式碼如下:
# -*- coding: utf-8 -*-
import jieba
import sys
import matplotlib.pyplot as plt
from wordcloud import WordCloud
#開啟本體TXT檔案
text = open('test.txt').read()
print type(text)
#結巴分詞 cut_all=True 設定為全模式
wordlist = jieba.cut(text, cut_all = True)
#使用空格連線 進行中文分詞
wl_space_split = " ".join(wordlist)
print wl_space_split
#對分詞後的文字生成詞雲
my_wordcloud = WordCloud().generate(wl_space_split)
#顯示詞雲圖
plt.imshow(my_wordcloud)
#是否顯示x軸、y軸下標
plt.axis("off")
plt.show()
執行結果如下所示:
這是中文編碼問題,下面講解解決方法。
三. 中文編碼錯誤及解決
在WordCloud安裝的目錄下找到WordCloud.py檔案,對原始碼進行修改。
注意,此時執行程式碼還是報錯,因為需要在同一個目錄下放置msyh.ttf字型檔案供程式呼叫,如下圖所示,這是原來的字型DroidSansMono.ttf。
此時的執行結果如下所示,這是分析CSDN多篇部落格的主題,"閱讀"和"評論"比較多。
也可以採用下面的程式碼:
wordcloud = WordCloud(font_path = 'MSYH.TTF').fit_words(word)
四. 照片背景的詞雲程式碼
下面進一步深入,假設存在一個圖 "sss3.png",核心程式碼如下:
# -*- coding: utf-8 -*-
from os import path
from scipy.misc import imread
import jieba
import sys
import matplotlib.pyplot as plt
from wordcloud import WordCloud, STOPWORDS, ImageColorGenerator
# 開啟本體TXT檔案
text = open('weixin.txt').read()
# 結巴分詞 cut_all=True 設定為全模式
wordlist = jieba.cut(text) #cut_all = True
# 使用空格連線 進行中文分詞
wl_space_split = " ".join(wordlist)
print wl_space_split
# 讀取mask/color圖片
d = path.dirname(__file__)
nana_coloring = imread(path.join(d, "sss3.png"))
# 對分詞後的文字生成詞雲
my_wordcloud = WordCloud( background_color = 'white', # 設定背景顏色
mask = nana_coloring, # 設定背景圖片
max_words = 2000, # 設定最大現實的字數
stopwords = STOPWORDS, # 設定停用詞
max_font_size = 50, # 設定字型最大值
random_state = 30, # 設定有多少種隨機生成狀態,即有多少種配色方案
)
# generate word cloud
my_wordcloud.generate(wl_space_split)
# create coloring from image
image_colors = ImageColorGenerator(nana_coloring)
# recolor wordcloud and show
my_wordcloud.recolor(color_func=image_colors)
plt.imshow(my_wordcloud) # 顯示詞雲圖
plt.axis("off") # 是否顯示x軸、y軸下標
plt.show()
# save img
my_wordcloud.to_file(path.join(d, "cloudimg.png"))
執行結果如下圖所示,顯示我加寶寶我兩最近兩月的聊天記錄。
一弦一柱思華年,一co一ding夢嚴賢。
希望文章對你有所幫助,尤其是結合資料庫做資料分析的人。還是那句話,如果剛好需要這部分知識,你就會覺得非常有幫助,否則只是覺得好玩,這也是線上筆記的作用。如果文章中存在不足或錯誤的地方,還請海涵~
(By:Eastmount 2017-03-21 下午2點 http://blog.csdn.net/eastmount/ )
相關文章
- 已知詞頻生成詞雲圖(資料庫到生成詞雲)--generate_from_frequencies(WordCloud)資料庫Cloud
- 【Python】Wordcloud 詞雲PythonCloud
- JB的Python之旅-資料分析篇-jieba&wordcloud(詞雲)PythonJiebaCloud
- Python視覺化-generate_from_frequencies給定詞頻畫詞雲圖(WordCloud)Python視覺化Cloud
- 【python資料探勘課程】二十三.時間序列金融資料預測及Pandas庫詳解Python
- 【python資料探勘課程】十六.邏輯迴歸LogisticRegression分析鳶尾花資料Python邏輯迴歸
- Python詞雲庫wordcloud中文顯示問題詳解PythonCloud
- 貫通詞典破解過程
- Python資料探勘與分析速成班-CSDN公開課-專題視訊課程Python
- 資料探勘的過程有哪些
- 【Python資料探勘課程】七.PCA降維操作及subplot子圖繪製PythonPCA
- 【python資料探勘課程】十八.線性迴歸及多項式迴歸分析四個案例分享Python
- 【python資料探勘課程】二十七.基於SVM分類器的紅酒資料分析Python
- 【Python資料探勘課程】九.迴歸模型LinearRegression簡單分析氧化物資料Python模型
- Python實踐之合併WOS文獻資料,並對關鍵詞進行詞頻分析Python
- 【python資料探勘課程】二十六.基於SnowNLP的豆瓣評論情感分析Python
- 【python資料探勘課程】十一.Pandas、Matplotlib結合SQL語句視覺化分析PythonSQL視覺化
- 【python資料探勘課程】十二.Pandas、Matplotlib結合SQL語句對比圖分析PythonSQL
- 【Python資料探勘課程】五.線性迴歸知識及預測糖尿病例項Python
- 【Python資料探勘課程】八.關聯規則挖掘及Apriori實現購物推薦Python
- 企業級實戰大資料課程(十三)-尹成-專題視訊課程大資料
- 【python資料探勘課程】十七.社交網路Networkx庫分析人物關係(初識篇)Python
- 資料需求分析過程
- 【python資料探勘課程】二十.KNN最近鄰分類演算法分析詳解及平衡秤TXT資料集讀取PythonKNN演算法
- 學習筆記 過程、同義詞、序列筆記
- 【python資料探勘課程】二十四.KMeans文字聚類分析互動百科語料Python聚類
- 【爬蟲+情感判定+Top10高頻詞+詞雲圖】“谷愛凌”熱門彈幕python輿情分析爬蟲Python
- 【爬蟲+情感判定+Top10高頻詞+詞雲圖】"王心凌"熱門彈幕python輿情分析爬蟲Python
- python分詞和生成詞雲圖Python分詞
- Python如何生成詞雲(詳細分析)Python
- python如何統計詞頻Python
- 【python技能】詞頻統計Python
- 【python資料探勘課程】二十一.樸素貝葉斯分類器詳解及中文文字輿情分析Python
- 【Python資料探勘課程】六.Numpy、Pandas和Matplotlib包基礎知識Python
- 【python資料探勘課程】十五.Matplotlib呼叫imshow()函式繪製熱圖Python函式
- 用WordCloud詞雲+LDA主題模型,帶你讀一讀《芳華》(python實現)CloudLDA模型Python
- 萌新向Python資料分析及資料探勘 前言Python
- 【python資料探勘課程】十九.鳶尾花資料集視覺化、線性迴歸、決策樹花樣分析Python視覺化