丁香五月天婷婷久久婷婷色综合91|国产传媒自偷自拍|久久影院亚洲精品|国产欧美VA天堂国产美女自慰视屏|免费黄色av网站|婷婷丁香五月激情四射|日韩AV一区二区中文字幕在线观看|亚洲欧美日本性爱|日日噜噜噜夜夜噜噜噜|中文Av日韩一区二区

您正在使用IE低版瀏覽器,為了您的雷峰網(wǎng)賬號(hào)安全和更好的產(chǎn)品體驗(yàn),強(qiáng)烈建議使用更快更安全的瀏覽器
此為臨時(shí)鏈接,僅用于文章預(yù)覽,將在時(shí)失效
人工智能開(kāi)發(fā)者 正文
發(fā)私信給AI研習(xí)社
發(fā)送

11

從零開(kāi)始教你用 Python 做詞云

本文作者: AI研習(xí)社 2017-07-18 10:51
導(dǎo)語(yǔ):臨淵羨魚(yú),不如退而結(jié)網(wǎng)。

從零開(kāi)始教你用 Python 做詞云

雷鋒網(wǎng)按:本文作者王樹(shù)義,原載于微信公眾號(hào)玉樹(shù)芝蘭(nkwangshuyi),雷鋒網(wǎng)經(jīng)授權(quán)發(fā)布。

臨淵羨魚(yú),不如退而結(jié)網(wǎng)。我們步步為營(yíng),從頭開(kāi)始幫助你用Python做出第一張?jiān)~云圖來(lái)。歡迎嘗試哦!

  需求

在大數(shù)據(jù)時(shí)代,你經(jīng)??梢栽诿襟w或者網(wǎng)站上看到一些非常漂亮的信息圖。

例如這個(gè)樣子。

從零開(kāi)始教你用 Python 做詞云

或是這個(gè)樣子的。

從零開(kāi)始教你用 Python 做詞云

看過(guò)之后你有什么感覺(jué)?想不想自己做一張出來(lái)?

如果你的答案是肯定的,我們就不要拖延了,今天就來(lái)一步步從零開(kāi)始做個(gè)詞云分析圖。當(dāng)然,做為基礎(chǔ)的詞云圖,肯定比不上剛才那兩張信息圖酷炫。不過(guò)不要緊,好的開(kāi)始是成功的一半嘛。食髓知味,后面你就可以自己升級(jí)技能,進(jìn)入你開(kāi)掛的成功之路。

網(wǎng)上教你做信息圖的教程很多。許多都是利用了專用工具。這些工具好是好,便捷而強(qiáng)大。只是它們功能都太過(guò)專一,適用范圍有限。今天我們要嘗試的,是用通用的編程語(yǔ)言Python來(lái)做詞云。

Python是一種時(shí)下很流行的編程語(yǔ)言。你不僅可以用它做數(shù)據(jù)分析和可視化,還能用來(lái)做網(wǎng)站、爬取數(shù)據(jù)、做數(shù)學(xué)題、寫腳本替你偷懶……

知道豆瓣嗎?它一開(kāi)始就是用Python寫的。

在目前的編程語(yǔ)言熱度排序里,Python屈居第四(當(dāng)然,很多人不同意,所以編程語(yǔ)言的排行榜有許多,你懂的)。但看問(wèn)題要用發(fā)展眼光。隨著數(shù)據(jù)科學(xué)的發(fā)展,Python有爆發(fā)的趨勢(shì)。早點(diǎn)兒站上風(fēng)口,很有益處。

如果你之前沒(méi)有編程基礎(chǔ),沒(méi)關(guān)系。從零開(kāi)始,意味著我會(huì)教你如何安裝Python運(yùn)行環(huán)境,一步步完成詞云圖。希望你不要限于瀏覽,而是親自動(dòng)手嘗試一番。到完成的那一步,你不僅可以做出第一張?jiān)~云圖,而且這還將是你的第一個(gè)有用的編程作品。

心動(dòng)了?那咱們就開(kāi)始吧。

  安裝

