国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Python的高職院校學(xué)習(xí)平臺數(shù)據(jù)挖掘研究

2018-12-22 10:55宋永生
電腦知識與技術(shù) 2018年33期
關(guān)鍵詞:學(xué)習(xí)平臺數(shù)據(jù)挖掘

宋永生

摘要:高職院校學(xué)習(xí)平臺積累了大量的數(shù)據(jù),而這些數(shù)據(jù)沒有得到充分有效的利用。Python簡潔易用,深受人們喜愛,積累了大量可用于數(shù)據(jù)挖掘的程序庫。利用開源機(jī)器學(xué)習(xí)庫Scikit-Learn及開源深度學(xué)習(xí)庫Keras分別對學(xué)習(xí)平臺中的結(jié)構(gòu)化數(shù)據(jù)和非結(jié)構(gòu)化數(shù)據(jù)進(jìn)行挖掘分析,挖掘結(jié)果可用于教師改進(jìn)教學(xué)及學(xué)生改進(jìn)學(xué)習(xí)。

關(guān)鍵詞:學(xué)習(xí)平臺;Python;數(shù)據(jù)挖掘;Scikit-Learn;Keras

中圖分類號:TP311 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2018)33-0015-03

Abstract: The learning platform in higher vocational colleges has accumulated a large amount of data, which has not been fully and effectively utilized. Python is simple and easy to use. It is loved by many people and has accumulated a lot of program libraries that can be used for data mining. The open source machine learning library Scikit-Learn and open source deep learning library Keras are used to mine and analyze the structured and unstructured data in the learning platform respectively. The data mining results can be used for teachers to improve teaching and students to improve their learning.

Key words: Learning platform; Python; Data mining; Scikit-Learn; Keras

近年來國內(nèi)很多高職院校上線了在線學(xué)習(xí)平臺,為高職院校教師的教學(xué)及學(xué)生的學(xué)習(xí)提供了便利,在線學(xué)習(xí)平臺由此積累了大量的數(shù)據(jù)。在數(shù)據(jù)價(jià)值日益凸顯的今天,高職院校在線學(xué)習(xí)平臺積累的數(shù)據(jù)并沒有得到充分有效的利用。原因主要有以下三個(gè)方面:首先,很多高職院校的學(xué)習(xí)平臺是由軟件公司開發(fā),教師對學(xué)習(xí)平臺的庫結(jié)構(gòu)不清楚,數(shù)據(jù)挖掘便無從談起;其次,現(xiàn)有學(xué)習(xí)平臺的設(shè)計(jì)存在缺陷,沒有考慮到后續(xù)的數(shù)據(jù)挖掘,一些關(guān)鍵字段沒有存儲,從而造成積累的數(shù)據(jù)無法進(jìn)行數(shù)據(jù)挖掘或數(shù)據(jù)挖掘效果欠佳;再次,很多高職院校缺乏進(jìn)行數(shù)據(jù)挖掘的軟件及硬件平臺。

數(shù)據(jù)挖掘是從海量數(shù)據(jù)中抽取前所未知可理解可操作信息的過程,機(jī)器學(xué)習(xí)是常用的數(shù)據(jù)挖掘手段。Python 是一種面向?qū)ο蟮慕忉屝统绦蛟O(shè)計(jì)語言,由于 Python 簡潔易用,可跨平臺運(yùn)行,深受人們喜愛,積累了豐富的開源程序庫。機(jī)器學(xué)習(xí)是計(jì)算機(jī)程序針對某個(gè)特定的任務(wù),從經(jīng)驗(yàn)中學(xué)習(xí)且越做越好[1],機(jī)器學(xué)習(xí)的應(yīng)用非常廣泛。深度學(xué)習(xí)是機(jī)器學(xué)習(xí)的一個(gè)分支,近年來大放異彩,這主要得益于硬件的發(fā)展、互聯(lián)網(wǎng)產(chǎn)生的大量數(shù)據(jù)及算法的改進(jìn),深度學(xué)習(xí)在視覺識別、語音識別及自然語言處理等方面都有廣泛的運(yùn)用。

本文將Python中的機(jī)器學(xué)習(xí)庫Scikit-Learn及深度學(xué)習(xí)庫Keras分別應(yīng)用到高職院校學(xué)習(xí)平臺的結(jié)構(gòu)化數(shù)據(jù)及非結(jié)構(gòu)化數(shù)據(jù)的挖掘研究中去。在數(shù)據(jù)挖掘之前,首先要對學(xué)習(xí)平臺的數(shù)據(jù)要有充分的了解。

