彭煥卜 謝志昆
摘? ?要:隨著數(shù)據(jù)可視化的快速發(fā)展,傳統(tǒng)的數(shù)據(jù)分析技術已經不能滿足如今社會的發(fā)展需求,而Python語言則以其精準、高效、簡明的設計理念在眾多數(shù)據(jù)分析技術中脫穎而出。文章主要基于Python語言中的Numpy、Pandas、Matplotlib、Wordcloud等第三方庫,在Jupyter Notebook(anaconda3)環(huán)境下,分析云南大學2019—2020學年春季學期本科生公共素選課《信息時代的學習技術及應用》的學習者基本數(shù)據(jù),分別對學習者成績、來源、學習能力、討論區(qū)內容等進行可視化分析,從而加強Python數(shù)據(jù)可視化在教育教學中的應用。
關鍵詞:Python語言;學習者數(shù)據(jù);數(shù)據(jù)分析;可視化研究
中圖分類號:G644 文獻標志碼:A 文章編號:1673-8454(2021)15-0060-05
一、引言
隨著人工智能技術的發(fā)展,數(shù)據(jù)分析與可視化技術不斷加快教育信息化建設,但如何合理有效地分析和應用大量的數(shù)據(jù)資源,則成為當前教育教學面臨的最大問題。目前,在教育教學中數(shù)據(jù)分析與可視化主要應用在學生成績統(tǒng)計、校園一卡通數(shù)據(jù)分析、實驗數(shù)據(jù)的統(tǒng)計和分析等方面,但常見的數(shù)據(jù)可視化工具仍存在程序語言復雜、功能及呈現(xiàn)方式單一等問題。而Python語言以其豐富的功能和簡潔的語法則可以實現(xiàn)多種數(shù)據(jù)可視化呈現(xiàn)方式,如散點圖、熱力圖、詞云圖、雷達圖等,為處理教育教學中的數(shù)據(jù)提供了良好的支持。因此,本研究主要使用Python第三方庫Pandas、Matplotlib、Wordcloud等對課程學習者的基本數(shù)據(jù)進行可視化處理,從而使教育教學數(shù)據(jù)得到有效應用。
二、Python語言及數(shù)據(jù)處理
1.Python語言
Python是一門面向對象的程序設計語言,它支持命令式編程、函數(shù)式編程等,擁有大量的成熟擴展庫。[1]目前Python語言已廣泛應用于云計算、Web研發(fā)、人工智能、科學運算等領域,它有著其他語言所無法比擬的優(yōu)秀特性。[2]其在處理數(shù)據(jù)上具備以下優(yōu)勢:①代碼量少,開發(fā)速度快;②有豐富的數(shù)據(jù)處理包,對于正則表達式、html 解析、xml解析等處理起來非常方便;③使用成本低,且不需要額外操作;④語法簡單,學習快、維護成本低;⑤免費開源,且兼容眾多平臺。[3]此外,Python將其全面、強大的數(shù)據(jù)分析能力融入到了數(shù)據(jù)采集、整理、分析、挖掘的全過程,正因如此,才使它逐步成為各行業(yè)做大數(shù)據(jù)分析的首要選擇,尤其是在實現(xiàn)數(shù)據(jù)可視化方面。
2.數(shù)據(jù)處理
(1)數(shù)據(jù)采集
本研究的數(shù)據(jù)源于云南大學2019—2020學年春季學期本科生公共素選課《信息時代的學習技術及應用》的學習者基本數(shù)據(jù)。該課程主要采用PBL教學法進行線上教學,設置了3次小組研究性學習匯報、5次線上討論、7次單元作業(yè)等學習任務,且將48名學習者通過異質分組平均分到8個項目學習小組。本研究采集了48名學習者的基本信息、7次單元作業(yè)的成績以及本研究所需的3次線上討論內容,用Excel和Word導出數(shù)據(jù),并對部分信息進行隱藏、刪除、替換等處理。其樣本數(shù)據(jù)字段含義解讀如表1所示。
(2)數(shù)據(jù)預處理
數(shù)據(jù)預處理是指在主要的處理之前對初始數(shù)據(jù)中存在的缺失、重復、不一致等一系列問題進行的處理,一般要經過數(shù)據(jù)清理、數(shù)據(jù)集成、數(shù)據(jù)規(guī)約及數(shù)據(jù)變換等操作。[4]本研究的IDE是IPython的Jupyter Notebook(anaconda3),運用Pandas處理結構化數(shù)據(jù)、Matplotlib繪制數(shù)據(jù)圖表、Jieba處理非結構化數(shù)據(jù)、Wordcloud生成詞云。由于數(shù)據(jù)已經通過Excel和Word進行過簡單處理,所以不存在重復、不一致問題,部分數(shù)據(jù)缺失也是因為后續(xù)數(shù)據(jù)處理需要。因此,預處理階段主完成的任務及程序步驟如下。
①讀取excel“student score.xls”信息
import numpy as np
import pandas as pd
studentscore=pd.read_excel("student score.xls")
studentscore . info()
studentscore
②引入第三方庫及可視化基本設置
import jieba? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?#導入第三方庫
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from wordcloud import WordCloud
%matplotlib inline? ? ? ? ? ? ? ? ? ? ? #在notebook中顯示繪圖結果
plt.rcParams['font.sans-serif'] = ['SimHei']? ? ? ?#中文亂碼的處理
plt.rcParams['axes.unicode_minus'] = False
plt.style.use('ggplot')? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #設置繪圖風格
import matplotlib? ? ? ? ? ? ? ? ? ? ? ? ? #設置一些全局的資源參數(shù)
matplotlib.rc('figure', figsize = (20, 10))? ? ? ? ? #設置圖片尺寸
matplotlib.rc('font', size = 15)? ? ? ? ? ? ? ? ? ? ?#設置字體大小
三、學習者學習成績可視化分析
1.學習者總成績分析
在總成績分析中,以X軸代表總成績;Y軸代表學號,運用“my_y_tick=np.arange(100,150,6)”,以每6個學號對Y軸分段,每個分段代表一個項目小組。最后使用圖形庫中的plt.scatter函數(shù),繪制學習者總成績分布的散點圖,如圖1所示。
散點圖用于表示X、Y軸坐標間數(shù)據(jù)的變化關系, 借助可視化分析工具,數(shù)據(jù)的變化關系可以被可視化地分析并展示出來。[5]學習者總成績分析是指,繪制學號和總分兩個變量間關系的散點圖來反映課程學習者的學習狀況。從X軸可知,學習者總成績大多集中在475~650分,說明多數(shù)學習者整體學習狀態(tài)良好;總成績小于400分的學習者共有3名,查看作業(yè)完成情況發(fā)現(xiàn),這3位學習者均有3次及其以上未提交作業(yè),由此說明學習者總成績與學習者的學習態(tài)度成正比。另外,從散點圖的Y軸以及3次小組匯報的情況發(fā)現(xiàn),3位不及格學習者所在的小組,在研究性學習過程中進度稍慢于其他小組,由此可見組內成員的進度會影響小組整體進度。因此,學習者需要增強團隊協(xié)作意識。
2.單元平均成績分析
單元平均成績可以反映學習者每單元的學習掌握情況,而折線圖恰好可以清晰地反映各單元學習情況之間的差異和波動。所以,先采用df.mean函數(shù)求出每個單元的平均成績,再利用圖形庫中的plt.plot函數(shù)繪制出單元平均成績的折線圖,如圖2所示。
從折線整體走勢來看,7個單元的平均成績存在一定波動,但波動較小,其中最高分為87.9,最低分為84.45,說明整體教學效果相對較好。另外,通過對各單元平均成績的比較,第二單元和四單元相對較高,第一單元和第六單元相對較低,而第一單元屬于課程開始的理論知識,學習者處在新課程學習的適應階段。另外,第四單元和第六單元都屬于動手實踐類內容,并且第四單元是基于項目的小組研究性學習成果展示,由此說明基于小組的研究性學習效果較好,而第六單元平均成績較低則是因為部分學習者軟件無法成功安裝、審題不仔細及軟件使用不熟練等。該課程提供線上可反復學習的資料,由上述分析可知,回看資料的學習者較少,因此,學習者自我約束能力有待加強。
3.男女生成績等級分析
男女生成績等級分析是通過幾組數(shù)據(jù)比較,來分析男女生學習者的學習態(tài)度和學習效果,因此,使用df.groupby函數(shù)導出數(shù)據(jù)、Excel表格生成數(shù)據(jù),最后用plt.bar函數(shù)繪制男女生成績等級頻次分組柱狀圖,如圖3所示。
學習者成績等級是將學習者的總成績分別劃分為0~399分、400~474分、475~549分、550~624分、625~700分五個區(qū)間,分別表示不及格、及格、中等、良好和優(yōu)秀五個等級。由分組柱狀圖可以看出,整體成績呈現(xiàn)正態(tài)分布,符合當前的教育教學規(guī)律。從圖3可知,大多數(shù)學習者成績都處在中等、良好和優(yōu)秀這三個等級,其中550~624分的良好等級占到總人數(shù)一半,不及格人數(shù)僅有3人,且為3次及以上未交作業(yè)者。而在優(yōu)秀和良好兩個等級中,女生明顯多于男生;在不及格和及格等級中,男生是女生的2.5倍,且不及格者均為男生。由此說明,女生成績普遍好于男生,但在實際操作方面往往男生優(yōu)于女生。因此要求教師根據(jù)不同學習者的特征因材施教。
四、學習者學習特征可視化分析
1.學習者來源分析
學習者來源分析有助于了解學習者自身優(yōu)勢和知識儲備。而餅狀圖通常用于統(tǒng)計某一范圍內不同樣本數(shù)量或者值在總數(shù)量或總和中的百分比,[6]所以此部分將采用圖像庫中的plt.pie函數(shù)來繪制學習者來源分布餅狀圖,如圖4所示。
由餅狀圖可以看出,共有12個學院的學習者選修該課程,其中信息學院有15人,約占總人數(shù)的三分之一,該課程內容與信息學院學習者自身知識儲備息息相關;占比較多的還有數(shù)學與統(tǒng)計學院、經濟學院,各占了12.5%,對于這兩個學院學習者而言,學習新的技術有助于其專業(yè)發(fā)展;除此之外,還涉及外國語學院、公共管理學院等其他9個學院,這些數(shù)據(jù)足以說明《信息時代的學習技術及應用》這門課程逐漸受到其他學院和專業(yè)學習者的青睞,信息技術也越來越多地融入到我們的學習、生活、工作中,選擇該課程的學習者來源足以體現(xiàn)這一現(xiàn)象,相信之后該課程也會逐漸受到其他專業(yè)學習者的喜歡,就如Python語言越來越受到各行各業(yè)的青睞那樣。
2.學習者能力分析
對本課程7個單元作業(yè)所考察的學習者觀點表述、理論+實踐、小組合作、動手實踐四方面能力90分以上的平均頻次進行統(tǒng)計,以此了解學習者的學習偏向及教學內容的難易程度。通過for語句讀取數(shù)據(jù)、極坐標函數(shù)繪制雷達圖,如圖5所示。
雷達圖是以一點為中心、每個變量為一軸、由內向外發(fā)射狀、能對多變量資料進行綜合分析的圖形。[7]學習者能力分布雷達圖可以幫助教師優(yōu)化教學,推動學習者綜合能力發(fā)展。由單元作業(yè)內容發(fā)現(xiàn),第一、二單元考察觀點表述能力,第三、五單元考察“理論+實踐”能力,第四單元考察小組合作能力,第六、七單元考察動手實踐能力。雷達圖中小組合作能力排第一,觀點表述能力排最后,這是由于該課程采用PBL教學法,且該課程是技術應用類課程。但動手實踐能力僅排第三,這與學習者初學新技術、熟練度不夠有關,“理論+實踐”排第二也能說明在注重學習者實踐能力的同時,沒有忽視理論基礎。綜上所述,在后期的教學過程中應該注重培養(yǎng)學習者的觀點表述和動手實踐能力。
3.討論區(qū)關鍵詞分析
詞云是文本數(shù)據(jù)可視化的常用方式,對文本中出現(xiàn)頻率較高的關鍵詞予以視覺上的突出展現(xiàn)。[8]所以,先提取3次討論區(qū)的文本內容,使用Jieba對文本內容進行分詞和優(yōu)化,再用Wordcloud生成詞云圖,如圖6所示。
選取的3次討論區(qū)內容分別位于課程的前期、中期和后期,并且討論的題目都具有開放性和分享性的特點。由圖6可知,出現(xiàn)頻次較高的有“信息”、“學習”、“搜索”、“知識”等詞,其正向反饋的居多;還有“網(wǎng)絡”、“互聯(lián)網(wǎng)”、“數(shù)據(jù)”、“搜索引擎”等與信息時代相關的詞,由此說明學習者希望掌握或進一步學習更多該課程的知識,學習技術確實給學習者帶去了許多便利;另外,值得注意的是像“需要”、“提供”、“整合”、“資源”、“獲取”等基于表象的詞較多,則從側面反映出學習者學習得還不夠深入。綜上,通過討論區(qū)詞云圖可以了解學習者的知識儲備、學習效果以及學習的興趣點,從而有利于教師及時調整課程、內容進程等,進而實現(xiàn)高效學習。
五、研究結論及建議
1.結合特性,協(xié)同發(fā)展
隨著“個性化學習”的教學理念不斷深入人心,了解、分析學生并引導學生自主學習的需求已成為教育教學的重要課題。[9]通過可視化分析發(fā)現(xiàn),學習者在學習特性、興趣、需求等方面都存在一定差異,所以在教育教學中就要做到因材施教、因需施教。首先,對不同性別學習者進行分析,男性學習者更偏向于學習動手實踐類知識,女性學習者則偏向文字表述類知識,因此就要強調男女搭配成組的重要性,可根據(jù)男女生的特性設置不同的任務,從而在小組合作中相互學習、取長補短。其次,對不同學院學習者進行分析,信息學院學習者占到總人數(shù)的1/3,他們有自身的專業(yè)優(yōu)勢,學習速度相對較快,但像外語學院等學習者就很難適應快節(jié)奏學習,因此要求教師合理把控教學節(jié)奏,注重異質分組,以強帶弱,共同學習。最后,從課程方面來說,該課程為公共素選課,大多數(shù)學習者學習的目的是掌握更多信息時代的技術與方法并應用于實踐,所以在課程內容安排上,要合理分配理論、技術、實踐課程的教學時間?;诖?,該課程后期發(fā)展應該充分尊重學習者及課程特性,不斷完善機制、加強協(xié)作,從而發(fā)展綜合能力。
2.借助技術,多維發(fā)展
在大數(shù)據(jù)時代,為了更好地了解教學、課程、學習者學習等狀況,充分利用技術分析數(shù)據(jù)則是當前教育教學的關鍵。一方面,借助技術提高學習者自主學習能力,通過對作業(yè)成績和討論區(qū)關鍵詞分析發(fā)現(xiàn),學習者很少回看線上資料,討論區(qū)的內容流于表面,任務完成也存在滯后性,所以學習者主動學習能力不足。因此,我們可以借助技術對學習過程進行實時“監(jiān)控”,加大過程性評價的占比,還可以設置一些個性化警告和提醒,從而使學習者多方發(fā)展,如AI智能教學監(jiān)測系統(tǒng)。另一方面,借助技術完善個性化服務,通過分析發(fā)現(xiàn)學習者的學習節(jié)奏、知識儲備等都有所不同,而以往的教學又很難照顧到每一位學習者,因此就可以通過技術對線上的數(shù)據(jù)進行挖掘和處理,如對學習進度、學習結果等的分析,從而為不同的學習者提供個性化定制服務,并且教師還可以根據(jù)實際情況,對學習方案進行調整,進而提高學習者的綜合能力,如本研究就是通過Python語言對學習者成績的簡單可視化??傊?,借助技術,可以更好地進行數(shù)據(jù)挖掘和數(shù)據(jù)分析,更好地為教學和學習提供支持,從而實現(xiàn)多元化、多維度的學習。
六、結語
人工智能時代,利用大數(shù)據(jù)、學習分析等技術分析教育問題是國際研究趨勢,也是教育現(xiàn)代化發(fā)展的重要驅動力。[10]Python語言以操作簡單、容易理解等自身的優(yōu)勢受到各個領域的青睞,而教育領域中也需要運用Python對龐雜的教育數(shù)據(jù)進行深度且精準的分析,從而不斷優(yōu)化教學。本研究主要將數(shù)據(jù)挖掘與分析的思想與《信息時代的學習技術及應用》課程的學習者基本數(shù)據(jù)相結合,通過挖掘數(shù)據(jù)背后的價值,對數(shù)據(jù)進行采集、分組統(tǒng)計、預處理、可視化等操作,從而為該課程教育教學提供一些有利支撐。但目前,研究的數(shù)據(jù)樣本還不充足、技術的使用還不成熟、數(shù)據(jù)挖掘也不夠深入,所以之后仍需要不斷探索、深入鉆研,進而使Python語言與教育教學進行多角度、深層次的融合。
參考文獻:
[1]姜趙,謝曉偉.基于Python的數(shù)據(jù)可視化應用與研究[J].科學技術創(chuàng)新,2020(30):88-89.
[2]朱正國.Python在校園大數(shù)據(jù)中的應用研究[J].商丘師范學院學報,2020,36(6):14-17.
[3]賀路路,阮曉龍.高校學生考試成績的數(shù)據(jù)分析模式與可視化研究[J].計算機時代,2019(9):50-52,56.
[4]韋建國,王建勇.基于Python的Web數(shù)據(jù)挖掘應用[J].浙江水利水電學院學報,2019,31(4):79-82.
[5]陳偉.基于可視化分析技術的大數(shù)據(jù)審計案例研究[J].中國注冊會計師,2019(6):61-64.
[6]劉雨珂,王平.基于Python+Pandas+Matplotlib的學生成績數(shù)據(jù)統(tǒng)計與圖形輸出實現(xiàn)[J].福建電腦,2017,33(11):104-106,142.
[7]余水發(fā),張惠鋒,傅海婷,李子杭,李秀央.基于統(tǒng)計圖表的學生考試成績可視化分析[J].教育教學論壇,2015(8):77-79.
[8]宋永生,黃蓉美,王軍.基于Python的數(shù)據(jù)分析與可視化平臺研究[J].現(xiàn)代信息科技,2019,3(21):7-9.
[9]馮桂爾.數(shù)據(jù)挖掘技術在遠程教育中的應用[J].現(xiàn)代教育技術,2012,22(12):96-98.
[10]曾寧,張寶輝,范逸洲.如何分析慕課論壇中的數(shù)據(jù):六大分析方法述評[J].現(xiàn)代遠距離教育,2019(6):87-96.
(編輯:王天鵬)