?

基于Python的大數據分析與可視化“理實一體”教學模式的探索與實踐

2022-02-07 23:20劉穎
計算機應用文摘·觸控 2022年1期
關鍵詞:理實一體大數據分析探索與實踐

關鍵詞:Python;大數據分析;可視化;理實一體;教學模式;探索與實踐

中圖法分類號:G642 文獻標識碼:A

隨著大數據時代的到來,了解大數據分析與可視化技術成為時代發展的需要。無論是說明事特屬性、展示數據規律、闡述規律原理,還是論述觀點、支持決策、預測分析,都離不開大數據分析。大數據是基于數學和運算的科學表達,這需要科學計算、需要數據分析的支持。因此,“大數據分析與可視化”課程成為了新工科背景下,學生不可或缺的知識架構。

目前,傳統“(理論課)黑板+粉筆+多媒體+(實驗課)實踐”教學模式,無法滿足教學需求。

1“理實一體”教學模式探索

Python語言因為簡單、易學、免費開源等優勢,連續四次獲得“年度編程語言”稱號,受歡迎程度達到歷史新高。其擁有超九萬個的三方庫,涵蓋數據分析與挖掘、人工智能與機器學習、網絡爬蟲等計算機領域。

大數據分析與計算利用計算機進行數值計算,它是科學家通過運算掌握自然規律所采用的方法,更是普通人提升專業化程度的必要手段。開展基本的科學計算需要兩個步驟:組織數據和展示數據。組織數據是運算的基礎,是數據分析的基礎,也是將客觀世界數字化的必要手段;展示數據是體現運算結果的重要方式,也是展示結論的有力武器。而Python語言為開展人人都能使用數據計算與展示提供了有力的支持。

因此,選用“基于Python的大數據分析與可視化”教學是目前較為領先和業界公認的最為合適的選擇。其中,Python的三個數據分析工具Numpy、Pandas、Matplotlib是在數據分析與可視化方面最具其代表性的三方庫。

由于到該門課程的實踐性很強,傳統教學模式已不再符合課程要求。而在教學模式的探索中,我們發現實施“理實一體”教學模式則可解決這個問題。

“理實一體”教學模式即理論實踐一體化的教學模式。其突破了以往理論與實踐相脫節的現象,教學環節相對集中。它強調充分發揮教師的主導作用,通過設定教學任務和教學目標,讓師生雙方邊教、邊學、邊做,全程構建素質和技能培養框架,豐富課堂教學和實踐教學環節,提高教學質量[2]??梢哉f,“理實一體”是一種充分調動和激發學生學習興趣的教學模式。

1.1教學環境的搭建及教學資源

1.1.1教學環境的搭建

該門課程的教學需在機房進行,并安裝“Python+解釋器+三方庫”,搭建運行環境。

Python的安裝建議選擇64位Python3最新版本;解釋器選擇Pycharm最新英文原版,建議不要漢化;同時,使用pip命令安裝三個外置三方庫——數據分析基礎工具numpy、處理結構化數據工具Panda、Matplotlib實現交互式圖表繪制。

1.1.2 教學資源

由于學生機安裝有不同的操作系統,而Python的版本和運行環境也有很多選擇。因此,我們已將錄制好的搭建Python運行環境的視頻上傳至學習通在線平臺,供學生課前參考。同時,在教學的過程中,我們同步上傳了教學講解視頻和PPT,供學生課前預習和課后復習;學習中需用到的data,即案例中用到的.csv、.xls文件及圖片資源均可以在學習通線平臺下載使用。

1.2教學內容的選擇與組織

1.2.1教學內容的選擇

本課程目前面向理工科類學生開設,其教學內容包括:了解三種常見數據形態——ndarry、Series、DataFrame。掌握三種數據的獲取、處理等方法,能完成將處理后的數據用圖形展示等操作。

圍繞以上教學內容,我們采用“理實一體”教學模式,選用案例教學法,將教學內容劃分成六個模塊。其中,課前導讀與結題文檔兩個模塊分別在開課前和結課后進行,不占用課堂教學時間。其余四個模塊中的每個教學內容均包括“理論講解+案例演示+操作實踐+課堂小測”四個教學環節,具體內容劃分如表1所列。

整個課程的教學內容遵循科學計算兩步驟,即包括對數據的分析與組織和展示數據兩部分。先學習Numpy的矩陣,包括矩陣的創建、運算、讀取、運算等;再學習Pandas的Series、DataFramer,包括Series、DataFramer的創建、選擇、運算、排序、分組、文件的讀寫等;接下來學習用Matplotlib進行數據展示;最后通過綜合案例掌握數據處理方法和圖形展示技巧等,并形成實驗報告。

