最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

數(shù)據(jù)庫(kù)技術(shù)及應(yīng)用大作業(yè)——數(shù)據(jù)挖掘結(jié)果預(yù)測(cè)系統(tǒng)

2022-12-13 10:54 作者:儒雅的fldy  | 我要投稿


概述

項(xiàng)目目標(biāo)

通過實(shí)現(xiàn)一個(gè)數(shù)據(jù)挖掘結(jié)果預(yù)測(cè)系統(tǒng),理解和掌握有關(guān)數(shù)據(jù)庫(kù)設(shè)計(jì)、數(shù)據(jù)庫(kù)訪問和數(shù)據(jù)庫(kù)應(yīng)用編寫等方面的知識(shí)和技術(shù)。

開發(fā)環(huán)境

開發(fā)環(huán)境:Windows10

輔助工具:Rstudio, PDMiner, Excel, ODBC數(shù)據(jù)源

數(shù)據(jù)庫(kù)管理系統(tǒng):SQLServer2012

運(yùn)行環(huán)境:Windows10, R-4.2.2


需求分析

問題概述

設(shè)計(jì)并實(shí)現(xiàn)一個(gè)數(shù)據(jù)挖掘結(jié)果預(yù)測(cè)系統(tǒng),幫助同學(xué)查詢并驗(yàn)證實(shí)驗(yàn)結(jié)果的正確性。

基本功能分析

教師端

教師端的功能實(shí)現(xiàn)邏輯相似,都分為讀取與存儲(chǔ)兩個(gè)步驟,通過傳輸?shù)穆窂?,利用R讀取csv文件,連接數(shù)據(jù)庫(kù)后將結(jié)構(gòu)化的數(shù)據(jù)存入對(duì)應(yīng)

存儲(chǔ)表,主要涉及到數(shù)據(jù)庫(kù)的數(shù)據(jù)插入操作。

(1) 標(biāo)準(zhǔn)答案上傳。讀取 CSV 文件中的標(biāo)準(zhǔn)答案,將其存儲(chǔ)進(jìn)數(shù)據(jù)庫(kù)中。

(2) 用戶名密碼上傳。讀取 CSV 文件中的用戶名和密碼,將其導(dǎo)入數(shù)據(jù)庫(kù)中。

(3)學(xué)生成績(jī)上傳。 讀取 CSV 文件中的用戶名和成績(jī),將其導(dǎo)入到數(shù)據(jù)庫(kù)中。

其他功能主要為個(gè)人賬戶信息的管理,需要對(duì)相應(yīng)的身份表修改,主要涉及到數(shù)據(jù)庫(kù)的數(shù)據(jù)修改操作。

(4) 個(gè)人賬戶管理。包括登錄、修改密碼、修改身份信息等。

學(xué)生端

學(xué)生端的功能實(shí)現(xiàn)在教師端的基礎(chǔ)上更進(jìn)一步,除了讀取與存儲(chǔ),還需要查詢并完成數(shù)據(jù)的對(duì)比處理,判斷是否能夠執(zhí)行下一步或輸出對(duì)

應(yīng)的結(jié)果信息,主要涉及到數(shù)據(jù)庫(kù)的數(shù)據(jù)查詢操作。

(1) 登錄。輸入用戶名和密碼登錄系統(tǒng)。

(2) 驗(yàn)證數(shù)據(jù)挖掘結(jié)果正確率。 學(xué)生按標(biāo)準(zhǔn)格式上傳測(cè)試 CSV 結(jié)果文件,得到結(jié)果正確率。

(3) 查詢成績(jī)。查找自己的成績(jī)。

其他功能與教師端同理,對(duì)相應(yīng)的身份表修改,主要涉及到數(shù)據(jù)庫(kù)的數(shù)據(jù)修改操作。

(4) 個(gè)人賬戶管理。包括登錄、修改密碼、修改身份信息等。

拓展功能分析