首先,我們需要安裝Python運(yùn)行環(huán)境。

如果你用的是macOS,那么你的系統(tǒng)里面實(shí)際已經(jīng)預(yù)裝好了Python。

然而我們要使用到許多擴(kuò)展包的功能。因此最好安裝一個(gè)Python工具套裝。只需要一次安裝,以后大部分的功能就都已集成了。不必每次使用新功能,都去零敲碎打地安裝新包了。

Python的套裝有許多種,這里推薦給大家anaconda。因?yàn)榻?jīng)過(guò)我4年多的嘗試與對(duì)比,感覺(jué)這款軟件包的安裝更為便捷,擴(kuò)展包的涵蓋范圍與結(jié)構(gòu)更合理。

首先下載anaconda套裝,具體下載鏈接如下:

http://t.cn/RyWsyHV

下拉網(wǎng)頁(yè)找到下載位置。根據(jù)你的操作系統(tǒng)類型選擇合適的版本。

從零開(kāi)始教你用 Python 做詞云

因?yàn)槲业南到y(tǒng)是macOS,所以網(wǎng)站直接給我推薦的就是macOS系統(tǒng)版本。但如果你用的是Windows或Linux,請(qǐng)切換到相應(yīng)的標(biāo)簽頁(yè)上面。

不管你用的是哪個(gè)操作系統(tǒng),請(qǐng)注意右側(cè)的兩個(gè)按鈕,分別對(duì)應(yīng)Python 2.X和3.X版本。有人一定很納悶,既然有新的版本,我憑什么用舊的?

不是這樣的。到2020年之前,Python的兩個(gè)版本會(huì)一直并存。Python的開(kāi)發(fā)者確實(shí)希望大家升級(jí)切換到3.X版本??上壳?.X版本兼容的擴(kuò)展包數(shù)量比2.X版本要少,尤其是涉及到數(shù)據(jù)科學(xué)類的軟件包,就尤其明顯。所以如果你是初學(xué)者,我建議你下載2.X(目前是2.7)版本,這樣在以后的使用中,可能遇到的問(wèn)題會(huì)少一些。等你運(yùn)用熟練了,再遷移到3.X版本不遲。相信我,到那時(shí)你會(huì)很快適應(yīng)新版本的。

下載后,執(zhí)行安裝文件就行了。

根據(jù)你的電腦運(yùn)行速度不同,安裝的時(shí)間長(zhǎng)短不等。耐心點(diǎn)兒,只需要等這一次嘛。

安裝完畢之后,請(qǐng)你安裝一個(gè)“現(xiàn)代化”瀏覽器。如果你用的是macOS,那么系統(tǒng)自帶的Safari就挺好。其他的選擇包括Firefox和Google Chrome。

請(qǐng)安裝上述瀏覽器之一,然后將其設(shè)置為系統(tǒng)默認(rèn)的瀏覽器。

好了,下面請(qǐng)進(jìn)入命令行模式。

在macOS和Linux下,你需要開(kāi)啟一個(gè)終端(terminal)。

從零開(kāi)始教你用 Python 做詞云

如果是Windows,請(qǐng)打開(kāi)“開(kāi)始”-“附件”-“命令提示符”。

從零開(kāi)始教你用 Python 做詞云

鍵入以下命令:

mkdir demo

cd demo

好了,你現(xiàn)在有一個(gè)專用的目錄,叫做demo了。請(qǐng)到macOS的Finder或者Windows的“我的電腦”里面,找到這個(gè)目錄并且打開(kāi)它。

回到終端下面,macOS或者Linux用戶請(qǐng)鍵入以下命令:

pip install wordcloud

macOS會(huì)提示你先安裝XCode命令行工具,你按照默認(rèn)設(shè)置一步步進(jìn)行就可以了。但是請(qǐng)注意,務(wù)必在WiFi環(huán)境下安裝。如果你用的是4G流量,那你可要破費(fèi)一筆了。