1.2.2教學內容的組織

以上六個模塊既相對獨立,又相互關聯。每個教學內容均由“理論講解+案例演示+操作實踐+課堂小測”四個教學環節構成。每個教學內容的知識點不同,但每個知識點環環相扣,層層遞進。

首先,對本堂課所涉及的教學內容和知識點進行講解和概括,讓學生建立本次教學內容的知識輪廓;接著,將教學內容中的各知識點穿插在案例中。一邊演示一邊講解,讓學生去體會、領悟。每個知識點的“案例演示”結束后,即進入“操作實踐”環節。接下來進入下一個知識點,實現“案例演示+操作實踐”環節的循環進行。隨著環環相扣的知識點在案例中演示與講解,并在操作實踐環節讓師生無縫交互與問答,讓學生享受這樣的教學過程。最后,通過課堂小測環節,對這堂課的教學內容進行鞏固、復習。

同時,在課堂中選用的案例和數據應與生活、工作、學習息息相關,比如某餐廳的消費數據、部分運動品牌的各類產品銷售數據、共享單車的租賃數據等。通過對這些數據進行分析、提取和展示,得出結果,最終為決策提供幫助。從而讓學生體會到學與用不能脫節,用興趣引導學生愛上課堂,變被動學習為主動學習[3]。將知識融會貫通,體會到運用知識解決實際問題的樂趣。

1.3教學過程的設計

教學過程的設計遵循從簡單到復雜、層層遞進、環環相扣的原則。本文以教學內容“柱狀圖”說明“理實一體”教學模式在教學中的應用。

1.3.1理論講解

柱狀圖又稱長條圖或柱狀統計圖,通過三方庫matplotlib.pyplot的bar函數實現,其中函數的基本語法為bar(x,y)。除了基本柱狀圖外,我們還會學習到疊加柱狀圖、半層疊柱狀圖、平行柱狀圖用法,并會同步學習bar函數其它各參數用法以及在figure中legend函數的用法[4]。

1.3.2 基本柱狀圖

①案例演示選擇tips.csv表,即將某餐廳的消費數據導入cs=pd.read_csv(“……/tips.csv”),并讓學生觀察,表中數據為DataFrame,column信息如圖1所示。

簡單柱狀圖只需通過一次分類、簡單運算就可獲得想要數據。案例1如圖2所示,展示不同gender與bill的關聯性:

此例需用到gender、bill兩列數據,只需對gender列按female和male分類后對tip運算,不需對數據進行多次處理和復雜運算。接下來,介紹兩種方法實現數據的獲取。

方法1:在原表中按條件運算獲取數據

femalemean=cs[cs['gender']=='Female']['tip'].mean()

malemean=cs[cs['gender']=='Male']['tip'].mean()

此方法是在原表中按不同gender求平均值運算,運算結果為兩個數據,分別存入femalemean和malemean中。依圖2所示將對應參數放入函數相應位置后可得:

plt.bar(['female','male'],[femalemean,malemean],width=0.5,color='green',edgecolor="red",alpha=0.4)

其中函數中x坐標為'female'和'male',y坐標為femalemean和malemean的值,放入兩個必選參數后,還有width、color等可選參數供設置。在此過程中,引入bar函數參數的格式、用法。注意區分必選參數和可選參數。

方法2:采用分組與運算同步進行

gendermean=cs.groupby(by='gender')['tip'].mean()此方法可得到一個Series,通過對Series的index和values值的獲取作為bar的x,y參數。

plt.bar(gendermean.index,gendermean.values,width=0.5,color='green',edgecolor="red",alpha=0.4)

所得圖形展示結果與方法1一致。

接下來啟動Pycharm運行環境,體會每一個函數的用法,每一條語句的作用,并查看運行結果,如圖3所示。

②操作實踐

用上述兩種方法,展示就餐日期(day)與消費金額(total_bill)的關聯性柱狀圖。并修改bar函數各參數,查看運行結果有什么不同。

此環節實現理論與實踐的無縫銜接。

1.3.3疊加柱狀圖與兩次分類

①疊加柱狀圖

在知識點1的基礎上,案例2如圖5所示,要求用疊加柱狀圖展示gender與bill關聯性:

并在案例的講解與演示中,引入bar函數里bottom和label參數的使用方法。

②兩次分類

案例3難度有所提高,數據的獲取需要進行兩次及以上分類處理。用疊加柱狀圖展示不同day和不同gender的total_bill消費總額。如圖6所示:

據題意可知本案例需用到'total_bill','gender','day'三列數據并進行兩次分類,才可得到所需數據。

