【文章內容簡介】
的聚類算法,K平均算法以K為參數,把n個對象分為k個簇,以使簇內具有較高的相似度,而簇間的相似度較低。相似度的計算根據一個簇中對象的平均值來進行。算法首先隨機的選擇k個對象,每個對象初始的代表了一個簇的平均值或者中心。對剩余的每個對象根據其與各個簇中心的距離,將它賦給最近的簇。然后重新計算每個簇的平均值。這個過程不斷重復,知道準則函數收斂。準則如下:這里的E是數據庫所有對象的平均誤差的總和,x是空間中的點,表示給定的數據對象, 是簇Ci的平均值。這個準則試圖使生成的結果簇盡可能的緊湊和獨立。l 算法描述輸入:簇的數目k和包含n個對象的數據庫輸出:k個簇,使平方誤差準則最?。?) Assign initial value for means。 //任意選擇k個對象作為初始的簇中心(2) Repeat;(3) For j=0 to n do assign each xj to the cluster which has the closest mean。 //根據簇中對象的平均值,將每個對象賦給最類似的簇(4) For i=0 to k do //新簇的平均值,即計算每個對象簇中對象的平均值(5) Compute //計算準則函數E(6) Until E不再發(fā)生明顯變化聚類分析算法的流程如下圖所示圖36 聚類分析流程圖l 算法的性能分析(1) 優(yōu)點K平均算法是解決聚類分析的一種經典算法,這種算法簡單、快速。對處理大數據集,該算法是相對課伸縮的和高效率的,應為它的復雜度是O(),其中n是所有對象的數目,k是簇的數目,t是迭代的次數。通常地,kn,且tn。這個算法經常以局部最優(yōu)結束。算法嘗試找出使平均誤差函數值最小的k個劃分。當結果是密集的,而簇與簇之間區(qū)別明顯時,它的效果較好。(2) 缺點K平均算法只有在簇的平均值被定義的情況下才能使用。這可能不適用某些應用,例如涉及有分類屬性的數據。該算法要求用戶必需事先給出k(要求生成的簇的數目),可以算是該方法的一個缺點,而且對初始值敏感,對于不同的初始值,可能會導致不同的聚類結果。該算法不適用于發(fā)現非凸面形狀的簇,或者大小差別很大的簇。而且它對于“噪聲”和孤立點數據是敏感的,少量的該類數據能夠對平均值產生極大的影響。(3) 改進措施為實現對離散數據的快速聚類,K模算法被提出,它在保留了K平均算法的效率的同時,將K平均算法的應用擴大到離散數據。K原型可以對離散和數值屬性兩種混合的數據進行聚類,在K原型中定義了一個對數值與離散屬性都計算的相異性度量標準。k平均算法對孤立點是敏感的,為了解決這個問題,不采用簇中的平均值作為參照點,可以選用簇中最位置最靠近中心點的對象,即中心點作為參照點。K中心點算法的基本思路:首先為每個簇任意選擇一個代表對象;剩余的對象根據其與代表對象的距離分配給最近的一個簇;然后反復地用非代表對象代替代表對象,以改進聚類的質量。這樣劃分方法仍然是基于最小化所有對象與其參照點之間的相異度之和的原則來執(zhí)行的。. 聚類分析結果的打印和導出這個功能主要提供了分析結果的打印和導出。聚類分析的結果是以報表的形式表現出來,針對不同的試卷,不同的算法分析的參數將產生不同的分析結果。其中結果的表現通過第三方組件水晶報表展示,主要應用了Push方式手動的連接數據庫,并組裝DataSet,同時將它傳送至報表。在這種情況下通過使用連接和限定記錄集合的大小,可以使報表的性能更大化。分析結果提供了兩種不同的導出格式:一種是Word電子文檔的形式導出,另一種是以Excel的形式導出。導出為:c://://。4. 數據設計學生成績錄入、學生信息管理、學生成查詢和針對學生成績的聚類分析通過內置瀏覽器訪問的形式來實現。具體到每個功能一個頁面,從菜單上選擇功能后直接進入相關頁面?;诰垲惙治龅膶W生成績知識點預測模型的研究與實現的數據庫為:Student,使用本地的數據庫:,保存所有本地信息。. 數據定義規(guī)范數據庫每個表都要定義主鍵;除特殊情況外主鍵必須是整數;自增整數為Serial表示。l 數據表名字以英文命名,首字母大寫l 視圖定義為:view_視圖名。l 存儲過程定義:proc_過程名. 數據字典注:具體每個表如何處理,下面有3個方案。l DM表統(tǒng)統(tǒng)為常量代碼表。l 如果該表具有導入功能,那么在每一個表中增加一個自增字段,該字段僅為代碼生成器服務。l 對應的代碼長度在程序中均要控制,如果不夠那么前面用字符0補齊。l 如果其它表用到對應的所屬關系,均用代碼這個字段,而不用對應的自增字段。l 統(tǒng)一都用整數,在導入其它表時直接將信息轉成整型。. [班級]表:Class_Information表41 班級表字段名類型(長度)主鍵、外鍵默認值說明Class_IdcharPK班級代碼(默認4位)Class_Namechar(10)班級名稱Class_Teacherchar(10)班主任Beizhuchar(50)Null備注注:此表的程序界面無需顯示,其中0101代表小學一年級一班,0202代表小學二年級二班。 . [學生信息]表:Stu_Information表42 學生信息表字段名類型(長度)主鍵、外鍵默認值說明Stu_Nochar(10)Pk學生學號Stu_Namechar(10)學生姓名Stu_Classchar(10)所屬班級代號Stu_Birthdatatime(8)學生的出生年月日Stu_Ageint學生的年齡Stu_AddressVchar(50)學生的家庭住址Stu_BeizhuVchar(50)Null備注. [教師信息]表:Tea_Information表43教師信息表字段名類型(長度)主鍵、外鍵默認值說明Tea_Nochar(10)Pk教師代號Tea_Namechar(10)教師姓名Tea_Postchar(10)教師職位Tea_Ageint教師年齡Tea_Telchar(12)教師聯(lián)系電話Tea_Emailchar(20)教師電子郵箱Tea_AddressVchar(50)教師家庭住址Tea_BeizhuVchar(50)Null備注. [試卷一]表:Teatpaper_One表45試卷一表字段名類型(長度)主鍵、外鍵默認值說明Stu_Nochar(10)PK學生學號Stu_Classchar(10)班級代號Stu_ChineseInt語文成績Stu_MathInt數學成績. [試卷二]表:TestPaper_Two表46試卷二表字段名類型(長度)主鍵、外鍵默認值說明Stu_Nochar(10)PK學生學號Stu_Classchar(10)班級代號Stu_ChineseInt語文成績Stu_MathInt數學成績. [試卷三]表TestPaper_Three表47試卷三表字段名類型(長度)主鍵、外鍵默認值說明Stu_Nochar(10)PK學生學號Stu_Classchar(10)班級代號Stu_ChineseInt語文成績Stu_MathInt數學成績. [試卷四]表TestPaper_Four表48試卷四表字段名類型(長度)主鍵、外鍵默認值說明Stu_Nochar(10)PK學生學號Stu_Classchar(10)班級代號Stu_ChineseInt語文成績Stu_MathInt數學成績. [考試類型]表:Test表416考試類型表字段名類型(長度)主鍵、外鍵默認值說明Test_NoChar(10)PK考試代碼Test_TypeChar(10)考試類型Test_BeizhuVarchar(50)Null備注5. 界面設計本系統(tǒng)為直觀起見,盡量使得用戶對所選定的信息顯示在同一窗口中,使用戶一目了然;用戶可以通過提示單擊窗口中一條信息使其具體顯示。同時,本系統(tǒng)總的色調為淺色,界面設計簡單、明朗和快捷。. 學生成績錄入模塊登錄后首頁即自動顯示菜單欄包括學生成績錄入、按學號查詢學生信息、按班級查詢學生信息、學生成績查詢、試卷成績查詢及成績展示、聚類分析處理的頁面??蛻舳顺绦騿雍螅處熆梢詫W生的成績進行錄入,其中對錄入的成績又一定的限制,主要表現為學生學號的規(guī)范正確、學生成績不可以重復的錄入、錄入的學生成績不能為空,錄入的學生成績不能超過100分等。圖51 學生成績錄入界面當成功錄入學生成績后,系統(tǒng)會給出如下提示:如下圖圖52 學生成績錄入成功界面當重復錄入學生的成績是會提示“此學生的成績已經錄入!”。圖53 學生成績重復錄入界面. 學生信息查詢學生信息查詢主要提供了兩種方式的查詢:一種是按學號查詢學生信息,另一種是按班級查詢學生信息。. 按學號查詢學生信息按學號查詢學生的信息,只要正確輸入學生的學號,就可以查詢出學生具體信息。下圖是查詢的界面:圖54 按學號查詢學生信息界面. 按班級查詢學生信息按班級查詢學生信息,只要選擇相應的班級,就可以執(zhí)行相應的班級學生信息的查詢。下圖是其查詢的界面:圖55 按班級查詢學生信息界面. 成績查詢學生成績查詢主要分為兩個方面的查詢。其一是學生具體成績的查詢,另一種是試卷成績的查詢。學生成績查詢,可以為教師提供有利的參考,幫助教師及時的掌握學生的學習情況和學生的學習