欒若星
摘 要:考試成績反映出學生一定的能力,對學習過程和課程教學給出有價值的意義反饋,并且作為評估試題質量的數(shù)據(jù)依據(jù)對制定更加完善的考試方案具有參考價值。因此,提出基于R語言的成績分析方法,使用R的基本統(tǒng)計量計算和顯示數(shù)據(jù)分布的繪圖函數(shù),實現(xiàn)成績統(tǒng)計性分析和試題質量評估;使用R的arules添加包執(zhí)行Apriori算法實現(xiàn)關聯(lián)規(guī)則挖掘,發(fā)現(xiàn)成績中隱含的有價值信息。以C語言程序設計課程期末考試成績作為數(shù)據(jù)樣本,分析了學生整體成績水平和差異、試題的難度、信度、區(qū)分度和效度以及影響學生成績的主要因素。
關鍵詞:R語言; 考試成績; 試題質量; 關聯(lián)規(guī)則
Abstract: Examination results should reveal students' real academic level and give valid feedback to students and teachers, for helping them improve learning abilities and teaching quality. The quality analysis of examination paper can offer meaningful reference for making more consummated exam plan. Based on the above considerations, the paper puts forward a method of examination results analysis, using R basic statistics and plotting functions to perform statistical analysis, and using Apriori algorithm from arulets package to excavate association rules for searching valuable information which is hidden in papers. Taking final exam scores of "C language programming" course as example, the paper gives analysis results of students' overall level and differences, makes a quantitative evaluation on difficulty、credibility、discrimination and validity, and finds the key factors influencing student achievement.
Key words: R language; examination scores; quality analysis of examination paper; association rules
引言
考試是檢驗學習水平和教學質量的一種手段,而考試成績從某種意義上反映出學生的學習能力和水平,揭示其學習過程中的薄弱點,幫助教師發(fā)現(xiàn)教學中存在的問題,進而提升教學質量。因此,對考試成績進行分析是學校教學進程中必不可少的環(huán)節(jié)。比較典型的方法是使用Excel、SAS或SPSS等統(tǒng)計軟件進行數(shù)據(jù)分析,這類軟件操作簡單,能夠快速生成統(tǒng)計結果,但無法獲取數(shù)據(jù)隱含的信息。隨著數(shù)據(jù)挖掘成為研究熱點,如何將數(shù)據(jù)挖掘技術應用于成績分析是研究這類問題的新思路[1-2],可利用基于關聯(lián)規(guī)則的機器學習算法提取成績數(shù)據(jù)中有價值信息[3-4]。
R是一種編程語言,也是用于數(shù)據(jù)統(tǒng)計分析和繪圖的自由軟件環(huán)境[5],其強大的功能在于自身所擁有的統(tǒng)計分析、機器學習、生物信息學、繪圖等多種功能包?;赗語言對考試成績進行分析,主要使用R的基本統(tǒng)計量函數(shù)獲取成績統(tǒng)計數(shù)據(jù)和試卷質量的各項指標;使用R的arules添加包實現(xiàn)Apriori算法[6],挖掘成績數(shù)據(jù)中的規(guī)則和模式。
1 數(shù)據(jù)處理
1.1 數(shù)據(jù)選取
以2017-2018學年第一學期“C語言程序設計”課程的期末考試成績作為樣本,總記錄數(shù)為891條。成績單為xls文件,從中選取所需的數(shù)據(jù)列 (包括學號(num)、程序設計題得分(program)、程序改錯題得分(error)、程序填空題得分(fill)、總分(score) ),存儲為csv文件(scores.csv)。如果有缺失值,可以采用人工填寫空缺值或忽略元組等方式處理。
1.2 數(shù)據(jù)讀入
使用R處理數(shù)據(jù)之前,需要將外部數(shù)據(jù)文件讀入數(shù)據(jù)框。數(shù)據(jù)框通過類似于Excel表格形式整理要處理的數(shù)據(jù),各列中保存觀測值的名稱,各行中保存實際的觀測值。成績單完全可以使用數(shù)據(jù)框進行保存。R的read.csv()函數(shù)可以將csv文件讀入數(shù)據(jù)框,代碼如下:
> (score<-read.csv (“scores.csv”) )
部分輸出結果如下:
num program [KG-*2]error fill score
1 170101001 20.0 34.6 38.0 92.6
2 170101002 20.0 40.0 40.0 100.0
3 170101003 16.6 29.3 27.3 73.2
4 170101004 15.8 32.0 33.3 81.1
5 170101005 20.0 37.3 40.0 97.3
6 170101006 12.4 24.0 30.6 67.0
2 成績統(tǒng)計性分析
2.1 統(tǒng)計量計算
使用R的基本統(tǒng)計量函數(shù)計算各題型和總分的平均值、方差及標準差(見表1)。平均分反映成績的整體水平;標準差反映全部分數(shù)的離散情況,標準差越大,差異越大。
2.2 成績分布趨勢
直方圖(histogram)可以反映每個值范圍出現(xiàn)的頻率,是了解數(shù)據(jù)分布的一種常用圖形[4]。使用R的hist()函數(shù)繪制直方圖,其分布特征可以反映試題的難度水平,對試題質量分析具有一定的參考價值。由于繪制直方圖時,根據(jù)所選條形寬度的不同,繪出的形狀可能完全不同。采用密度圖能夠解決這一問題,使用R的density()函數(shù)繪制核密度圖,將直方圖與密度圖結合使用。
5 結束語
基于R語言對考試成績的統(tǒng)計分析、關聯(lián)規(guī)則挖掘,以及對試題質量的評估,充分發(fā)揮了R在數(shù)據(jù)統(tǒng)計與機器學習上的優(yōu)勢,并利用其繪圖功能實現(xiàn)了數(shù)據(jù)可視化。使用R語言還可以對多門課程成績進行分析,從學生專業(yè)和教師的角度進行教學效果比較與分析,以及通過對機考組卷進行評估來完善題庫建設。
參考文獻
[1] 李巧君,李偉. 數(shù)據(jù)挖掘技術在學生成績分析中的應用研究[J]. 微型電腦應用,2015,31(4):35-36,40.
[2] 王海榮. 數(shù)據(jù)挖掘在學生成績分析中的應用[J]. 電子設計工程,2013,21(4):54-56,60.
[3] 顧輝,楊青,蔣成功,等. 關聯(lián)規(guī)則在成績分析中的研究及應用[J]. 計算機應用,2015,35(S1):149-151,198.
[4] 王華,劉萍. 改進的關聯(lián)規(guī)則算法在學生成績預警中的應用[J]. 計算機工程與設計,2015,36(3):679-682,752.
[5] 徐珉久. R語言與數(shù)據(jù)分析實戰(zhàn)[M]. 北京:人民郵電出版社,2017.
[6] Raghav Bali, Dipanjan Sarkar. R語言機器學習:實用案例分析[M]. 北京:機械工業(yè)出版社,2017.
[7] 李玉桃,宋長利. 對考試成績和試題質量的科學分析與評價[J]. 現(xiàn)代教育科學,2006(S2):138-139.
[8] 崔妍,包志強. 關聯(lián)規(guī)則挖掘綜述[J]. 計算機應用研究,2016,33(2):330-334.
[9] 張啟徽. 關聯(lián)規(guī)則挖掘中查找頻繁項集的改進算法[J]. 統(tǒng)計與決策,2015(4):32-35.