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