王建偉等
摘 要:引入ID3算法的大學生體育訓練決策支持系統可以根據學生的特征對其分類。而傳統的決策樹ID3算法存在多值傾向的問題,選擇分裂屬性不符合客觀事實。本文運用了一種基于灰色關聯度的修正因子屬性選擇方法予以改進,克服了傳統ID3算法的不足,改進的ID3算法可使分類更加精確,更好的為大學生體育訓練提供決策支持。
關鍵詞:ID3算法 決策支持系統 數據挖掘 灰色關聯度
中圖分類號:G434 文獻標識碼:A 文章編號:1674-098X(2014)02(a)-0019-01
大學生體育訓練決策支持系統是隨著人工智能理論與數據挖掘技術的發展而不斷發展的,通過對大學生身體素質和訓練等數據來進行有效的挖掘,產生用于輔助決策的規則,進而為大學生體育訓練制定相應的訓練方案[1]。系統中應用了數據挖掘的決策樹ID3算法對不同特征的學生進行分類,但傳統的ID3算法存在多值傾向的問題,選擇分裂屬性不符合客觀事實,同時,在構造樹的過程中,需要多次自上而下對數據集的排序和掃描,因而導致算法的處理效率較低[2],如何改進算法從而使分類更加精確是我們亟需解決的問題。
1 ID3算法的改進
灰色關聯分析是指對一個系統發展變化態勢的定量描述和比較的方法,分析考慮了各因素之間的相關性,比系統分析中常用的因素兩兩對比法要更合理,更科學[3]。同時考慮到正弦函數的曲線變化比較緩和,對信息增益因子修正不會出現過度的問題。因此,本文引入灰色關聯度的正弦值作為ID3算法的修正因子進行改進。改進的ID3算法的具體流程是:
(1)計算各特征屬性與類別屬性之間的灰色關聯度,并將它們排序;
(2)對取值較多的屬性通過灰色關聯度來判斷是否最優,從而確定是否降低它的信息增益;
(3)對取值較多但灰色關聯度低的屬性,在計算其信息增益時通過灰色關聯度的正弦值作為修正因子,而其它屬性計算信息增益時修正因子設為0。
改進的ID3算法的描述如下:
算法:GBID(Sample_set,Attribute_set)
輸入:由多個屬性描述的訓練樣本集Sample_set;候選屬性集Attribute_set。
輸出:一棵決策樹。
Begin
如果 Sample_set為空
則返回null;創建結點L;
如果結點L中的所有樣本均屬于同一類C
則返回L作為葉結點,并以類C為標記;
如果Attribute_set為空
則返回L作為葉結點,并以Sample_set中最普通的類標記;
計算出Attribute_set中每個屬性的信息增益,并選擇出信息增益最大的屬性A和取值個數最多的屬性B
如果 A=B,該條件成立說明選擇信息增益最大和取值個數最多的屬性作為測試屬性易產生多值偏向問題,需要用修正因子降低該屬性的信息增益
則根據公式
屬性A具有多值傾向是其它來計算該屬性的修正因子;
再根據公式重新計算該屬性的信息增益;
否則該屬性的修正系數為0,信息增益最大的屬性不是取值個數最多屬性,選擇該屬性作為分裂屬性不會產生多值偏向問題,不需要用修正系數降低該屬信息增益
從Attribute_set中選擇出信息增益最大的屬性Splitting_Attribute作為分裂屬性;
標記結點L為Splitting _Attribute;
For Each Splitting_Attribute中的已知;
m為Splitting_Attribute的取值個數∥根據Splitting_Attribute的取值劃分Sample_set
根據Splitting_Attribute=,從結點L產生相應分支表示測試條件;
設為Splitting_Attribute=所獲得的樣本集;
如果為空
則加上一個葉結點,并標記為Sample_set中最普通的類;
否則加上GBID(Attribute_set,Splitting _Attribute)返回的結點;
End。
2 改進后的ID3算法的應用
我們選取十個學生的籃球訓練樣本集作說明,每個學生有四個屬性,分別為力量、身高、靈活性、速度。每條學生記錄為(學號 力量 身高 靈活性 速度 評價),十條學生記錄為(20100001強高好慢Y),(20100002強高好塊Y),(20100003強矮好慢Y),(20100004強中一般慢N),(20100005弱中差慢N),(20100006弱中差塊N),(20100007弱矮差快N),(20100008強高一般慢Y),(20100009弱高差慢N),(20100010弱中一般慢N)。力量為強、弱,量化為{0,1};身高為高、中、矮分別量化為{0,1,2};靈活性為好、一般、差分別量化為{0,1,2};速度為快、慢量化為{0,1}。根據訓練集樣本數據,依次根據公式計算各特征屬性與分類屬性的灰色關聯度,結果為r(力量)=0.52,r(身高)=0.72,r(靈活性)=0.78,r(速度)=0.56,然后計算上述屬性信息增益,可得Gain(力量)=0.4816,Gain(身高)=0.0275,Gain(靈活性)=0.0588,Gain(速度)=0.0368,因為力量的信息增益最大、取值個數最多但灰色關聯度最低,所以需要用修正因子降低其信息增益,設定修正因子CF(力量)為sin(0.52)=0.4968,而其它屬性的信息增益設定為0,則改進的ID3算法算得的Gain(力量)=-0.2196。因而會選擇信息增益最大的靈活性作為分裂屬性。
從上面實例可知,ID3算法確定決策樹的根節點時,選擇信息增益最大的力量作為分裂屬性,顯然這與客觀事實不符。而改進的ID3算法在確定根節點時,選擇靈活性作為分裂屬性,符合客觀事實,避免了多值但非最優屬性的力量成為分裂屬性。
3 結語
改進的ID3算法避免了傳統算法的多值傾向問題,使分類更加精確。首先,通過訓練集總結出學生分類模型,通過上述模型我們可以對新加入的學生進行預測,然后再將不同的學生根據模型添加到不同的類型中。把不同學生的特征存入了相應的用戶庫之后,教師可以通過它及時地了解學生的信息,并以此為依據為不同的學生提供不同的教學策略的決策支持。
參考文獻
[1] 王鑫,王建偉,鐘玉峰,等.個性化遠程教學平臺中數據挖掘技術的應用[J].黑龍江工程學院學報(自然科學版),2010(24):72-74.
[2] 孫衛強.決策樹方法在遠程教育輔助教學中的應用研究[D].中山大學,2010:22-25.
[3] 葉明全,胡學鋼.一種基于灰色關聯度的決策樹改進算法[J].2007,43(32):171-173.
摘 要:引入ID3算法的大學生體育訓練決策支持系統可以根據學生的特征對其分類。而傳統的決策樹ID3算法存在多值傾向的問題,選擇分裂屬性不符合客觀事實。本文運用了一種基于灰色關聯度的修正因子屬性選擇方法予以改進,克服了傳統ID3算法的不足,改進的ID3算法可使分類更加精確,更好的為大學生體育訓練提供決策支持。
關鍵詞:ID3算法 決策支持系統 數據挖掘 灰色關聯度
中圖分類號:G434 文獻標識碼:A 文章編號:1674-098X(2014)02(a)-0019-01
大學生體育訓練決策支持系統是隨著人工智能理論與數據挖掘技術的發展而不斷發展的,通過對大學生身體素質和訓練等數據來進行有效的挖掘,產生用于輔助決策的規則,進而為大學生體育訓練制定相應的訓練方案[1]。系統中應用了數據挖掘的決策樹ID3算法對不同特征的學生進行分類,但傳統的ID3算法存在多值傾向的問題,選擇分裂屬性不符合客觀事實,同時,在構造樹的過程中,需要多次自上而下對數據集的排序和掃描,因而導致算法的處理效率較低[2],如何改進算法從而使分類更加精確是我們亟需解決的問題。
1 ID3算法的改進
灰色關聯分析是指對一個系統發展變化態勢的定量描述和比較的方法,分析考慮了各因素之間的相關性,比系統分析中常用的因素兩兩對比法要更合理,更科學[3]。同時考慮到正弦函數的曲線變化比較緩和,對信息增益因子修正不會出現過度的問題。因此,本文引入灰色關聯度的正弦值作為ID3算法的修正因子進行改進。改進的ID3算法的具體流程是:
(1)計算各特征屬性與類別屬性之間的灰色關聯度,并將它們排序;
(2)對取值較多的屬性通過灰色關聯度來判斷是否最優,從而確定是否降低它的信息增益;
(3)對取值較多但灰色關聯度低的屬性,在計算其信息增益時通過灰色關聯度的正弦值作為修正因子,而其它屬性計算信息增益時修正因子設為0。
改進的ID3算法的描述如下:
算法:GBID(Sample_set,Attribute_set)
輸入:由多個屬性描述的訓練樣本集Sample_set;候選屬性集Attribute_set。
輸出:一棵決策樹。
Begin
如果 Sample_set為空
則返回null;創建結點L;
如果結點L中的所有樣本均屬于同一類C
則返回L作為葉結點,并以類C為標記;
如果Attribute_set為空
則返回L作為葉結點,并以Sample_set中最普通的類標記;
計算出Attribute_set中每個屬性的信息增益,并選擇出信息增益最大的屬性A和取值個數最多的屬性B
如果 A=B,該條件成立說明選擇信息增益最大和取值個數最多的屬性作為測試屬性易產生多值偏向問題,需要用修正因子降低該屬性的信息增益
則根據公式
屬性A具有多值傾向是其它來計算該屬性的修正因子;
再根據公式重新計算該屬性的信息增益;
否則該屬性的修正系數為0,信息增益最大的屬性不是取值個數最多屬性,選擇該屬性作為分裂屬性不會產生多值偏向問題,不需要用修正系數降低該屬信息增益
從Attribute_set中選擇出信息增益最大的屬性Splitting_Attribute作為分裂屬性;
標記結點L為Splitting _Attribute;
For Each Splitting_Attribute中的已知;
m為Splitting_Attribute的取值個數∥根據Splitting_Attribute的取值劃分Sample_set
根據Splitting_Attribute=,從結點L產生相應分支表示測試條件;
設為Splitting_Attribute=所獲得的樣本集;
如果為空
則加上一個葉結點,并標記為Sample_set中最普通的類;
否則加上GBID(Attribute_set,Splitting _Attribute)返回的結點;
End。
2 改進后的ID3算法的應用
我們選取十個學生的籃球訓練樣本集作說明,每個學生有四個屬性,分別為力量、身高、靈活性、速度。每條學生記錄為(學號 力量 身高 靈活性 速度 評價),十條學生記錄為(20100001強高好慢Y),(20100002強高好塊Y),(20100003強矮好慢Y),(20100004強中一般慢N),(20100005弱中差慢N),(20100006弱中差塊N),(20100007弱矮差快N),(20100008強高一般慢Y),(20100009弱高差慢N),(20100010弱中一般慢N)。力量為強、弱,量化為{0,1};身高為高、中、矮分別量化為{0,1,2};靈活性為好、一般、差分別量化為{0,1,2};速度為快、慢量化為{0,1}。根據訓練集樣本數據,依次根據公式計算各特征屬性與分類屬性的灰色關聯度,結果為r(力量)=0.52,r(身高)=0.72,r(靈活性)=0.78,r(速度)=0.56,然后計算上述屬性信息增益,可得Gain(力量)=0.4816,Gain(身高)=0.0275,Gain(靈活性)=0.0588,Gain(速度)=0.0368,因為力量的信息增益最大、取值個數最多但灰色關聯度最低,所以需要用修正因子降低其信息增益,設定修正因子CF(力量)為sin(0.52)=0.4968,而其它屬性的信息增益設定為0,則改進的ID3算法算得的Gain(力量)=-0.2196。因而會選擇信息增益最大的靈活性作為分裂屬性。
從上面實例可知,ID3算法確定決策樹的根節點時,選擇信息增益最大的力量作為分裂屬性,顯然這與客觀事實不符。而改進的ID3算法在確定根節點時,選擇靈活性作為分裂屬性,符合客觀事實,避免了多值但非最優屬性的力量成為分裂屬性。
3 結語
改進的ID3算法避免了傳統算法的多值傾向問題,使分類更加精確。首先,通過訓練集總結出學生分類模型,通過上述模型我們可以對新加入的學生進行預測,然后再將不同的學生根據模型添加到不同的類型中。把不同學生的特征存入了相應的用戶庫之后,教師可以通過它及時地了解學生的信息,并以此為依據為不同的學生提供不同的教學策略的決策支持。
參考文獻
[1] 王鑫,王建偉,鐘玉峰,等.個性化遠程教學平臺中數據挖掘技術的應用[J].黑龍江工程學院學報(自然科學版),2010(24):72-74.
[2] 孫衛強.決策樹方法在遠程教育輔助教學中的應用研究[D].中山大學,2010:22-25.
[3] 葉明全,胡學鋼.一種基于灰色關聯度的決策樹改進算法[J].2007,43(32):171-173.
摘 要:引入ID3算法的大學生體育訓練決策支持系統可以根據學生的特征對其分類。而傳統的決策樹ID3算法存在多值傾向的問題,選擇分裂屬性不符合客觀事實。本文運用了一種基于灰色關聯度的修正因子屬性選擇方法予以改進,克服了傳統ID3算法的不足,改進的ID3算法可使分類更加精確,更好的為大學生體育訓練提供決策支持。
關鍵詞:ID3算法 決策支持系統 數據挖掘 灰色關聯度
中圖分類號:G434 文獻標識碼:A 文章編號:1674-098X(2014)02(a)-0019-01
大學生體育訓練決策支持系統是隨著人工智能理論與數據挖掘技術的發展而不斷發展的,通過對大學生身體素質和訓練等數據來進行有效的挖掘,產生用于輔助決策的規則,進而為大學生體育訓練制定相應的訓練方案[1]。系統中應用了數據挖掘的決策樹ID3算法對不同特征的學生進行分類,但傳統的ID3算法存在多值傾向的問題,選擇分裂屬性不符合客觀事實,同時,在構造樹的過程中,需要多次自上而下對數據集的排序和掃描,因而導致算法的處理效率較低[2],如何改進算法從而使分類更加精確是我們亟需解決的問題。
1 ID3算法的改進
灰色關聯分析是指對一個系統發展變化態勢的定量描述和比較的方法,分析考慮了各因素之間的相關性,比系統分析中常用的因素兩兩對比法要更合理,更科學[3]。同時考慮到正弦函數的曲線變化比較緩和,對信息增益因子修正不會出現過度的問題。因此,本文引入灰色關聯度的正弦值作為ID3算法的修正因子進行改進。改進的ID3算法的具體流程是:
(1)計算各特征屬性與類別屬性之間的灰色關聯度,并將它們排序;
(2)對取值較多的屬性通過灰色關聯度來判斷是否最優,從而確定是否降低它的信息增益;
(3)對取值較多但灰色關聯度低的屬性,在計算其信息增益時通過灰色關聯度的正弦值作為修正因子,而其它屬性計算信息增益時修正因子設為0。
改進的ID3算法的描述如下:
算法:GBID(Sample_set,Attribute_set)
輸入:由多個屬性描述的訓練樣本集Sample_set;候選屬性集Attribute_set。
輸出:一棵決策樹。
Begin
如果 Sample_set為空
則返回null;創建結點L;
如果結點L中的所有樣本均屬于同一類C
則返回L作為葉結點,并以類C為標記;
如果Attribute_set為空
則返回L作為葉結點,并以Sample_set中最普通的類標記;
計算出Attribute_set中每個屬性的信息增益,并選擇出信息增益最大的屬性A和取值個數最多的屬性B
如果 A=B,該條件成立說明選擇信息增益最大和取值個數最多的屬性作為測試屬性易產生多值偏向問題,需要用修正因子降低該屬性的信息增益
則根據公式
屬性A具有多值傾向是其它來計算該屬性的修正因子;
再根據公式重新計算該屬性的信息增益;
否則該屬性的修正系數為0,信息增益最大的屬性不是取值個數最多屬性,選擇該屬性作為分裂屬性不會產生多值偏向問題,不需要用修正系數降低該屬信息增益
從Attribute_set中選擇出信息增益最大的屬性Splitting_Attribute作為分裂屬性;
標記結點L為Splitting _Attribute;
For Each Splitting_Attribute中的已知;
m為Splitting_Attribute的取值個數∥根據Splitting_Attribute的取值劃分Sample_set
根據Splitting_Attribute=,從結點L產生相應分支表示測試條件;
設為Splitting_Attribute=所獲得的樣本集;
如果為空
則加上一個葉結點,并標記為Sample_set中最普通的類;
否則加上GBID(Attribute_set,Splitting _Attribute)返回的結點;
End。
2 改進后的ID3算法的應用
我們選取十個學生的籃球訓練樣本集作說明,每個學生有四個屬性,分別為力量、身高、靈活性、速度。每條學生記錄為(學號 力量 身高 靈活性 速度 評價),十條學生記錄為(20100001強高好慢Y),(20100002強高好塊Y),(20100003強矮好慢Y),(20100004強中一般慢N),(20100005弱中差慢N),(20100006弱中差塊N),(20100007弱矮差快N),(20100008強高一般慢Y),(20100009弱高差慢N),(20100010弱中一般慢N)。力量為強、弱,量化為{0,1};身高為高、中、矮分別量化為{0,1,2};靈活性為好、一般、差分別量化為{0,1,2};速度為快、慢量化為{0,1}。根據訓練集樣本數據,依次根據公式計算各特征屬性與分類屬性的灰色關聯度,結果為r(力量)=0.52,r(身高)=0.72,r(靈活性)=0.78,r(速度)=0.56,然后計算上述屬性信息增益,可得Gain(力量)=0.4816,Gain(身高)=0.0275,Gain(靈活性)=0.0588,Gain(速度)=0.0368,因為力量的信息增益最大、取值個數最多但灰色關聯度最低,所以需要用修正因子降低其信息增益,設定修正因子CF(力量)為sin(0.52)=0.4968,而其它屬性的信息增益設定為0,則改進的ID3算法算得的Gain(力量)=-0.2196。因而會選擇信息增益最大的靈活性作為分裂屬性。
從上面實例可知,ID3算法確定決策樹的根節點時,選擇信息增益最大的力量作為分裂屬性,顯然這與客觀事實不符。而改進的ID3算法在確定根節點時,選擇靈活性作為分裂屬性,符合客觀事實,避免了多值但非最優屬性的力量成為分裂屬性。
3 結語
改進的ID3算法避免了傳統算法的多值傾向問題,使分類更加精確。首先,通過訓練集總結出學生分類模型,通過上述模型我們可以對新加入的學生進行預測,然后再將不同的學生根據模型添加到不同的類型中。把不同學生的特征存入了相應的用戶庫之后,教師可以通過它及時地了解學生的信息,并以此為依據為不同的學生提供不同的教學策略的決策支持。
參考文獻
[1] 王鑫,王建偉,鐘玉峰,等.個性化遠程教學平臺中數據挖掘技術的應用[J].黑龍江工程學院學報(自然科學版),2010(24):72-74.
[2] 孫衛強.決策樹方法在遠程教育輔助教學中的應用研究[D].中山大學,2010:22-25.
[3] 葉明全,胡學鋼.一種基于灰色關聯度的決策樹改進算法[J].2007,43(32):171-173.