1 學(xué)習(xí)平臺的數(shù)據(jù)

學(xué)習(xí)平臺的數(shù)據(jù)主要分為存儲于數(shù)據(jù)庫中的結(jié)構(gòu)化數(shù)據(jù)及存儲于文件系統(tǒng)中的非結(jié)構(gòu)化數(shù)據(jù)。學(xué)習(xí)平臺的數(shù)據(jù)總覽如圖1所示。

1.1 結(jié)構(gòu)化數(shù)據(jù)

學(xué)習(xí)平臺數(shù)據(jù)庫中主要有課程信息表、知識點(diǎn)信息表、題目信息表、試卷信息表、考試信息表、學(xué)生信息表、教師信息表、日志信息表等。

課程信息表包含課程代碼、課程名稱、課程簡介、課程目錄、課程評價(jià)、課程評分、授課教師、選修人員、開始時(shí)間、結(jié)束時(shí)間等信息;知識點(diǎn)信息表包含知識點(diǎn)名稱、所屬課程、視頻地址、視頻描述、相關(guān)附件、學(xué)生評價(jià)、評分、發(fā)布人、發(fā)布時(shí)間、播放次數(shù)等信息;題目信息表包含課程名稱、知識點(diǎn)、題型、試題難度、試題分?jǐn)?shù)、試題內(nèi)容、選項(xiàng)、標(biāo)準(zhǔn)答案、解析、提交人等信息;試卷信息表包含試卷名稱、命題人、題量、總分、題目、考試開始時(shí)間、考試結(jié)束時(shí)間、參考人員、閱卷人員等信息;考試信息表包含賬號、試卷名稱、知識點(diǎn)、考生答案、答題時(shí)間、得分等信息;學(xué)生信息表包含賬號、姓名、性別、年齡、手機(jī)號、受教育程度、感興趣的領(lǐng)域等信息;教師信息表包含賬號、姓名、性別、年齡、手機(jī)號、研究領(lǐng)域等信息;日志信息表包含賬號、訪問頁面、行為、時(shí)間、IP等信息。

1.2 非結(jié)構(gòu)化數(shù)據(jù)

視頻因其圖文并茂,生動活潑,深受歡迎,已發(fā)展為學(xué)習(xí)平臺最主要的課程載體。單個(gè)視頻不宜過長,否則學(xué)生的注意力無法集中。每段視頻一個(gè)知識點(diǎn),以知識點(diǎn)的名稱命名,便于查詢和學(xué)習(xí)。短視頻也有利于課程的更新,以往課程中某個(gè)知識點(diǎn)一旦更新,整長段視頻都需要更新。學(xué)習(xí)平臺的文件系統(tǒng)中除短視頻外,還包含課程制作過程中上傳的各種附件,比如PPT、Word、PDF等文檔。

2 數(shù)據(jù)挖掘的目的和技術(shù)路線

學(xué)習(xí)平臺中,同一個(gè)班級的所有學(xué)生學(xué)習(xí)相同的課程,沒有根據(jù)學(xué)生的特點(diǎn)提供個(gè)性化的學(xué)習(xí)服務(wù)。學(xué)習(xí)平臺數(shù)據(jù)挖掘的最終目的是根據(jù)學(xué)生的特點(diǎn),自動匹配合適的學(xué)習(xí)資源,提供個(gè)性化的學(xué)習(xí)服務(wù),實(shí)現(xiàn)因材施教。首先對學(xué)生及其學(xué)習(xí)信息進(jìn)行挖掘分析,了解學(xué)生的興趣愛好及以往學(xué)習(xí)情況,然后對學(xué)習(xí)資源進(jìn)行挖掘分析,為學(xué)生自動匹配適合自身特點(diǎn)的學(xué)習(xí)資源,為教師推薦適合其課程的學(xué)生。數(shù)據(jù)挖掘的技術(shù)路線如圖2所示。