由于total_bill屬于數字列,sum函數會自動對數字列進行運算,故可得:

df=df[['total_bill','gender','day']]

tmp=df.groupby(['day','gender']).sum()

將兩次分類后計算所得數據作為bar的x,y值,生成經過兩次分類的疊加柱狀圖。同時,通過本案例將引入legend函數的用法。

通過數據展示結果可看出,周末餐廳的消費額更高,而周一到周五有市場潛力可挖掘——在非節假日或非周末時間通過開展一些促銷活動提升客流量。

③操作實踐

實踐2要求讀取titanic.csv中的數據,用疊加柱狀圖展示不同who的alive人數,并能對展示結果作分析。提示:本案例除需進行兩次分類運算外,同時需要通過增加數據列來解決問題,請同學們思考并在實踐中解決。

1.3.4 半重疊柱狀圖

案例4不但需進行兩次分類獲取數據,同時圖形將把數據以半重疊柱狀圖展示出來,如圖7所示。

在此案例中,會談到如何在柱狀圖上方顯示數值文本,引入forxinzip語句、matplolib.pyplot中text函數的使用方法,以及在生成半重疊柱狀圖時align參數的使用方法。

接著學生完成實踐3,讀取penguins.csv文件數據,用半重疊柱狀圖展示不同species,不同sex的body_mass_g的平均數,熟悉半重疊柱狀圖的用法。

1.3.5平行柱狀圖

案例5用兩次分類獲取數據,并將數據以平行柱狀圖展示。如圖8所示。此案例不但要求學生學會在平行柱狀圖中展示x參數與width參數的用法及關系,同時學習xticks函數的用法。

如圖8所示,該案例會綜合運用title、xlabel、ylabel、legend、show等相關函數。

參照案例5,實踐4要求讀取exercise.csv文件,用平行柱狀圖展示不同diet,不同kind的pulse的中位數值。

如上述流程可知,在“案例演示+操作實踐”環節的循環過程中,每一個精心設計的案例采用進階方式讓學生逐步掌握新的知識點,在操作實踐環節即時對知識點進行理解、鞏固、解惑,同時還能對前面所學知識點進行復習,比如三方庫的導入、文件的讀取、各類運算函數的使用等。

1.3.6課堂小測

在完成所有“理論講解+案例展示+操作實踐”后,進入最后一個環節——通過在線平臺完成本章課堂小測,并提交實踐環節的所有.py文件。這個環節有助于老師了解、檢查學生當堂課學習狀況,以便下次課前對易錯的重難點問題進行點評和答疑。

如上所示,每堂課的知識點由淺入深、層層遞進、環環相扣,而每個知識點的“案例展示+操作實踐”環節緊密銜接。案例設計既有趣味性,又具實用性,讓學生在這樣的氛圍下緊跟課堂節奏,主動學習,并給學生思考及解決問題的空間和時間,變被動學習為主動學習。

1.4教學實效

本課程以開放實驗項目形式進行試點,參與學生共計29人,分為3個小組。除完成94個知識點的實踐作業外,還分組完成了3個綜合實踐。從提交的實驗報告可以看出,學生掌握了Python計算生態;掌握了大數據分析與可視化的常用操作。大多數學生表示,“理實一體”教學模式改變了理論與實踐脫節現象,實踐環節讓學生從獲取數據,到數據分析,再到看到展示出的圖形,整個過程能獲得喜悅感。這也說明該課程采用“理實一體”教學模式是成功的。

2結語

本文對“基于Python的大數據分析與可視化”課程進行了教學探索與實踐,采用“理實一體”的教學模式,通過“理論講解+案例演示+操作實踐+課堂小測”的教學環節,說明該模式的基本教學程序包含設定教學目標、教師示范性操作與講解、學生實踐操作(理論指導實踐,實踐檢驗理論)、學習效考核與評價這四個環節,實現了“教、學、做、考”四位一體。

作者簡介:

劉穎(1978—),碩士,副教授,CCF會員,研究方向:大數據分析、圖像處理。

猜你喜歡
理實一體大數據分析探索與實踐
面向大數據遠程開放實驗平臺構建研究
面向大數據分析的信息管理實踐教學體系構建
傳媒變局中的人口電視欄目困境與創新
Javascript課程“理實一體”教學設計的探討
軍隊院校任職教育新裝備理實一體化教學的認識與實踐
淺談素質教育在小學數學教學中的實施
增強現實技術在職業教育中的應用
項目管理模式在職業技能培訓管理中的探索與實踐
將數學建模思想融入土建類專業實踐教學中的探索與實踐
高中地理探究式學習的探索與實踐芻議*
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合