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

?

基于數(shù)據(jù)挖掘的學(xué)生成績(jī)分析系統(tǒng)

2020-01-03 10:10李小白黃洪標(biāo)陳鑫杜平
現(xiàn)代信息科技 2020年16期
關(guān)鍵詞:數(shù)據(jù)挖掘

李小白 黃洪標(biāo) 陳鑫 杜平

摘? 要:教師對(duì)學(xué)生成績(jī)分析一般僅統(tǒng)計(jì)處在優(yōu)、一般、差的人數(shù),對(duì)每位學(xué)生具體擅長(zhǎng)與不擅長(zhǎng)的課程往往無法了解。為了能挖掘出每位學(xué)生擅長(zhǎng)與不擅長(zhǎng)課程,更好地提高教學(xué)質(zhì)量,利用Python語言開發(fā)了基于數(shù)據(jù)挖掘的學(xué)生成績(jī)分析系統(tǒng)。使用決策樹算法中的CART算法對(duì)學(xué)生成績(jī)進(jìn)行分析預(yù)測(cè),對(duì)決策樹進(jìn)行剪枝降低樹的高度防止過擬合,不斷優(yōu)化決策樹模型,使分析預(yù)測(cè)達(dá)到一個(gè)較為精準(zhǔn)的水平,更好地為高校教學(xué)服務(wù)。

關(guān)鍵詞:數(shù)據(jù)挖掘;決策樹算法;成績(jī)分析系統(tǒng)

中圖分類號(hào):TP311.13? ? ? ?文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):2096-4706(2020)16-0082-03

Student Achievement Analysis System Based on Data Mining

LI Xiaobai,HUANG Hongbiao,CHEN Xin,DU Ping

(Guangdong Construction Polytechnic,Guangzhou? 511500,China)

Abstract:The analysis and processing of studentsperformance by teachers is only to count the number of students whose performance is in the excellent,general and poor grades. It is often impossible to understand the specific courses that each student is good at or not good at. If the teacher can find out each students good at the curriculum and not good at the curriculum,it will play a positive role in improving the quality of teaching. The student achievement analysis system based on data mining is developed by using Python language. The system uses CART algorithm in decision tree algorithm to analyze and predict the students performance,prunes the decision tree to reduce the height of the tree to prevent over fitting,and constantly adjusts parameters to optimize the decision tree model,so that the analysis and prediction can reach a more accurate level and provide better service for college teaching.

Keywords:data mining;decision tree algorithm;achievement analysis system

0? 引? 言

為了解決廣東建設(shè)職業(yè)技術(shù)學(xué)院教師對(duì)學(xué)生成績(jī)以及偏科情況了解不夠清楚的問題,作者采用AngularJS作為前端框架,使用Flask輕量級(jí)框架用于前后端交互進(jìn)行對(duì)數(shù)據(jù)庫的訪問,設(shè)計(jì)了基于數(shù)據(jù)挖掘的學(xué)生成績(jī)分析系統(tǒng),能夠根據(jù)學(xué)生課程成績(jī)以及所在年級(jí)的所有學(xué)生的課程成績(jī),通過決策樹算法來分析預(yù)測(cè)某個(gè)學(xué)生對(duì)某門課程的擅長(zhǎng)程度。從而直觀明了地反映出學(xué)生對(duì)課程成績(jī)掌握的情況,即達(dá)到對(duì)學(xué)生成績(jī)分析的目的。同時(shí)該系統(tǒng)還針對(duì)整個(gè)班級(jí)來分析班級(jí)的成績(jī)情況,讓班主任也能夠直接直觀的了解班里的情況,而不是簡(jiǎn)單的通過Excel統(tǒng)計(jì)表來掌握班級(jí)學(xué)生學(xué)習(xí)情況,通過Python庫提供的畫圖工具,能簡(jiǎn)單有效的以各種圖形直觀的呈現(xiàn)出班級(jí)成績(jī)的情況,包括及格人數(shù)、優(yōu)秀人數(shù)等等。同時(shí)用戶還能夠?qū)W(xué)生課程成績(jī)進(jìn)行管理,包括對(duì)學(xué)生課程成績(jī)進(jìn)行增刪改查以及對(duì)學(xué)生課程成績(jī)按姓名、學(xué)號(hào)、班級(jí)號(hào)以及課程名等進(jìn)行模糊搜索。

通過構(gòu)建決策樹模型,用學(xué)生個(gè)人成績(jī)以及該名學(xué)生所在年級(jí)的課程成績(jī)作為訓(xùn)練集的輸入,以學(xué)生對(duì)該門課程的擅長(zhǎng)程度作為訓(xùn)練集的輸出來訓(xùn)練模型,預(yù)測(cè)某個(gè)學(xué)生對(duì)他所學(xué)課程的擅長(zhǎng)程度來實(shí)現(xiàn)個(gè)人成績(jī)分析。通過對(duì)數(shù)據(jù)庫課程成績(jī)表的查詢操作并以柱狀圖的形式直觀反映班級(jí)的成績(jī)情況來實(shí)現(xiàn)班級(jí)成績(jī)分析。