結(jié)構(gòu)化數(shù)據(jù)是以表格形式組織的數(shù)據(jù),列表示不同的特性,行表示不同的樣本。對結(jié)構(gòu)化數(shù)據(jù)進(jìn)行分類、回歸等分析時(shí),常采用機(jī)器學(xué)習(xí)中的決策樹等算法,梯度提升決策樹算法更是其中的佼佼者。梯度提升決策樹算法擅長處理非歸一化數(shù)據(jù),速度快,常用來進(jìn)行分類及根據(jù)輸入預(yù)測輸出。

深度學(xué)習(xí)中的卷積神經(jīng)網(wǎng)絡(luò)擅長處理圖像及聲音數(shù)據(jù),而循環(huán)神經(jīng)網(wǎng)絡(luò)擅長處理時(shí)間等序列數(shù)據(jù)。深度學(xué)習(xí)不僅表現(xiàn)出更好的性能,而且將特征提取完全自動化,省去了傳統(tǒng)機(jī)器學(xué)習(xí)中人工提取特征的步驟,讓問題變得更加簡單。深度學(xué)習(xí)能夠從感知數(shù)據(jù)提取出人類能夠取出的幾乎全部信息[2]。

3 相關(guān)技術(shù)

3.1 Scikit-Learn

Scikit-Learn是用Python開發(fā)的開源機(jī)器學(xué)習(xí)庫。Scikit-Learn封裝了大量的機(jī)器學(xué)習(xí)算法,并內(nèi)置了大量的數(shù)據(jù)集,是一種便捷的數(shù)據(jù)挖掘工具。Scikit-Learn支持分類、回歸、降維和聚類四大機(jī)器學(xué)習(xí)算法,包含特征提取、數(shù)據(jù)處理和模型評估三大模塊。Scikit-Learn基于NumPy和Scipy等Python數(shù)值計(jì)算庫,提供了高效的算法實(shí)現(xiàn)[1]。Scikit-Learn的文檔齊全,算法全面,接口易用。Scikit-Learn提供了對梯度提升決策樹算法的支持,但不支持分布式計(jì)算、GPU加速及神經(jīng)網(wǎng)絡(luò)模型。

3.2 TensorFlow

TensorFlow是最初由Google開發(fā)的開源深度學(xué)習(xí)庫。TensorFlow功能強(qiáng)大,執(zhí)行效率高,可以在CPU、GPU及TPU中執(zhí)行。TensorFlow具備跨平臺能力及分布式計(jì)算能力,可以同時(shí)在數(shù)百臺機(jī)器上執(zhí)行訓(xùn)練模型,大幅縮短模型訓(xùn)練時(shí)間,并提供Python、C++等多種語言編程接口。TensorFlow提供的是比較底層的深度學(xué)習(xí)API,所以設(shè)計(jì)模型時(shí)需要自行設(shè)計(jì)張量乘積、卷積等底層操作,相對麻煩。

3.3 Keras

Keras是用 Python 開發(fā)的開源深度學(xué)習(xí)庫,能夠以TensorFlow、Theano或CNTK作為后端引擎。Keras簡單易用,可以在CPU、GPU上無縫切換運(yùn)行,利用Keras可以快速開發(fā)深度學(xué)習(xí)模型的原型,支持卷積網(wǎng)絡(luò)和循環(huán)網(wǎng)絡(luò)以及兩者的組合,并能夠構(gòu)建任意深度的學(xué)習(xí)模型。通常把Keras和TensorFlow結(jié)合使用,使用Keras對問題進(jìn)行小規(guī)模實(shí)驗(yàn)驗(yàn)證,用TensorFlow在完整的數(shù)據(jù)上進(jìn)行調(diào)參。Keras提供了相對一致的高層API,使用方便。

3.4 OpenCV及pydub

OpenCV是一個(gè)開源跨平臺的計(jì)算機(jī)視覺庫,在商業(yè)和研究領(lǐng)域可以免費(fèi)使用[3]。OpenCV提供了很多圖像和視頻處理API,利用OpenCV可以很方便地處理視頻數(shù)據(jù)。pydub是Python的一個(gè)音頻處理庫,底層依賴于FFmpeg,提供了簡單易用的音頻處理API。

4 數(shù)據(jù)挖掘環(huán)境構(gòu)建