如果你用的是Windows,那么為了使用這個(gè)詞云包,就稍微麻煩一些,你需要到下載 wordcloud?1.3.1?cp27?cp27m?win32.whl 這個(gè)文件,并將它拖拽到你的demo目錄里。具體下載鏈接如下:

http://t.cn/RJ6Emm4

在命令行下,先執(zhí)行:

pip install wheel

然后,再執(zhí)行:

pip install wordcloud?1.3.1?cp27?cp27m?win32.whl

好了,我們需要的全部Python運(yùn)行環(huán)境終于裝好了。

請(qǐng)務(wù)必按照上述步驟執(zhí)行,確保每一步都已經(jīng)順利完成。否則一旦遺漏,后面運(yùn)行程序會(huì)報(bào)錯(cuò)。

  數(shù)據(jù)

詞云分析的對(duì)象,是文本。

理論上講,文本可以是各種語(yǔ)言的。英文、中文、法文、阿拉伯文……

為了簡(jiǎn)便,我們這里以英文文本為例。你可以隨意到網(wǎng)上找一篇英文文章作為分析對(duì)象。我特別喜歡英劇"Yes, minister",所以到維基百科上找到了這部劇的介紹詞條。

從零開(kāi)始教你用 Python 做詞云

我把其中的正文文字部分拷貝了下來(lái),存儲(chǔ)為一個(gè)文本文件,叫做yes-minister.txt。

把這個(gè)文件挪動(dòng)到我們的工作目錄demo里。

好了,文本數(shù)據(jù)已經(jīng)準(zhǔn)備好了。開(kāi)始進(jìn)入編程的魔幻世界吧!

  代碼

在命令行下,執(zhí)行:

jupyter notebook

瀏覽器會(huì)自動(dòng)開(kāi)啟,并且顯示如下界面。

從零開(kāi)始教你用 Python 做詞云

這就是咱們剛才的勞動(dòng)成果——安裝好的運(yùn)行環(huán)境了。我們還沒(méi)有編寫程序,目錄下只有一個(gè)剛才生成的文本文件。

打開(kāi)這個(gè)文件,瀏覽一下內(nèi)容。

從零開(kāi)始教你用 Python 做詞云

回到Jupyter筆記本的主頁(yè)面。我們點(diǎn)擊New按鈕,新建一個(gè)筆記本(Notebook)。在Notebooks里面,請(qǐng)選擇Python 2選項(xiàng)。

從零開(kāi)始教你用 Python 做詞云

系統(tǒng)會(huì)提示我們輸入Notebook的名稱。程序代碼文件的名稱,你可以隨便起。但是我建議你起一個(gè)有意義的名字,將來(lái)好方便查找。由于我們要嘗試詞云,就叫它wordcloud好了。

從零開(kāi)始教你用 Python 做詞云

然后就出現(xiàn)了一個(gè)空白的筆記本,供我們使用了。我們?cè)诰W(wǎng)頁(yè)里唯一的代碼文本框里,輸入以下3條語(yǔ)句。請(qǐng)務(wù)必逐字根據(jù)示例代碼輸入,空格數(shù)量都不可以有差別。尤其注意第三行,用4個(gè)空格,或者1個(gè)Tab開(kāi)始。輸入后,按Shift+Enter鍵,就可以執(zhí)行了。

filename = "yes-minister.txt"

with open(filename) as f:

 mytext = f.read()

沒(méi)有任何結(jié)果啊。

對(duì),因?yàn)槲覀冞@里沒(méi)有任何輸出動(dòng)作,程序只是打開(kāi)了你的yes-minister.txt文本文件,把里面的內(nèi)容都讀了出來(lái),存儲(chǔ)到了一個(gè)叫做mytext的變量里面。

然后我們嘗試顯示mytext的內(nèi)容。輸入以下語(yǔ)句之后,還是得按Shift+Enter鍵,系統(tǒng)才會(huì)實(shí)際執(zhí)行該語(yǔ)句。

mytext

之后的步驟里,也千萬(wàn)不要忘了這一確認(rèn)執(zhí)行動(dòng)作。

