亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于機器學習的在線學習者畫像的構(gòu)建與實現(xiàn)

        2023-01-15 09:23:06楊業(yè)壯
        無線互聯(lián)科技 2022年21期
        關鍵詞:樸素畫像貝葉斯

        陳 珂,湯 鑫,楊業(yè)壯

        (蘇州市職業(yè)大學,江蘇 蘇州 215004)

        0 引言

        隨著大數(shù)據(jù)、機器學習等技術(shù)的迅速發(fā)展,美國、英國、澳大利亞等國家已發(fā)布各自利用技術(shù)促進學習的相關計劃,《中國教育現(xiàn)代化2035》中也明確指出要努力推動信息技術(shù)與教育教學的深度融合,可見用信息技術(shù)改變教育已成為各國教育研究者關注的焦點。教育領域倡導以學習者為中心,為學習者提供精準化服務,隨著網(wǎng)絡在線課程的發(fā)展和教育應用軟件的升級,學習者畫像[1]的研究逐漸進入學界視野,與學習者畫像定義相關的更多是以“學習者畫像”“學生畫像”“數(shù)字畫像”“學習者肖像”等名詞呈現(xiàn),這使得學習者畫像在教育領域[2]的應用更加貼切于教育教學的實際情境。

        本文對學習者畫像構(gòu)建[3]進行研究,將圍繞研究目標設計在線學習者畫像模型及其構(gòu)建流程,并在此基礎上將其應用于在線學習過程,用于展現(xiàn)在線學習者的多維度特征[4],幫助學習者直觀明了地了解自己的整體學習情況,有利于促進學習者的參與度和學習效果。本研究獲取學習者學習過程中的行為數(shù)據(jù),并利用該行為數(shù)據(jù)和在線評測結(jié)果數(shù)據(jù)為學習者畫像,從而客觀地揭示學習者狀態(tài),對使用在線教學系統(tǒng)的學習者提高教學質(zhì)量、提高學習水平起到重要作用。

        1 數(shù)據(jù)預處理

        本文首先對在線學習者的學習行為痕跡進行了清洗和預處理,數(shù)據(jù)清洗主要包括去重、去空和刪除異常值等步驟,數(shù)據(jù)預處理是對清洗后的數(shù)據(jù)做處理匯總,得出分析處理后的數(shù)據(jù)。本文編寫MapReduce程序?qū)W習痕跡數(shù)據(jù)做清洗和預先處理,然后將學習行為數(shù)據(jù)導出為csv文件,以便為后續(xù)的學習者畫像分析做準備,這些學習行為數(shù)據(jù)的結(jié)構(gòu)包括用戶ID、學習天數(shù)、學習總時長、學習的章節(jié)數(shù)和在線測試成績等字段。具體的實現(xiàn)方法如下。

        1.1 Map()函數(shù)實現(xiàn)數(shù)據(jù)清洗

        Map()利用并行化思想來對數(shù)據(jù)進行有意義的篩選,去除csv文件中第1行的字段名和空值,提取登錄時間、學習時長、章節(jié)名稱等相關數(shù)據(jù)。Map輸出的鍵值對經(jīng)過shuffle過程,聚成后,會交給reduce()函數(shù)。

        if (key.get()==0){

        System.out.println(value.toString());

        return;//拋棄第一行數(shù)據(jù),

        }

        String rowvalue = value.toString();

        if (rowvalue.equals("") ∣∣ rowvalue =="") {

        return;//數(shù)據(jù)中存在空字符串

        }

        String[] strs = rowvalue.split("");

        //由登錄時間、學習時長、章節(jié)名稱組成的字符串

        String text =strs[1]+","+strs[2]+","+strs[3];

        key.set(strs[0]);//用戶id

        value.set(text);

        context.write(key,value);

        1.2 Reducer()函數(shù)統(tǒng)計學習者的登錄次數(shù),學習總時長和學習章節(jié)數(shù)

        Map過程輸出的鍵值對先經(jīng)過shuffle過程把key值相同的所有value值聚集起來形成values,此時values是對應key字段的由登錄時間、學習時長、章節(jié)名稱組成的字符串的列表,然后將輸入reduce方法,reduce方法只要遍歷values后進行字符串分割后分別對學習時長求和以及求總天數(shù)、章節(jié)數(shù)求和、用戶名,即可得到某個學習者的行為數(shù)據(jù)。

        List logintime = new ArrayList();//存放登錄時間

        List duration = new ArrayList();//存放學習時長

        Set chaptername =new HashSet();//存放章節(jié)名稱,去除重復章節(jié)名

        List list = new ArrayList();

        for(Text t:values)

        list.add(t.toString());

        for(String str:list){

        String[] strs = str.split(",");

        logintime.add(strs[0]);

        duration.add(strs[1]);

        chaptername.add(strs[2]);

        }

        long dur_sum=0;

        for(String d :duration){

        dur_sum += Long.parseLong(d);//統(tǒng)計學習總時長

        }

        //用戶id、學習總時長、學習天數(shù)、學習的章節(jié)數(shù)、在線測試成績,組成一個字符串

        String recordstr = key.toString()+""+dur_sum+""+ dur_sum /24+""+chaptername.size()+""+score;

        text.set(recordstr);

        context.write(text,NullWritable.get());

        1.3 Job對象負責管理和運行MapReduce的一個計算任務

        在main()主函數(shù)中新建一個Job對象,負責管理和運行MapReduce的一個計算任務,并設定任務的輸出和輸入路徑,將預處理后的數(shù)據(jù)保存為csv文件。

        2 建立機器學習模型

        經(jīng)過MapReduce清洗和預處理后的在線學習者的學習行為數(shù)據(jù)將用于構(gòu)建機器學習模型。為了挖掘?qū)W習行為與學業(yè)表現(xiàn)的相關性,本文運用Scikit-Learn庫中K-means模型,對學生各行為指標和學習績效指標進行相關分析[5]。學習者的參與程度和努力程度將會對學習者的學習質(zhì)量產(chǎn)生影響,因此了解學生的學習投入情況是至關重要的,并對學習投入程度過低的學習者進行有針對性的干預。本文確定了學習者2個特征指標,如表1所示。

        表1 學習者特征要素

        K-means是一種典型的聚類算法,該算法是基于不同對象特征值間的相似度,來確定對象的歸屬問題。本文使用K-means模型對預處理后的數(shù)據(jù)文件takypen.csv中數(shù)據(jù)進行聚類,以便分析成績與學習投入之間關系。takypen.csv文件包含有4個特征,分別如下:day_mean(學習天數(shù));play_mean(學習時長);chapters_mean(學習章節(jié)數(shù));score(在線測試成績)。前3個字段對應學習投入指標,score字段對應學習績效指標,通過KMeans模型訓練得到預測列type,該列即為預測出的學習投入度。

        2.1 Scikit-Learn庫中K-means模型的結(jié)構(gòu)

        sklearn.cluster.KMeans(n_clusters=8,init='k-means++',n_init=10,max_iter=300,tol=0.0001,

        precompute_distances='auto',verbose=0,random_state=None,

        copy_x=True,n_jobs=1,algorithm='auto')

        2.2 建立K-means聚類模型

        kmeans=KMeans(n_clusters=3,n_init=10,tol=0.0002, random_state=0).fit(X)

        2.3 模型評估

        #屬性Labels_是獲取每個點的分類

        labels=kmeans.labels_

        acc = float((labels==y).sum())/len(y)

        print('KMeans 準確率為:%.2f' %(acc))

        3 學習行為畫像的實現(xiàn)

        3.1 基于高斯樸素貝葉斯模型的學習者分類預測

        本文使用Scikit-Learn庫提供的高斯樸素貝葉斯模型構(gòu)建分類器,根據(jù)學習天數(shù)、學習時長、學習的章節(jié)數(shù)等行為特征來判斷學習者屬于哪一類,為學習者加一個分類標簽。takypen.csv文件中存放了學習行為特征數(shù)據(jù),使用GaussianNB類建立高斯樸素貝葉斯模型并進行學習者分類預測,實現(xiàn)方法如下。

        (1)數(shù)據(jù)歸一化處理,并建立訓練數(shù)據(jù)集。

        數(shù)據(jù)歸一化處理對于大部分機器學習算法而言都是一種常規(guī)要求,如果單個特征沒有或多或少地接近于標準正態(tài)分布,那么它可能并不能在模型中表現(xiàn)出很好的性能。利用preprocessing類的MinMaxScaler()提前對特征數(shù)據(jù)進行歸一化后再使用高斯樸素貝葉斯模型做訓練,模型準確率將會大大提升,即數(shù)據(jù)歸一化處理對模型評分會有一定程度的提升。

        data_csv = pd.read_csv('takypen.csv')

        X_train = preprocessing. MinMaxScaler (data_csv.drop(['type'],axis=1))

        y_train = np.ravel(data_csv[['type']])

        (2)通過訓練集,構(gòu)建高斯樸素貝葉斯模型。

        gb= GaussianNB()

        model_GaussinaNB = gb.fit(X_train,y_train)

        y_predict_GaussianNB= model_GaussinaNB.predict(X_test)

        print("y_predict_GaussianNB: ",y_predict_GaussianNB)

        (3)將一個新的測試數(shù)據(jù)(33,40,10)帶入模型得到預測結(jié)果如圖2所示,該模塊預測出學習者的標簽為簡單體驗者(Easy_learning),如圖1所示。

        圖1 運行結(jié)果

        z_data ={'day_mean':['33'],'play_mean':['40'],'chapters_mean':['10']}

        Z_data =pd.DataFrame(z_data,columns=['day_mean','play_mean','chapters_mean'])

        print('Test_data: ',Z_data)

        Z_model_predict=model_GaussinaNB.predict(Z_data)

        #每個標簽下樣本最大的概率

        Z_model_proba=model_GaussinaNB.predict_proba(Z_data)

        print('Test_predict:',Z_model_predict)

        print('Test_probability:',Z_model_proba)

        (4)預測結(jié)果的平均值和預測正確率,如圖1所示。

        y_test_mean=np.mean(y_predict_GaussianNB==y_test)

        print('y_test_GaussianNB_mean:%.2f '%y_test_mean)

        print('y_test_GaussianNB_ave_accuracy:%.2f '%gb.score(X_test,y_test))

        本研究以準確性、召回率和F1這3個指標對高斯樸素貝葉斯模型在分類任務上的性能進行評估,如圖2所示。

        圖2 分類任務評估

        由圖2可知,本研究通過高斯樸素貝葉斯分類器對測試樣本分類,可以得到平均準確率、平均召回率以及平均F1指標,分別為0.79,0.78和0.78。

        3.2 用戶畫像實現(xiàn)

        本文選取了用戶學習過程中12天的數(shù)據(jù)作為樣本進行研究,在前端JS文件中引用echarts.js來獲取學習者行為數(shù)據(jù),使用折線圖和柱狀圖進行展示。圖3可以很直觀地看出用戶訪問的次數(shù)和學習時長的總和及平均值分析結(jié)果。

        圖3 學習者畫像展示

        4 學習效果畫像的實現(xiàn)

        4.1 基于K-means算法的群體畫像分析

        采用構(gòu)建的K-means模型對takypen.csv中的數(shù)據(jù)進行訓練,得到的訓練結(jié)果中包含4個特征值列和1個目標值列。其中,目標值列包含了3個數(shù)字0,1,2,分別對應的分類標簽為:Highl-yinvestment,Moderateinvestment,Lowinvestment。本文根據(jù)107個結(jié)果樣本數(shù)據(jù)中的這4個特征以及3類標簽來研究學習者的學習投入度與在線測試成績之間的關系[6],實現(xiàn)方法如下。

        4.1.1 導入數(shù)據(jù)并提取特征值和目標值

        訓練數(shù)據(jù)是由107個樣本和4列特征值組成,其中4列特征值為day_mean,play_mean,chapters_mean和score,學習投入度標簽Highlyinvestment,Moderatei-nvestment,Lowinvestment分別用數(shù)字0,1,2表示,type列是由標簽數(shù)組轉(zhuǎn)換成的數(shù)字數(shù)組。

        4.1.2 數(shù)據(jù)解析

        本研究通過describe()函數(shù)對每一個特征列數(shù)據(jù)進行統(tǒng)計,包括計數(shù)、均值、標準偏差、最小值、最大值、各個分位數(shù)等,執(zhí)行print(takypen.describe())后的運行結(jié)果如圖4所示。

        4.2 學習投入指標與學習表現(xiàn)

        本研究以三維散點圖分析各特征變量對學習成績的影響,并借助3個維度特征來反映學習者的學習效果,這三維特征分別是:在線測試成績、學習次數(shù)和學習時長。學習者群體畫像的三維散點圖如圖5所示。

        圖4 運行結(jié)果

        由圖5可知,學習者的學習投入偏高時,知識點掌握水平多為優(yōu)秀;學習投入中等偏低時,知識點掌握水平為中等水平;學習投入偏低時,知識點掌握水平則較差。綜上,聚類為高度投入的學習者整體學習情況優(yōu)秀,聚類為中度投入的學習者整體學習情況良好,聚類為低投入的學習者的整體學習情況較差。

        5 結(jié)語

        首先,本文通過MapReduce程序?qū)υ诰€學習者的痕跡數(shù)據(jù)進行數(shù)據(jù)清洗和預處理,從而得到了學習者的學習行為數(shù)據(jù)。其次,構(gòu)建K-means聚類模型為學習者生成學習投入度和學習效果的畫像信息,并根據(jù)學習天數(shù)、學習總時長、學習章節(jié)數(shù)等行為特征指標,使用高斯樸素貝葉斯模型構(gòu)建分類器對學習者分類,并采用K-means回歸方法對學習者進行了群體畫像分析,形成了3類學習者的群體畫像標簽。最后,本文使用Echarts和Seaborn生成相關數(shù)據(jù)圖表,以便對學習者畫像進行可視化展示。因為采集的學習者行為數(shù)據(jù)樣本數(shù)量不夠,所以本文選擇了高斯樸素貝葉斯的模型,該模型的特點就是對訓練數(shù)據(jù)量要求不大,如果訓練數(shù)據(jù)量比較大,還可以選擇其他的分類模型。

        圖5 群體畫像三維散點圖

        猜你喜歡
        樸素畫像貝葉斯
        威猛的畫像
        隔離樸素
        “00后”畫像
        畫像
        樸素的安慰(組詩)
        四川文學(2020年11期)2020-02-06 01:54:30
        他是那樣“笨拙”和樸素——30多年后,我們?yōu)槭裁催€需要讀路遙?
        當代陜西(2019年23期)2020-01-06 12:18:04
        最神奇最樸素的兩本書
        當代陜西(2019年9期)2019-05-20 09:47:38
        貝葉斯公式及其應用
        基于貝葉斯估計的軌道占用識別方法
        一種基于貝葉斯壓縮感知的說話人識別方法
        電子器件(2015年5期)2015-12-29 08:43:15
        国产成人国产在线观看| 亚洲免费观看在线视频| 亚洲精品乱码久久久久久中文字幕 | 国产亚洲一区二区在线观看 | 国内精品卡一卡二卡三 | 亚洲va在线va天堂va手机| 国产成人精品曰本亚洲| 中文字幕人成乱码中文乱码| 国产女主播一区二区三区在线观看 | 一区二区午夜视频在线观看| 国产天堂av在线一二三四| 少妇裸体性生交| 国产无套内射久久久国产| 伊人久久大香线蕉av一区| 少妇高潮喷水正在播放| 99热国产在线| 少妇又紧又色又爽又刺| 国产真实一区二区三区| 中文字幕人乱码中文字幕| 亚洲日韩一区二区三区| 国产免费专区| 亚洲日本人妻中文字幕| 蜜臀人妻精品一区二区免费| 麻豆91蜜桃传媒在线观看| 国产精品成人观看视频| 麻豆精品久久久久久久99蜜桃| 久久国产精品免费一区二区| 国产av一区二区三区香蕉| 青青草手机在线观看视频在线观看| 亚洲av色欲色欲www| 麻豆成人精品国产免费| 亚洲性啪啪无码AV天堂| 国产av自拍在线观看| 国产亚洲午夜精品久久久| 亚洲色成人www永久在线观看| 精品香蕉久久久爽爽| 日韩啪啪精品一区二区亚洲av| 男女视频网站免费精品播放| 精品久久中文字幕系列| 亚洲av综合永久无码精品天堂| a在线观看免费网站大全|