數(shù)據(jù)庫(kù)方面,拓展功能的實(shí)現(xiàn)主要在于實(shí)體之間關(guān)系從 一對(duì)多 ?到 ?多對(duì)多,涉及到數(shù)據(jù)庫(kù)設(shè)計(jì)與較為復(fù)雜的多表查詢操作

(1) 支持多個(gè)老師使用系統(tǒng)

(2) 可以上傳并查詢多門課程的情況

數(shù)據(jù)挖掘方面,拓展功能的實(shí)現(xiàn)是在展現(xiàn)數(shù)據(jù)查詢結(jié)果的基礎(chǔ)上,對(duì)結(jié)果進(jìn)行深層次的挖掘,展現(xiàn)出更多有價(jià)值的信息,主要涉及到R的

統(tǒng)計(jì)量計(jì)算數(shù)據(jù)可視化

(3) 可以處理多個(gè)數(shù)據(jù)挖掘結(jié)果查詢,可以處理 2 分類, 3 分類及多分類問題。

(4) 可以查詢除正確率外的其他分類問題結(jié)果,如查全率、查準(zhǔn)率等。

其他功能分析

數(shù)據(jù)庫(kù)方面,其他功能即為以上需求分析的靈活組合與運(yùn)用

(1) 支持學(xué)生參與多門課程的教學(xué)活動(dòng)

(2) 學(xué)生每次作業(yè)可以多次提交

(3) 支持學(xué)生查詢自己本門課程成績(jī)

(4) 支持老師查詢所教課程選課同學(xué)及該班學(xué)生成績(jī)

數(shù)據(jù)挖掘方面,可以進(jìn)一步突出可視化的作用,運(yùn)用網(wǎng)頁(yè)設(shè)計(jì)進(jìn)行多元化展示

(5) 管理員功能與管理員界面

(6) 支持管理員通過可視化卡片的形式掌握老師、學(xué)生、課程總體情況

(7) 學(xué)生查詢作業(yè)混淆矩陣的精美可視化

(8) 支持學(xué)生查詢除正確率外的其他分類結(jié)果,如查全率、查準(zhǔn)率、靈敏性、特異性、Kappa 統(tǒng)計(jì)量、準(zhǔn)確率檢驗(yàn)p值、McNemar檢驗(yàn)

p值等。

(9)支持學(xué)生查看自己答案的準(zhǔn)確率變化曲線

數(shù)據(jù)庫(kù)結(jié)構(gòu)簡(jiǎn)要分析

數(shù)據(jù)庫(kù) 初始創(chuàng)建的物理對(duì)象學(xué)生、教師、課程,分別存儲(chǔ)三者的基本信息

數(shù)據(jù)庫(kù) 使用產(chǎn)生的物理對(duì)象標(biāo)準(zhǔn)答案、學(xué)生答案,分別存儲(chǔ)教師與學(xué)生上傳csv文件中的答案信息

數(shù)據(jù)庫(kù)的 邏輯對(duì)象 為存在多對(duì)多關(guān)系的學(xué)生課程關(guān)系,存儲(chǔ)教師端上傳的學(xué)生成績(jī)

注:默認(rèn)每門課程由一名教師教授,是一對(duì)多的關(guān)系,故可以將教師課程關(guān)系合并至課程表,將教工號(hào)作為外碼鏈接教師表與課程表

綜上,為了實(shí)現(xiàn)要求的功能,本數(shù)據(jù)挖掘結(jié)果預(yù)測(cè)系統(tǒng)主要抽象出6個(gè)主要對(duì)象:學(xué)生、教師、課程、標(biāo)準(zhǔn)答案、學(xué)生答案、學(xué)生課堂關(guān)系


數(shù)據(jù)庫(kù)概念結(jié)構(gòu)設(shè)計(jì)

系統(tǒng)E-R圖


ER關(guān)系圖
關(guān)系表

?


數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)設(shè)計(jì)

數(shù)據(jù)庫(kù)名為SCT,開始狀態(tài)分為六個(gè)表,分別為student, teacher ,course, question, answer, sc