1? 系統(tǒng)核心功能實(shí)現(xiàn)

1.1? 用戶信息管理

該系統(tǒng)可以對(duì)用戶進(jìn)行管理,包括用戶的增刪改查,用戶分為管理員與普通用戶,管理員可以管理用戶并且具有課程成績(jī)管理權(quán)限,包括課程成績(jī)的增刪改查,還能進(jìn)行學(xué)生的個(gè)人成績(jī)分析,當(dāng)管理員輸入指定學(xué)號(hào)時(shí),可以得到該學(xué)生所學(xué)課程成績(jī)的情況,也可以進(jìn)行班級(jí)成績(jī)分析,當(dāng)管理員輸入指定的班級(jí)號(hào)時(shí),可以得到該班級(jí)的成績(jī)情況,包括均分、及格人數(shù)以及優(yōu)秀人數(shù)。

用戶類定義如下:

class User(db.Model):

__tablename__ = 'user'

__table_args__ = {"useexisting": True}

id = db.Column(db.INT, primary_key=True)

login_name = db.Column(db.String(30), nullable=False)

pass_word = db.Column(db.String(255), nullable=True)

sex = db.Column(db.String(255), nullable=True)

age = db.Column(db.String(255), nullable=True)

role = db.Column(db.String(255), nullable=True)

remark = db.Column(db.String(255), nullable= False,default=1

1.2? 課程成績(jī)管理

可以對(duì)學(xué)生的課程成績(jī)進(jìn)行管理,包括課程成績(jī)的增刪改查,還可以對(duì)課程成績(jī)進(jìn)行模糊搜索,用戶輸入指定的課程號(hào)、學(xué)號(hào)或者學(xué)生姓名等均可以進(jìn)行模糊搜索,并且當(dāng)用戶在添加課程情況的編輯框輸入學(xué)生課程成績(jī)時(shí),系統(tǒng)會(huì)添加相應(yīng)的學(xué)生課程成績(jī)。同時(shí)添加刪除之后在界面上會(huì)立即顯示添加刪除后的情況,界面會(huì)顯示所有的課程信息。

課程成績(jī)類定義如下:

class gradeList(db.Model):

__tablename__ = 'grade_list'

__table_args__ = {"useexisting": True}

id = db.Column(db.INT, primary_key=True)

grade = db.Column(db.String(255), nullable=True)

college = db.Column(db.String(255), nullable=True)

special = db.Column(db.String(255), nullable=True)

className = db.Column(db.String(255), nullable=True)

studentId = db.Column(db.String(255), nullable=True)

studentName = db.Column(db.String(255), nullable=True)

course = db.Column(db.String(255), nullable=True)

score = db.Column(db.INT, nullable=True)

1.3? 學(xué)生個(gè)人成績(jī)分析實(shí)現(xiàn)

采用決策樹算法對(duì)學(xué)生個(gè)人成績(jī)進(jìn)行分析,當(dāng)用戶在編輯框里輸入指定學(xué)生的學(xué)號(hào)時(shí),例如輸入1904050713,系統(tǒng)以柱狀圖的形式反饋出該學(xué)生對(duì)他所學(xué)的各科目的擅長(zhǎng)情況,并給出提示語,告知用戶該學(xué)生所學(xué)課程的擅長(zhǎng)情況以及具體分?jǐn)?shù),柱狀圖給人以直觀的感覺,讓用戶一眼就能知道該學(xué)生的課程擅長(zhǎng)情況,同時(shí)采用決策樹算法比普通的SQL分析具有更為可靠的優(yōu)點(diǎn),學(xué)號(hào)為1904050713的學(xué)生個(gè)人成績(jī)分析效果如圖1所示。

決策樹關(guān)鍵代碼部分:

y_train = []

if data_user:

for each in data_user:

each_tmp = []

each_tmp.append(str(each[0]).replace("xm", ""))

each_tmp.append(course_dict.get(str(each[1])))

if float(each[2])>80:

each_tmp.append(1)

else:

each_tmp.append(0)

y_train.append(each_tmp)

sql_user = "select studentId,grade_list.course as course,score from grade_list where studentId = '{0}'; ".format('1904050713 ')

cursor.execute(sql_user)

data_user = cursor.fetchall()

x_test = []

if data_user:

for each in data_user:

each_tmp = []

each_tmp.append(course_dict.get(str(each[1])))

each_tmp.append(str(each[2]))

x_test.append(each_tmp)

estimator = DecisionTreeClassifier(criterion="entropy")

estimator.fit(x_train, y_train)

joblib.dump(estimator, "train_model.m")

y_predict = estimator.predict(x_test)

1.4? 班級(jí)成績(jī)分析