機(jī)器學(xué)習(xí)及深度學(xué)習(xí)中,最花時(shí)間的就是模型的訓(xùn)練,尤其大型的深度學(xué)習(xí)使用大量數(shù)據(jù)進(jìn)行訓(xùn)練,需要數(shù)天或數(shù)周之久,且精度要求較高,一般都需要GPU加速運(yùn)算。高職院?,F(xiàn)有的服務(wù)器一般為CPU服務(wù)器,可以在云端運(yùn)行深度學(xué)習(xí)任務(wù)。本文服務(wù)器選用騰訊云GPU 云服務(wù)器,配置為CPU 28核,內(nèi)存224 G,GPU 4*NVIDIA Tesla P40,8T硬盤,100Mbps帶寬,操作系統(tǒng)選用CentOS 7.4 64位。云端運(yùn)行深度學(xué)習(xí)任務(wù)成本較高,如果長時(shí)間進(jìn)行深度學(xué)習(xí),可以購買帶GPU的物理服務(wù)器。教學(xué)視頻中不僅包含視頻信息還包含音頻信息。為了對教學(xué)視頻進(jìn)行挖掘,需安裝FFmpeg、Anaconda、pydub、OpenCV、TensorFlow及Keras。Anaconda中包含了Scikit-Learn及Jupyter Notebook。

5 數(shù)據(jù)挖掘過程

機(jī)器學(xué)習(xí)庫Scikit-Learn包括分類、回歸、聚類、降維四類算法,特別是提供了對梯度提升決策樹算法的支持,可以利用Scikit-Learn對學(xué)習(xí)平臺的結(jié)構(gòu)化數(shù)據(jù)進(jìn)行挖掘分析。深度學(xué)習(xí)庫Keras簡單易用,支持卷積神經(jīng)網(wǎng)絡(luò)、循環(huán)神經(jīng)網(wǎng)絡(luò)及兩者的組合,可以利用Keras對學(xué)習(xí)平臺的非結(jié)構(gòu)化數(shù)據(jù)進(jìn)行挖掘分析。

5.1 結(jié)構(gòu)化數(shù)據(jù)挖掘

利用Scikit-Learn對學(xué)習(xí)平臺的結(jié)構(gòu)化數(shù)據(jù)進(jìn)行機(jī)器學(xué)習(xí),需要依次完成數(shù)據(jù)采集與標(biāo)記、數(shù)據(jù)清洗、特征選擇、模型選擇、模型訓(xùn)練和測試、模型性能評估和優(yōu)化、模型使用等步驟。模型訓(xùn)練往往計(jì)算量很大,需花費(fèi)較長的時(shí)間來訓(xùn)練,模型測試通過后,把新樣本作為輸入,調(diào)用模型即可得到結(jié)果,最后對結(jié)果進(jìn)行解釋和應(yīng)用。

利用機(jī)器學(xué)習(xí),可以對學(xué)生進(jìn)行聚類分析,幫助教師根據(jù)學(xué)生的類別制定不同的教學(xué)策略;對知識點(diǎn)評論數(shù)據(jù)及課程評論數(shù)據(jù)進(jìn)行分類,幫助教師改進(jìn)教學(xué);根據(jù)學(xué)生的知識點(diǎn)學(xué)習(xí)情況預(yù)測學(xué)生的考試成績,幫助學(xué)生改進(jìn)學(xué)習(xí)等。

5.2 非結(jié)構(gòu)化數(shù)據(jù)挖掘

利用Keras對學(xué)習(xí)平臺的非結(jié)構(gòu)化數(shù)據(jù)進(jìn)行深度學(xué)習(xí),以TensorFlow作為后端引擎。深度學(xué)習(xí)首先要明確目標(biāo),收集數(shù)據(jù),確定評估目標(biāo)成功的指標(biāo)及評估方法。為了使原數(shù)據(jù)更適于用神經(jīng)網(wǎng)絡(luò)處理,需要對原數(shù)據(jù)進(jìn)行向量化、標(biāo)準(zhǔn)化和缺失值處理等預(yù)處理。構(gòu)建模型,常使用一維卷積神經(jīng)網(wǎng)絡(luò)分析文本數(shù)據(jù)及音頻數(shù)據(jù),二維卷積神經(jīng)網(wǎng)絡(luò)分析圖像數(shù)據(jù),三維卷積神經(jīng)網(wǎng)絡(luò)分析視頻數(shù)據(jù),通過調(diào)節(jié)超參數(shù)和添加正則化逐步改進(jìn)模型架構(gòu)。將新樣本輸入到測試通過的神經(jīng)網(wǎng)絡(luò),即可得到結(jié)果,最后對結(jié)果進(jìn)行解釋和應(yīng)用。