【詳細(xì)信息已由上文ER關(guān)系表展示】

關(guān)系表

Student表

【存儲(chǔ)學(xué)生信息,屬性按順序排列】

  • Sno學(xué)生學(xué)號(hào) (主鍵

  • Sname 學(xué)生姓名

  • Ssex 學(xué)生性別

  • Sage 學(xué)生年齡

  • Sdept 學(xué)生所在院系

  • Spwd 學(xué)生登錄密碼

Teacher表

【存儲(chǔ)教師信息,屬性按順序排列】

  • Tno 教職工號(hào) (主鍵

  • Tname 教師姓名

  • Tsex 教師性別

  • Tage 教師年齡

  • Tdept 教師所在院系

  • Tpwd 教師登錄密碼

Course表

【存儲(chǔ)課程信息,屬性按順序排列】

  • Cno 課程號(hào)(主鍵

  • Tno 教職工號(hào) (外鍵

  • Cname 課程名

  • Ccredit 課程學(xué)分

Question表

【存儲(chǔ)教師端上傳的問題與標(biāo)準(zhǔn)答案信息,屬性按順序排列】

  • Cno 課程號(hào)(主鍵

  • Qno 作業(yè)號(hào) (主鍵

  • id 題號(hào) (主鍵

  • Std_ans 標(biāo)準(zhǔn)答案

Answer表

【存儲(chǔ)學(xué)生端上傳的學(xué)生答案信息,屬性按順序排列】

  • Sno 學(xué)號(hào) (主鍵

  • Cno 課程號(hào)(主鍵

  • Qno 作業(yè)號(hào) (主鍵

  • id 題號(hào) (主鍵

  • Aid 當(dāng)前作業(yè)提交次數(shù) (主鍵

  • Ans 學(xué)生答案

SC表

【存儲(chǔ)學(xué)生選課與成績(jī)信息,屬性按順序排列】

  • Sno 學(xué)號(hào) (主鍵

  • Cno 課程號(hào) (主鍵

  • Grade 成績(jī) ?(保證數(shù)值在0-100之間)


產(chǎn)生測(cè)試數(shù)據(jù)的策略

初始存儲(chǔ)信息的數(shù)據(jù)生成

【student,teacher,course, sc表】

  • 主碼信息按照順序連續(xù)產(chǎn)生,以保證其不會(huì)重復(fù)。 (注:為保證教師與課程的一對(duì)多關(guān)系,course表中tno也要保證不重復(fù))

  • 非主碼信息使用 Excel 軟件,結(jié)合隨機(jī)數(shù)生成的函數(shù),在數(shù)據(jù)域內(nèi)隨機(jī)產(chǎn)生。 (注:姓名的數(shù)據(jù)域根據(jù)性別而定,來源為網(wǎng)絡(luò)上的男女常用名)

后續(xù)傳輸信息的數(shù)據(jù)生成

【question,answer表】

  • 隨機(jī)生成多張表,答案數(shù)據(jù)根據(jù)表格式在數(shù)據(jù)域中隨機(jī)生成,保證每次作業(yè)的課程號(hào)、作業(yè)號(hào)對(duì)應(yīng)題號(hào)數(shù)相同即可。 (注:答案的數(shù)據(jù)域根據(jù)分類問題的類別數(shù)而定)


數(shù)據(jù)挖掘評(píng)測(cè)系統(tǒng) DataMinecraft 安裝指南

  1. 安裝RRStudio,R版本為4.2.2,RStudio版本為2022.07.2+576

  2. 打開RStudio,輸入以下代碼以安裝相應(yīng)的依賴包

  1. 在SQL Server 2002中配置數(shù)據(jù)庫(kù),運(yùn)行數(shù)據(jù)庫(kù)創(chuàng)建.sql中的代碼

  2. 配置ODBC數(shù)據(jù)源,打開Windows應(yīng)用ODBC數(shù)據(jù)源,點(diǎn)擊“添加...”,選擇“SQL Server”,命名數(shù)據(jù)源并指定本機(jī)的服務(wù)器,選擇連接的數(shù)據(jù)庫(kù)為“SCT”,設(shè)置數(shù)據(jù)源名稱為“RSCT”。

  3. 打開app.R,運(yùn)行代碼進(jìn)行系統(tǒng)操作。


用戶界面的設(shè)計(jì)

登錄界面

登錄界面

管理員界面

管理員界面


  • 登錄問候:根據(jù)登錄時(shí)間,分別展示“上午好”“下午好”“晚上好”的用戶界面。

  • 上傳數(shù)據(jù)信息:可以通過上傳csv文件,導(dǎo)入學(xué)生信息、教師信息、課程信息與選課信息。

  • 刷新數(shù)據(jù)信息:可以查看教師人數(shù)、學(xué)生人數(shù)與課程人數(shù),通過刷新得到實(shí)時(shí)數(shù)據(jù)。


教師端

教師界面


  • 課程介紹模塊:可以對(duì)課程進(jìn)行簡(jiǎn)要的介紹,并配以相應(yīng)的圖片展示

  • 管理賬戶信息:可以對(duì)當(dāng)前賬戶的密碼進(jìn)行修改

  • 成績(jī)上傳與查詢:通關(guān)下拉菜單,選擇相應(yīng)課程,上傳并查詢課程上的所有學(xué)生及其成績(jī)

  • 標(biāo)準(zhǔn)答案上傳:通過下拉菜單,選擇相應(yīng)課程以及相應(yīng)作業(yè)次數(shù),上傳作業(yè)的標(biāo)準(zhǔn)答案


學(xué)生端

學(xué)生界面


  • 繼承功能:課程介紹模塊、管理賬戶信息、選擇課程、選擇作業(yè)次數(shù)、上傳作業(yè)答案、登錄問候等與教師端同理

  • 作業(yè)結(jié)果可視化:查詢作業(yè)預(yù)測(cè)結(jié)果,計(jì)算得到各種數(shù)據(jù)挖掘的統(tǒng)計(jì)量,以及混淆矩陣、準(zhǔn)確率曲線等可視化


運(yùn)行測(cè)試和結(jié)果展示

  • 修改密碼后可成功登錄

修改密碼
  • 多分類作業(yè)的統(tǒng)計(jì)量展示與可視化結(jié)果


多分類結(jié)果
  • 作業(yè)多次提交的準(zhǔn)確率曲線


準(zhǔn)確率曲線
  • 注:上傳答案、查詢成績(jī)等基本功能結(jié)果在界面設(shè)計(jì)板塊已展示,更多詳細(xì)操作過程可見

    功能展示-b站傳送門



團(tuán)隊(duì)分工

@馬走日那個(gè)象走田:UI設(shè)計(jì),前端實(shí)現(xiàn)

@儒雅的fldy:數(shù)據(jù)庫(kù)設(shè)計(jì),報(bào)告寫作


遇到的問題與解決辦法

數(shù)據(jù)庫(kù)設(shè)計(jì)

  • 標(biāo)準(zhǔn)答案表的儲(chǔ)存 【數(shù)據(jù)表結(jié)構(gòu)設(shè)計(jì)】

    • 困難:由于每次作業(yè)的題目數(shù)不固定,初步想法是橫向列表,每道題作為一個(gè)屬性,如ans1存儲(chǔ)ans1的答案,ans2存儲(chǔ)ans2的答案,但造成了大量的冗余且不好操作

    • 解決:改為縱向列表,采用id來存儲(chǔ)題號(hào),ans來存儲(chǔ)答案,即可實(shí)現(xiàn)對(duì)答案表的存儲(chǔ)

  • 作業(yè)評(píng)分的計(jì)算 ? ? 【數(shù)據(jù)冗余度考慮】

    • 方案一:每次學(xué)生上傳答案后立即比對(duì),僅存儲(chǔ)準(zhǔn)確率等信息,舍棄答案的存儲(chǔ)

    • 方案二:學(xué)生上傳答案后將所有答案存儲(chǔ),在需要計(jì)算時(shí)按照需求查詢,給出相應(yīng)結(jié)果

    • 困難:由于評(píng)分需要標(biāo)準(zhǔn)答案用于比對(duì),這時(shí)就存在兩種選擇

    • 解決:選擇方案二盡管需要存儲(chǔ)的數(shù)據(jù)更多,需要專門建立學(xué)生答案表,但更利于后續(xù)多種功能(如多種數(shù)據(jù)挖掘統(tǒng)計(jì)量計(jì)算)的靈活實(shí)現(xiàn),并且更符合實(shí)際情況,在學(xué)生對(duì)批改情況存在疑問時(shí)有跡可循。

  • 重復(fù)上傳的報(bào)錯(cuò) ? ? 【觸發(fā)器使用】

    • 困難:由于標(biāo)準(zhǔn)答案由R自動(dòng)讀入轉(zhuǎn)化為數(shù)據(jù)庫(kù)格式,在重復(fù)插入時(shí)就會(huì)出現(xiàn)報(bào)錯(cuò),這時(shí)就無法完成標(biāo)準(zhǔn)答案的修改

    • 解決:使用數(shù)據(jù)庫(kù)的觸發(fā)器功能,在question表設(shè)置instead觸發(fā)器std_ans_update_trig, 在插入時(shí)從inserted表中讀取相應(yīng)數(shù)據(jù),并改為執(zhí)行insert操作,并給出操作提示,同理,觸發(fā)器還可以用于對(duì)學(xué)生成績(jī)的反復(fù)上傳等場(chǎng)景。

前端實(shí)現(xiàn)

  • 用戶界面的構(gòu)建

    • 困難:根據(jù)數(shù)據(jù)挖掘預(yù)測(cè)系統(tǒng)的要求,確定合適的技術(shù)路徑,實(shí)現(xiàn)友好的用戶界面

    • 解決:針對(duì)這一預(yù)測(cè)系統(tǒng)的要求,有許多實(shí)現(xiàn)用戶界面的路徑,包括原生HTML,Qt,PyQT以及各種框架等;經(jīng)過反復(fù)比對(duì),我們選擇了R+Shiny的技術(shù)路徑。Shiny是R語(yǔ)言下一款用于構(gòu)建Web APP可視化界面的包,具有很強(qiáng)的易用性和擴(kuò)展性,能夠輕松構(gòu)造出美麗、友好的界面,同時(shí)也支持大量HTML語(yǔ)句的插入以豐富表現(xiàn)力;代碼由負(fù)責(zé)界面展現(xiàn)的ui和后臺(tái)數(shù)據(jù)處理和呈遞的server兩部分組成,清晰易讀便于理解。同時(shí),R語(yǔ)言作為一款為統(tǒng)計(jì)而生的語(yǔ)言,我們可以使用其中機(jī)器學(xué)習(xí)和可視化方面豐富的包,如cvms, caret, tidyverse等,來完善數(shù)據(jù)挖掘結(jié)果分析的部分,完成對(duì)預(yù)測(cè)結(jié)果更多維的分析。界面友好、簡(jiǎn)單易用、分析全面,這也是我們開發(fā)的系統(tǒng)的三大亮點(diǎn)。

  • 系統(tǒng)與數(shù)據(jù)庫(kù)的連接

    • 困難:如何根據(jù)數(shù)據(jù)庫(kù)設(shè)計(jì)要求,建立系統(tǒng)與數(shù)據(jù)庫(kù)的連接

  • 解決:我們使用的數(shù)據(jù)庫(kù)管理系統(tǒng)為SQL Server 2012。在數(shù)據(jù)庫(kù)管理系統(tǒng)中創(chuàng)建數(shù)據(jù)庫(kù),完成初始化后,我們選擇使用Windows系統(tǒng)自帶的ODBC數(shù)據(jù)源應(yīng)用進(jìn)行連接。百度百科上關(guān)于ODBC數(shù)據(jù)源的介紹是這樣的:

ODBC數(shù)據(jù)源建立了一組規(guī)范,并提供了一組對(duì)數(shù)據(jù)庫(kù)訪問的標(biāo)準(zhǔn)API,這些API利用SQL來完成大部分任務(wù)。所有的數(shù)據(jù)庫(kù)操作由對(duì)應(yīng)的DBMS的ODBC驅(qū)動(dòng)程序完成,只要是ODBC數(shù)據(jù)源支持的數(shù)據(jù)庫(kù),均可通過其API完成。

在R中,我們使用了一個(gè)實(shí)現(xiàn)ODBC與R交互操作的包RODBC。通過RODBC中的函數(shù)sqlSave可以實(shí)現(xiàn)數(shù)據(jù)的批量插入,sqlUpdate可以實(shí)現(xiàn)數(shù)據(jù)的批量更新,對(duì)于更一般的sql語(yǔ)句則可通過sqlQuery逐條實(shí)現(xiàn)。綜上,我們就實(shí)現(xiàn)了R與數(shù)據(jù)庫(kù)之間的數(shù)據(jù)連接(見下圖)

R與數(shù)據(jù)庫(kù)的連接

實(shí)現(xiàn)的功能列表

  • 所有基本功能

    • 登錄

    • 驗(yàn)證數(shù)據(jù)挖掘結(jié)果正確率

    • 查詢成績(jī)

    • 賬戶管理

    • 標(biāo)準(zhǔn)答案上傳

    • 用戶名密碼上傳

    • 學(xué)生成績(jī)上傳

    • 賬戶管理

    • 設(shè)計(jì)完善并生成測(cè)試數(shù)據(jù)

    • 設(shè)計(jì)應(yīng)用界面

    • 教師端功能

    • 學(xué)生端功能

  • 拓展功能

    • 管理員功能與管理員界面

    • 支持管理員通過可視化卡片的形式掌握老師、學(xué)生、課程總體情況

    • 支持多個(gè)老師使用系統(tǒng)

    • 支持老師同時(shí)管理多門課程

    • 支持老師查詢所教課程選課同學(xué)及該班學(xué)生成績(jī)

    • 支持學(xué)生參與多門課程的教學(xué)活動(dòng)

    • 學(xué)生每次作業(yè)可以多次提交,并查看自己答案的準(zhǔn)確率變化

    • 學(xué)生查詢作業(yè)混淆矩陣的精美可視化

    • 支持學(xué)生可以查詢除正確率外的其他分類結(jié)果,如查全率、查準(zhǔn)率、靈敏性、特異性、Kappa 統(tǒng)計(jì)量、準(zhǔn)確率檢驗(yàn)p值、McNemar檢驗(yàn)p值等。

    • 支持學(xué)生查詢自己本門課程成績(jī)

    • 支持處理多個(gè)數(shù)據(jù)挖掘結(jié)果查詢,可以處理 2 分類, 3 分類及多分類問題。


























數(shù)據(jù)庫(kù)技術(shù)及應(yīng)用大作業(yè)——數(shù)據(jù)挖掘結(jié)果預(yù)測(cè)系統(tǒng)的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
通河县| 连平县| 故城县| 红桥区| 海门市| 珲春市| 桐城市| 阿瓦提县| 上栗县| 密山市| 宣恩县| 垦利县| 长顺县| 尤溪县| 长汀县| 阳山县| 辉南县| 天津市| 福海县| 九江县| 德清县| 广丰县| 休宁县| 珲春市| 天长市| 门源| 吉安市| 齐齐哈尔市| 柞水县| 松原市| 乌拉特后旗| 宜阳县| 比如县| 金平| 农安县| 横山县| 玉屏| 翼城县| 万盛区| 德江县| 白朗县|