游 穎 程 俊
(江西經(jīng)濟管理干部學院,江西 南昌 330088)
教育領域涉及學生信息、課程評估、學習成績等大量的教學數(shù)據(jù)。隨著教學數(shù)據(jù)的日益增長和復雜化,教育工作者和研究人員需要一個統(tǒng)一的數(shù)據(jù)存儲和訪問平臺進行教學數(shù)據(jù)的管理[1]。Python語言作為一種強大的編程語言,在各個領域均有卓越的表現(xiàn),其簡潔易讀的語法風格使代碼具有高可讀性,而豐富的庫和框架則提供了廣泛的功能支持[2]。Python 的跨平臺性使開發(fā)人員能夠輕松地在不同的操作系統(tǒng)上開發(fā)和部署應用程序。此外,Python還擁有龐大的開發(fā)者社區(qū),提供了豐富的資源和支持,使開發(fā)人員能夠更快地上手操作并解決問題[3-4]。綜合而言,Python語言因其簡潔性、高效性、可擴展性等優(yōu)勢,已成為廣大開發(fā)者的首選語言,應用于各種領域的軟件開發(fā)和數(shù)據(jù)處理任務。該文設計了基于Python語言的教學數(shù)據(jù)處理平臺,旨在應用該平臺滿足教育領域?qū)Ω咝?、靈活和定制化數(shù)據(jù)處理工具的需求,推動教學質(zhì)量的提升和教育改革的推進。
基于Python語言的教學數(shù)據(jù)處理平臺用于處理和分析教學數(shù)據(jù),可提供數(shù)據(jù)驅(qū)動的教育決策支持和教學優(yōu)化,該平臺的總框架設計如圖1所示。
圖1 基于Python語言的教學數(shù)據(jù)處理平臺總框架設計
教學數(shù)據(jù)處理平臺的硬件設計包括服務器或云計算資源,用于存儲和處理大量的教育數(shù)據(jù),硬件的具體配置和規(guī)模取決于平臺的使用需求和數(shù)據(jù)量大小。教學數(shù)據(jù)處理平臺的軟件設計包括Python 編程語言及其相關庫和框架,如Pandas、NumPy、SciPy、Matplotlib、Scikit-learn 和TensorFlow。用于數(shù)據(jù)處理、分析、可視化和機器學習等任務,支持平臺的核心功能和功能模塊的實現(xiàn)[5]。此外,平臺還包括數(shù)據(jù)庫管理系統(tǒng)、Web 開發(fā)框架和用戶界面設計工具,可實現(xiàn)數(shù)據(jù)存儲、功能的交互性和用戶友好性。
進行基于Python語言的教學數(shù)據(jù)處理平臺的硬件設計時,服務器選擇Dell PowerEdge R740,支持英特爾至強處理器,支持多通道DDR4 內(nèi)存,最高容量為3TB。提供多個PCIe 插槽,用于擴展和增強服務器的功能,例如添加額外的網(wǎng)絡適配器、存儲控制器等。配備iDRAC 遠程管理功能,以實現(xiàn)遠程監(jiān)控、故障排除和管理服務器的能力,兼容多種操作系統(tǒng),包括Windows Server、Linux 等。該服務器具有強大的計算性能和可靠性,用于承載教學數(shù)據(jù)處理平臺的核心功能和數(shù)據(jù)存儲。在存儲設備方面,系統(tǒng)使用Dell EMC Unity 650F,用于提供高容量和高性能的存儲解決方案,并存儲和管理教學數(shù)據(jù),確保數(shù)據(jù)的可靠性和快速訪問。網(wǎng)絡設備選擇Cisco Catalyst 9000 系列交換機,以便為系統(tǒng)提供高速和可靠的網(wǎng)絡連接,確保平臺運行的穩(wěn)定性和數(shù)據(jù)傳輸?shù)目焖傩浴?/p>
在基于Python語言的教學數(shù)據(jù)處理平臺中,開展數(shù)據(jù)收集首先需要確定收集教學數(shù)據(jù)的來源,其中包括學生學習管理系統(tǒng)、在線學習平臺和學校管理系統(tǒng)等。平臺的數(shù)據(jù)收集模塊要主動與相關部門或機構建立合作,獲得訪問相關數(shù)據(jù)源的權限和API 密鑰。API 密鑰是用于身份驗證和授權訪問數(shù)據(jù)源的唯一標識符,具體的API 密鑰獲取與使用流程如圖2所示。1)注冊賬戶:訪問相關部門或機構的開發(fā)者門戶網(wǎng)站或API 提供商的官方網(wǎng)站,注冊一個賬戶。2)創(chuàng)建應用程序:在開發(fā)者門戶網(wǎng)站或API 提供商的控制臺中創(chuàng)建一個新的應用程序或項目,涉及為應用程序提供名稱、描述等信息。3)選擇API 服務:從可用的API 服務中選擇適合個人需求的服務,其中包括學生學習管理系統(tǒng)的API、在線學習平臺的API 等。4)生成API 密鑰:在應用程序或項目的設置中生成一個API 密鑰,該密鑰將作為訪問和驗證身份的唯一標識符。5)訪問權限設置:根據(jù)需要設置API 密鑰的訪問權限和范圍,選擇特定的API 端點、數(shù)據(jù)訪問權限等。當符合范圍時,進行下一步,如果不符合范圍,則需要重新選擇API 服務。6)遵守規(guī)定和限制:了解并遵守相關部門或機構的API 使用規(guī)定和限制,其中包括每日請求限制、數(shù)據(jù)保護措施等。7)使用API 密鑰:在數(shù)據(jù)收集模塊或應用程序中使用生成的API 密鑰進行身份驗證,在API請求中添加特定的參數(shù),以便將API 密鑰傳遞給API 服務提供商。
圖2 API 密鑰獲取使用流程
密鑰建立成功后,使用Python 的網(wǎng)絡請求庫requests與數(shù)據(jù)源API 進行交互,或者使用Python 的BeautifulSoup網(wǎng)頁解析庫從網(wǎng)頁中提取數(shù)據(jù)。通過認證或授權方式訪問受保護的數(shù)據(jù)源,系統(tǒng)用OAuth 協(xié)議進行身份驗證,最后使用API 文檔收集和獲取數(shù)據(jù)源提供的數(shù)據(jù),完成數(shù)據(jù)收集。
數(shù)據(jù)質(zhì)量是指數(shù)據(jù)的準確性、完整性、一致性、唯一性和及時性等方面的特征。在數(shù)據(jù)分析中,數(shù)據(jù)質(zhì)量至關重要,因為分析的結(jié)果和決策均依賴于數(shù)據(jù)的質(zhì)量。在設計中需要重點關注數(shù)據(jù)準確性與完整性。數(shù)據(jù)應能準確地反映所代表的事實,不應該包括任何錯誤。并驗證數(shù)據(jù)的來源和采集過程,確保數(shù)據(jù)采集的方法和工具可靠。數(shù)據(jù)完整性是指數(shù)據(jù)的完整程度,即數(shù)據(jù)是否包括所有必要的字段和記錄,檢查是否有缺失值,以確保數(shù)據(jù)記錄都是完整的,不缺少重要信息。
數(shù)據(jù)應按照統(tǒng)一的格式存儲,方便處理和分析。確保數(shù)據(jù)類型正確,比如數(shù)值字段應該是數(shù)值類型,日期字段應該是日期類型等。在進行數(shù)據(jù)分析前,對數(shù)據(jù)進行清洗,處理缺失值、異常值和不一致的數(shù)據(jù)。使用合適的方法填充缺失值或處理異常值,避免對分析結(jié)果產(chǎn)生負面影響。
基于Python語言的教學數(shù)據(jù)處理平臺使用Python 的Pandas 庫進行數(shù)據(jù)導入、數(shù)據(jù)清洗并計算數(shù)據(jù)的描述統(tǒng)計信息。使用Pandas 庫中的函數(shù)讀取CSV 文件,或使用適合的函數(shù)讀取其他格式的數(shù)據(jù)文件。這些函數(shù)將數(shù)據(jù)加載到Pandas 的DataFrame 數(shù)據(jù)結(jié)構中,方便后續(xù)的數(shù)據(jù)處理和分析。完成數(shù)據(jù)導入后進行數(shù)據(jù)清洗,并計算描述統(tǒng)計信息,數(shù)據(jù)清洗及計算的具體過程如圖3所示。
圖3 數(shù)據(jù)清洗及統(tǒng)計信息計算
在數(shù)據(jù)清洗過程中,處理缺失值時使用Pandas 的“dropna()”函數(shù)刪除包括缺失值的行或列,或使用“fillna()”函數(shù)填充缺失值為指定的數(shù)值或方法,以此來確保數(shù)據(jù)的完整性和一致性。處理重復值時使用Pandas 的“drop_duplicates()”函數(shù)刪除數(shù)據(jù)中重復的行,以確保數(shù)據(jù)的唯一性和準確性。處理異常值時需要根據(jù)數(shù)據(jù)的特點和實際需求進行,使用條件語句或其他方法來檢測和處理異常值,以確保數(shù)據(jù)的可靠性和準確性。
描述統(tǒng)計信息計算中包括多項內(nèi)容:1)使用Pandas的“mean()”函數(shù)計算數(shù)據(jù)的平均值,即各個數(shù)據(jù)值的總和除以數(shù)據(jù)個數(shù)。2)使用Pandas 的“median()”函數(shù)計算數(shù)據(jù)的中位數(shù),即將數(shù)據(jù)按照大小排序后,位于中間位置的數(shù)值。3)使用Pandas 的“std()”函數(shù)計算數(shù)據(jù)的標準差,即衡量數(shù)據(jù)分散程度的一種統(tǒng)計指標。4)使用Pandas 的“max()”和“min()”函數(shù)分別計算數(shù)據(jù)的最大值和最小值,用于了解數(shù)據(jù)的取值范圍。5)使用Pandas 的“describe()”函數(shù)一次性計算數(shù)據(jù)的多個描述統(tǒng)計信息,如計數(shù)、四分位數(shù)等,該函數(shù)會向系統(tǒng)返回一個包括統(tǒng)計信息的匯總表。
數(shù)據(jù)分析和建模是基于Python語言的教學數(shù)據(jù)處理平臺中處理數(shù)據(jù)的重要環(huán)節(jié)。該平臺使用Python 的SciPy 統(tǒng)計庫進行數(shù)據(jù)分析,對統(tǒng)計得到的教學數(shù)據(jù)進行假設檢驗及相關性分析。假設檢驗中需要對獨立樣本t進行檢驗(t-test),以此比較2 組獨立樣本的均值是否存在顯著差異,具體的t值的計算如公式(1)所示。
通過對2 組學生樣本的成績數(shù)據(jù)進行假設檢驗,可以判斷教學方法或策略是否能夠?qū)W生成績產(chǎn)生顯著影響。完成檢驗后使用皮爾遜相關系數(shù)(Pearson correlation coefficient)衡量2 個變量之間的線性相關性,如公式(2)所示。
通過計算學生的學習成績與其他變量(如學習時間、學習資源使用情況和參與度等)之間的皮爾遜相關系數(shù),可以了解這些因素與學生成績之間的相關性,幫助分析哪些因素對學生成績有較強的影響。
根據(jù)計算得到的皮爾遜相關系數(shù)的值,解釋變量之間的相關性強度。如果相關系數(shù)接近于1,表示變量之間存在強正相關;如果系數(shù)接近于-1,表示變量之間存在強負相關;如果系數(shù)接近于0,表示變量之間沒有線性相關性。使用Python 的Matplotlib 可視化庫對數(shù)據(jù)進行可視化,繪制直方圖、折線圖和散點圖等,以便更直觀地理解數(shù)據(jù)分布和趨勢。
為測試基于Python語言的教學數(shù)據(jù)處理平臺的性能,試驗使用Dell PowerEdge R740 服務器,配置為2 x Intel Xeon Silver 4110 處理器、64GB 內(nèi)存、2TB 硬盤。選擇Cisco ISR 4321 路由器和Cisco Catalyst 2960 交換機搭建局域網(wǎng)環(huán)境。客戶端設備至少需要2 臺筆記本電腦或臺式機,用于連接平臺進行測試。服務器上安裝Ubuntu Server 20.04 LTS。安裝Python 3.8 及以上版本,并配置所需的Python 庫和依賴項。安裝PostgreSQL 為數(shù)據(jù)庫管理系統(tǒng),用于數(shù)據(jù)存儲和管理。準備一組模擬的教學數(shù)據(jù),包括學生信息、課程信息以及成績記錄等,使用隨機生成數(shù)據(jù)的方式來模擬真實的教學數(shù)據(jù)。
試驗選擇了5 個不同的運行時間節(jié)點(T1~T5),并提供了相應的數(shù)據(jù)指標。響應速度以毫秒(ms)為單位,表示平臺對用戶請求的響應時間;處理能力以數(shù)據(jù)量(條/s)為單位,表示平臺的數(shù)據(jù)處理能力;傳輸速率以兆比特每秒(Mbit/s)為單位,表示數(shù)據(jù)傳輸?shù)乃俾剩磺逑茨芰σ园俜直龋?)為單位,表示平臺對數(shù)據(jù)進行清洗和預處理的質(zhì)量?;赑ython語言的教學數(shù)據(jù)處理平臺在不同運行時間節(jié)點下的數(shù)據(jù)處理結(jié)果對比情況見表1。
表1 測試試驗結(jié)果
分析測試試驗結(jié)果,可以看出平臺在不同運行時間節(jié)點下的響應速度相對較快,平均為7ms~8ms,能夠快速響應用戶的請求,提供高效的服務。平臺在各個運行時間節(jié)點下的處理能力均相當穩(wěn)定,平均約為1000 條/s,具備處理大量數(shù)據(jù)的能力,可以高效地進行數(shù)據(jù)處理和分析操作。平臺在不同運行時間節(jié)點下的傳輸速率較穩(wěn)定,平均約為296Mbit/s~301Mbit/s,具備快速的數(shù)據(jù)傳輸能力,可以高效地傳輸大量數(shù)據(jù)。平臺清洗能力表現(xiàn)出色,平均為97.9%~99.0%,能夠有效地清洗和預處理數(shù)據(jù),提供高質(zhì)量的數(shù)據(jù)分析和建模基礎。
綜上所述,基于Python語言的教學數(shù)據(jù)處理平臺可以更全面地處理和分析教育領域的數(shù)據(jù)。該平臺通過結(jié)合Python語言及機器學習庫,可為用戶提供更強大的工具及功能,使用戶能夠更輕松地處理和分析教學數(shù)據(jù),從而獲得更深入的洞見、更有價值的結(jié)論。通過該平臺,教育工作者和研究人員能夠更好地理解學生的學習趨勢和教學效果,并采取相應的措施來提高教學質(zhì)量。今后應對平臺進行進一步的完善和拓展,以滿足不斷變化的教育數(shù)據(jù)處理需求,為教育領域的數(shù)據(jù)分析提供更多的支持和幫助。