利用深度學(xué)習(xí),可以根據(jù)課程視頻中的音頻信息或視頻信息自動生成視頻的文字簡介,根據(jù)內(nèi)容對學(xué)習(xí)資源進(jìn)行分類,自動理解并解答問題[4]及自動生成學(xué)習(xí)資料的摘要等。

最后將學(xué)習(xí)平臺的結(jié)構(gòu)化數(shù)據(jù)挖掘結(jié)果與非結(jié)構(gòu)化數(shù)據(jù)的挖掘結(jié)果相結(jié)合,為教師推薦適合其課程的學(xué)生,為學(xué)生自動匹配與其自身特點(diǎn)相適應(yīng)的學(xué)習(xí)資源,真正實(shí)現(xiàn)因材施教,目前還面臨著諸如訓(xùn)練數(shù)據(jù)不具代表性,數(shù)據(jù)量不足及數(shù)據(jù)質(zhì)量差等問題。

6 結(jié)束語

對高職院校學(xué)習(xí)平臺進(jìn)行數(shù)據(jù)挖掘研究,首先對學(xué)習(xí)平臺的數(shù)據(jù)進(jìn)行了梳理,明確了數(shù)據(jù)挖掘的目的及技術(shù)路線,完成了數(shù)據(jù)挖掘環(huán)境的構(gòu)建,探討了數(shù)據(jù)挖掘的過程及可能的應(yīng)用。機(jī)器學(xué)習(xí)領(lǐng)域的梯度提升決策樹等算法擅長挖掘分析結(jié)構(gòu)化數(shù)據(jù),而深度學(xué)習(xí)領(lǐng)域的神經(jīng)網(wǎng)絡(luò)擅長挖掘分析非結(jié)構(gòu)化數(shù)據(jù),所以分別利用開源機(jī)器學(xué)習(xí)庫Scikit-Learn及開源深度學(xué)習(xí)庫Keras對高職院校學(xué)習(xí)平臺上的結(jié)構(gòu)化數(shù)據(jù)及非結(jié)構(gòu)化數(shù)據(jù)進(jìn)行挖掘分析,數(shù)據(jù)挖掘結(jié)果可以應(yīng)用于教師改進(jìn)教學(xué)及學(xué)生改進(jìn)學(xué)習(xí)。

參考文獻(xiàn):

[1] 黃永昌.scikit-learn機(jī)器學(xué)習(xí)常用算法原理及編程實(shí)戰(zhàn)[M].北京:機(jī)械工業(yè)出版社,2018.

[2] Francois Chollet.Python深度學(xué)習(xí)[M].張亮,譯.北京:人民郵電出版社,2018.

[3] Joe Minichino.OpenCV3計(jì)算機(jī)視覺:Python語言實(shí)現(xiàn)(原書第2版)[M].劉波,譯.北京:機(jī)械工業(yè)出版社,2018.

[4] 胡飛. 在線自主學(xué)習(xí)中的自動答疑研究[J]. 知識文庫,2018(11):63-64.

【通聯(lián)編輯:梁書】

猜你喜歡
學(xué)習(xí)平臺數(shù)據(jù)挖掘
基于并行計(jì)算的大數(shù)據(jù)挖掘在電網(wǎng)中的應(yīng)用
泛在學(xué)習(xí)環(huán)境下微課學(xué)習(xí)平臺的設(shè)計(jì)策略研究
一種基于Hadoop的大數(shù)據(jù)挖掘云服務(wù)及應(yīng)用
基于GPGPU的離散數(shù)據(jù)挖掘研究
永德县| 浠水县| 潞城市| 额尔古纳市| 廉江市| 景德镇市| 台州市| 九寨沟县| 自治县| 福建省| 千阳县| 永年县| 长泰县| 麻城市| 慈利县| 年辖:市辖区| 新竹县| 香港| 家居| 根河市| 克山县| 密云县| 子长县| 海丰县| 乐平市| 汾西县| 桂平市| 甘南县| 革吉县| 大余县| 五家渠市| 海阳市| 屏山县| 峨山| 炎陵县| 杂多县| 大丰市| 晋宁县| 武冈市| 双牌县| 长垣县|