欒若星



摘 要:考試成績反映出學生一定的能力,對學習過程和課程教學給出有價值的意義反饋,并且作為評估試題質量的數據依據對制定更加完善的考試方案具有參考價值。因此,提出基于R語言的成績分析方法,使用R的基本統計量計算和顯示數據分布的繪圖函數,實現成績統計性分析和試題質量評估;使用R的arules添加包執行Apriori算法實現關聯規則挖掘,發現成績中隱含的有價值信息。以C語言程序設計課程期末考試成績作為數據樣本,分析了學生整體成績水平和差異、試題的難度、信度、區分度和效度以及影響學生成績的主要因素。
關鍵詞:R語言; 考試成績; 試題質量; 關聯規則
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
引言
考試是檢驗學習水平和教學質量的一種手段,而考試成績從某種意義上反映出學生的學習能力和水平,揭示其學習過程中的薄弱點,幫助教師發現教學中存在的問題,進而提升教學質量。因此,對考試成績進行分析是學校教學進程中必不可少的環節。比較典型的方法是使用Excel、SAS或SPSS等統計軟件進行數據分析,這類軟件操作簡單,能夠快速生成統計結果,但無法獲取數據隱含的信息。隨著數據挖掘成為研究熱點,如何將數據挖掘技術應用于成績分析是研究這類問題的新思路[1-2],可利用基于關聯規則的機器學習算法提取成績數據中有價值信息[3-4]。
R是一種編程語言,也是用于數據統計分析和繪圖的自由軟件環境[5],其強大的功能在于自身所擁有的統計分析、機器學習、生物信息學、繪圖等多種功能包。基于R語言對考試成績進行分析,主要使用R的基本統計量函數獲取成績統計數據和試卷質量的各項指標;使用R的arules添加包實現Apriori算法[6],挖掘成績數據中的規則和模式。
1 數據處理
1.1 數據選取
以2017-2018學年第一學期“C語言程序設計”課程的期末考試成績作為樣本,總記錄數為891條。成績單為xls文件,從中選取所需的數據列 (包括學號(num)、程序設計題得分(program)、程序改錯題得分(error)、程序填空題得分(fill)、總分(score) ),存儲為csv文件(scores.csv)。如果有缺失值,可以采用人工填寫空缺值或忽略元組等方式處理。
1.2 數據讀入
使用R處理數據之前,需要將外部數據文件讀入數據框。數據框通過類似于Excel表格形式整理要處理的數據,各列中保存觀測值的名稱,各行中保存實際的觀測值。成績單完全可以使用數據框進行保存。R的read.csv()函數可以將csv文件讀入數據框,代碼如下:
> (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 成績統計性分析
2.1 統計量計算
使用R的基本統計量函數計算各題型和總分的平均值、方差及標準差(見表1)。平均分反映成績的整體水平;標準差反映全部分數的離散情況,標準差越大,差異越大。
2.2 成績分布趨勢
直方圖(histogram)可以反映每個值范圍出現的頻率,是了解數據分布的一種常用圖形[4]。使用R的hist()函數繪制直方圖,其分布特征可以反映試題的難度水平,對試題質量分析具有一定的參考價值。由于繪制直方圖時,根據所選條形寬度的不同,繪出的形狀可能完全不同。采用密度圖能夠解決這一問題,使用R的density()函數繪制核密度圖,將直方圖與密度圖結合使用。
5 結束語
基于R語言對考試成績的統計分析、關聯規則挖掘,以及對試題質量的評估,充分發揮了R在數據統計與機器學習上的優勢,并利用其繪圖功能實現了數據可視化。使用R語言還可以對多門課程成績進行分析,從學生專業和教師的角度進行教學效果比較與分析,以及通過對機考組卷進行評估來完善題庫建設。
參考文獻
[1] 李巧君,李偉. 數據挖掘技術在學生成績分析中的應用研究[J]. 微型電腦應用,2015,31(4):35-36,40.
[2] 王海榮. 數據挖掘在學生成績分析中的應用[J]. 電子設計工程,2013,21(4):54-56,60.
[3] 顧輝,楊青,蔣成功,等. 關聯規則在成績分析中的研究及應用[J]. 計算機應用,2015,35(S1):149-151,198.
[4] 王華,劉萍. 改進的關聯規則算法在學生成績預警中的應用[J]. 計算機工程與設計,2015,36(3):679-682,752.
[5] 徐珉久. R語言與數據分析實戰[M]. 北京:人民郵電出版社,2017.
[6] Raghav Bali, Dipanjan Sarkar. R語言機器學習:實用案例分析[M]. 北京:機械工業出版社,2017.
[7] 李玉桃,宋長利. 對考試成績和試題質量的科學分析與評價[J]. 現代教育科學,2006(S2):138-139.
[8] 崔妍,包志強. 關聯規則挖掘綜述[J]. 計算機應用研究,2016,33(2):330-334.
[9] 張啟徽. 關聯規則挖掘中查找頻繁項集的改進算法[J]. 統計與決策,2015(4):32-35.