采用對(duì)數(shù)據(jù)庫的查詢操作來實(shí)現(xiàn)對(duì)班級(jí)成績(jī)的分析,當(dāng)用戶在編輯框里輸入指定班級(jí)的班號(hào),例如作者所教的19級(jí)軟件7班,系統(tǒng)以柱狀圖的形式反饋出本班級(jí)學(xué)生的課程成績(jī)情況以及班級(jí)每門課的均分,班級(jí)85分以上人數(shù)以及班級(jí)不及格人數(shù)并能把圖片保存下來供長(zhǎng)期的研究分析。19級(jí)軟件7班的班級(jí)成績(jī)分析圖如圖2所示。

班級(jí)成績(jī)分析關(guān)鍵代碼:

cursor = db.cursor()

sql_user = "select studentId,grade_list.course as course, score from grade_list join (select course from grade_list where studentId = '{0}')t ongrade_list.course = t.course;".format('19級(jí)軟件7班')

cursor.execute(sql_user)

data_user = cursor.fetchall()

course_dict = {}

course_dict_2 = {}

i = 1

if data_user:

for each in data_user:

each_tmp = []

if not course_dict.get(str(each[1])):

course_dict.update({str(each[1]):i})

course_dict_2.update({i:str(each[1])})

i = i+1

each_tmp.append(course_dict.get(str(each[1])))

each_tmp.append(str(each[2]))

2? 結(jié)? 論

本著服務(wù)廣東建設(shè)職業(yè)技術(shù)學(xué)院教師的理念,幫助解決學(xué)生偏科問題,開發(fā)了基于數(shù)據(jù)挖掘的學(xué)生成績(jī)分析系統(tǒng)。該系統(tǒng)通過決策樹算法來實(shí)現(xiàn)對(duì)學(xué)生個(gè)人成績(jī)進(jìn)行預(yù)測(cè)的功能,以及對(duì)整個(gè)班級(jí)各門課程成績(jī)進(jìn)行分析,讓任課教師、教務(wù)管理人員以及班主任一目了然掌握學(xué)生的成績(jī)情況,更好地開展以后的教育教學(xué)。

參考文獻(xiàn):

[1] 王燦.基于數(shù)據(jù)挖掘算法的成都市流動(dòng)人口狀況研究 [J].經(jīng)濟(jì)研究導(dǎo)刊,2020(3):129-131+153.

[2] 胡濤.基于關(guān)聯(lián)規(guī)則的數(shù)據(jù)挖掘算法 [J].電子技術(shù)與軟件工程,2018(2):186.

[3] 潘燕.關(guān)聯(lián)規(guī)則下的數(shù)據(jù)挖掘算法分析 [J].信息記錄材料,2018,19(7):212-213.

[4] 楊銘.入侵檢測(cè)中常用數(shù)據(jù)挖掘算法的分析與研究 [J].無線互聯(lián)科技,2014(11):127.

[5] 張容,張勇.基于數(shù)據(jù)挖掘算法的電子圖書館智能推薦技術(shù)研究 [J].西南師范大學(xué)學(xué)報(bào)(自然科學(xué)版),2017,42(7):81-85.

作者簡(jiǎn)介:李小白(1981—),女,漢族,海南臨高人,中級(jí)職稱,碩士在讀,研究方向:計(jì)算機(jī)應(yīng)用。

猜你喜歡
數(shù)據(jù)挖掘
近十年國(guó)內(nèi)教育數(shù)據(jù)挖掘領(lǐng)域的應(yīng)用技術(shù)分析
數(shù)據(jù)挖掘技術(shù)在內(nèi)河航道維護(hù)管理中的應(yīng)用研究
數(shù)據(jù)挖掘技術(shù)在物流企業(yè)中的應(yīng)用
數(shù)據(jù)挖掘過程模型及創(chuàng)新應(yīng)用
數(shù)據(jù)挖掘綜述
軟件工程領(lǐng)域中的異常數(shù)據(jù)挖掘算法
基于R的醫(yī)學(xué)大數(shù)據(jù)挖掘系統(tǒng)研究
電子政務(wù)中基于云計(jì)算模式的數(shù)據(jù)挖掘研究
數(shù)據(jù)挖掘創(chuàng)新應(yīng)用
數(shù)據(jù)挖掘的系統(tǒng)構(gòu)成與發(fā)展趨勢(shì)
神池县| 棋牌| 郎溪县| 尼木县| 平塘县| 铜川市| 冷水江市| 英德市| 南康市| 文水县| 简阳市| 汉沽区| 荣成市| 托克逊县| 永康市| 会同县| 元阳县| 峨山| 湟中县| 庆元县| 神木县| 黔西| 永清县| 大埔区| 西充县| 兴安县| 东平县| 文水县| 施秉县| 新建县| 石柱| 洛扎县| 河南省| 辽中县| 灵石县| 师宗县| 岢岚县| 抚远县| 民权县| 安福县| 鹤壁市|