顯示的結(jié)果如下圖所示。

從零開(kāi)始教你用 Python 做詞云

嗯,看來(lái)mytext變量里存儲(chǔ)的文本就是我們從網(wǎng)上摘來(lái)的文字。到目前為止,一切正常。

然后我們呼喚(import)詞云包,利用mytext中存儲(chǔ)的文本內(nèi)容來(lái)制造詞云。

from wordcloud import WordCloud

wordcloud = WordCloud().generate(mytext)

這時(shí)程序可能會(huì)報(bào)警。別擔(dān)心。警告(warning)不影響程序的正常運(yùn)行。

從零開(kāi)始教你用 Python 做詞云

此時(shí)詞云分析已經(jīng)完成了。你沒(méi)看錯(cuò),制作詞云的核心步驟只需要這2行語(yǔ)句,而且第一條還只是從擴(kuò)展包里找外援。但是程序并不會(huì)給我們顯示任何東西。

說(shuō)好了的詞云呢?折騰了這么半天,卻啥也沒(méi)有,你蒙人嗎?!

別激動(dòng)。輸入下面4行語(yǔ)句后,就是見(jiàn)證奇跡發(fā)生的時(shí)刻了。

%pylab inline

import matplotlib.pyplot as plt

plt.imshow(wordcloud, interpolation='bilinear')

plt.axis("off")

運(yùn)行結(jié)果如圖所示:

從零開(kāi)始教你用 Python 做詞云

不用那么興奮嘛。

你可以在詞云圖片上單機(jī)鼠標(biāo)右鍵,用“圖片另存為”功能導(dǎo)出。

從零開(kāi)始教你用 Python 做詞云

通過(guò)這張?jiān)~云圖,我們可以看到不同單詞和詞組出現(xiàn)的頻率高低差別。高頻詞的字體明顯更大,而且顏色也很醒目。值得說(shuō)明的是,最顯眼的單詞Hacker并不是指黑客,而是指這部劇的主角之一——哈克首相。

包含程序完整代碼的ipynb文件,我也分享了出來(lái),你可以從如下鏈接下載:

http://t.cn/RKQvFBM

希望你在嘗試過(guò)程中一切順利。對(duì)自己生成的詞云圖滿意嗎?如果你不滿意,也不要緊,可以挖掘wordcloud軟件包的其他高級(jí)功能。嘗試一下,看自己能不能做出這樣的詞云圖來(lái)?

從零開(kāi)始教你用 Python 做詞云

  討論

學(xué)完了本方法后,你做出了一張什么樣的詞云圖?除了本文介紹的方法以外,你還知道哪些便捷地制作詞云或其他信息圖的方式?歡迎留言,分享給大家。我們共同交流討論。

雷鋒網(wǎng)相關(guān)閱讀:

貸還是不貸:如何用 Python 和機(jī)器學(xué)習(xí)幫你決策?

詳解基于樸素貝葉斯的情感分析及 Python 實(shí)現(xiàn)

雷峰網(wǎng)版權(quán)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見(jiàn)轉(zhuǎn)載須知。

從零開(kāi)始教你用 Python 做詞云

分享:
相關(guān)文章

編輯

聚焦數(shù)據(jù)科學(xué),連接 AI 開(kāi)發(fā)者。更多精彩內(nèi)容,請(qǐng)?jiān)L問(wèn):yanxishe.com
當(dāng)月熱門文章
最新文章
請(qǐng)?zhí)顚懮暾?qǐng)人資料
姓名
電話
郵箱
微信號(hào)
作品鏈接
個(gè)人簡(jiǎn)介
為了您的賬戶安全,請(qǐng)驗(yàn)證郵箱
您的郵箱還未驗(yàn)證,完成可獲20積分喲!
請(qǐng)驗(yàn)證您的郵箱
立即驗(yàn)證
完善賬號(hào)信息
您的賬號(hào)已經(jīng)綁定,現(xiàn)在您可以設(shè)置密碼以方便用郵箱登錄
立即設(shè)置 以后再說(shuō)