洪麗華,周衛(wèi)紅,黃瓊慧
(1.廈門軟件職業(yè)技術(shù)學(xué)院 軟件工程學(xué)院,福建 廈門 361000;2.云南民族大學(xué) 數(shù)學(xué)與計算機科學(xué)學(xué)院,昆明 650031)
隨著科學(xué)的發(fā)展,各行各業(yè)需要處理的數(shù)據(jù)量急劇增加。有的需要批量處理,有的需要借助相關(guān)的軟件來處理,有的甚至還需要通過編寫代碼來處理。那么,如何體現(xiàn)所處理數(shù)據(jù)的結(jié)果呢?數(shù)據(jù)可視化,是當(dāng)前最受歡迎的方法。Python是處理大數(shù)據(jù)的最主要程序設(shè)計語言之一。結(jié)合本人參加百度公司和浙江大學(xué)組織的人工智能相關(guān)培訓(xùn)項目,本文從Python、數(shù)據(jù)可視化和二維圖形3大方面進行闡述。
Python是一種面向?qū)ο蟆㈤_源、免費和功能強大的程序設(shè)計語言,提供了豐富和強大的標(biāo)準(zhǔn)庫,還提供了大量的第三方庫。第三方庫的功能涉及人工智能、數(shù)據(jù)分析與處理和Web應(yīng)用開發(fā)等領(lǐng)域[1]。Python是處理數(shù)據(jù)的主要語言之一。
Python自帶的IDLE是集成開發(fā)環(huán)境(Integrated Development and Learning Environment)[2]。打開IDLE環(huán)境,其是一種交互式的開發(fā)環(huán)境,提供了交互式運行、程序編寫和運行等功能。Python提供了不同操作系統(tǒng)版本,包括Windows操作系統(tǒng)版本、Linux操作系統(tǒng)版本、Mac操作系統(tǒng)版本及其他操作系統(tǒng)版本。讀者可以登錄Python的官方網(wǎng)站下載并進行安裝。
Python的官方下載網(wǎng)址為:https://www.Python.org/downloads/。
Python的官方網(wǎng)站提供了Python的所有免費版本。根據(jù)Windows的操作系統(tǒng),選擇合適的Python版本的壓縮包,下載、安裝。按照相應(yīng)的步驟,安裝完P(guān)ython后,從開始、所有程序、Python和IDLE,啟動Python IDLE的編程環(huán)境。
數(shù)據(jù)可視化是處理數(shù)據(jù)的一項關(guān)鍵技術(shù)[3]。數(shù)據(jù)可視化是通過各種各樣的圖形來體現(xiàn)數(shù)據(jù)的相關(guān)性、對比性和變化趨勢等內(nèi)容,用戶可以通過這些圖形所提供的內(nèi)容進一步分析和應(yīng)用。數(shù)據(jù)可視化的作用,是把與信息、數(shù)據(jù)等相關(guān)的內(nèi)容以圖形的形式更清晰、更有效地傳達和展現(xiàn)給用戶。在某種程度上,從交流或表達的效果來看,數(shù)據(jù)可視化往往比文字更形象、更直接和更容易被用戶理解。
Matplotlib是一個開源的數(shù)據(jù)可視化工具包[4],是Python中最受開發(fā)者喜歡的繪圖庫,而且其功能全面、用途廣泛。Matplotlib可以繪制出各式各樣的圖形,比如:曲線圖、直方圖、散點圖、折線圖、餅狀圖、柱形圖、箱線圖、頻譜圖和雷達圖等。Matplotlib不僅僅可以繪制2D圖形,也可以繪制3D圖形,還可以繪制動畫。
運用Matplotlib進行數(shù)據(jù)圖形繪制時,一般包括以下內(nèi)容:數(shù)據(jù)區(qū)(數(shù)據(jù)點、數(shù)據(jù)曲線)、坐標(biāo)軸(x軸、y軸、z軸及其標(biāo)簽、刻度)、標(biāo)題、圖例及圖形文本、注解等其他描述[5]。
在Matplotlib庫中,常用的函數(shù)有:axis()、title()、legend()、xlabel()、ylabel()、zlabel()、xlim()、ylim()、zlim()、xticks()、yticks()、zticks()、text()、annotate()、plot()、subplot()、hist()、bar()、grid()、pie()、boxplot()、scatter()和arrange()等[6]。
由于Matplotlib依賴于Numpy模塊,安裝完P(guān)ython后,再安裝第三方庫Numpy,然后再安裝第三方庫Matplotlib??梢栽诰€安裝,也可以先下載安裝包、再安裝。在doc窗口中安裝第三方庫時運用命令pip install--,成功安裝完會顯示Successfully installed--。運用命令pip list可以顯示已安裝了哪些第三方庫及其版本號。
為了提高學(xué)生的整體學(xué)習(xí)水平和成績,現(xiàn)有一組經(jīng)過采集得到的學(xué)生成績和影響因素的數(shù)據(jù)集。而且為了更加清晰地了解學(xué)生成績的最主要影響因素,現(xiàn)在需要對數(shù)據(jù)集進行分析處理,通過可視化找到特征與平均成績的相關(guān)性。
相關(guān)的步驟及代碼如下[7],圖形如圖1所示。
從運行結(jié)果的箱形圖來看,數(shù)據(jù)是非常集中的,說明”reading score”因素對學(xué)生的平均成績和學(xué)習(xí)水平的影響是非常大的,這給學(xué)校教師的教學(xué)和學(xué)生的學(xué)習(xí)提供了準(zhǔn)確的指導(dǎo)方向。如果學(xué)校加強學(xué)生在”reading score”方面的學(xué)習(xí)、引導(dǎo)和監(jiān)督,就會提高學(xué)生的成績,提高學(xué)校的教學(xué)水平和教學(xué)質(zhì)量。
1912年,泰坦尼克號在第一次航行中與冰山相撞沉沒,導(dǎo)致了大部分乘客和船員身亡。在本項目中,將探索部分泰坦尼克號乘客名單,來確定哪些特征可以最好地預(yù)測一個人是否會生還。
從泰坦尼克號的數(shù)據(jù)樣本中,可以看到船上每位旅客的特征。
從以上運行結(jié)果的柱形圖可以明顯看出,不同性別(男性和女性)的乘客、不同年齡的乘客,在此災(zāi)難中,生還率是不同的。20~30歲的乘客的生還率比其他年齡段乘客的生還率高,女性乘客的生還率比男性乘客的生還率高。
IMDB數(shù)據(jù)集是一個對電影評論標(biāo)注為正向評論與負(fù)向評論的數(shù)據(jù)集,共有25 000條文本數(shù)據(jù)作為訓(xùn)練集,25 000條文本數(shù)據(jù)作為測試集。該數(shù)據(jù)集的官方地址為http://ai.stanford.edu/amaas/data/sentiment/。
相關(guān)的步驟及代碼如下[8],圖形如圖4和圖5所示。#[validation]accuracy:0.5147247314453125,loss:0.694599 9264717102
從以上運行結(jié)果的折線圖,利用正向評論和負(fù)向評論的數(shù)據(jù)集,可以清晰地判斷出accuracy和loss的變化情況。
基于Python的數(shù)據(jù)可視化,是目前眾多學(xué)者所追求的一項技術(shù),也是處理數(shù)據(jù)中最受歡迎的一種方法。這種方法所體現(xiàn)的各種各樣的圖形,能夠充分地表達數(shù)據(jù)間的相關(guān)性及其變化趨勢,能夠最大化地被用戶掌握和運用?;赑ython的數(shù)據(jù)可視化,是一項可以繼續(xù)擴展和延伸的技術(shù)。