中國計量大學信息工程學院 蔡叢豫
引言:就傳統的數據挖掘技術來說,其在數據量級方面存在著一定的局限性,影響最終的效果,所以將粗糙集理論應用其中。對此,本文以算法的優化為切入點,對一種基于粗糙集的海量數據挖掘算法進行分析。結合本文的分析,其目的就是優化海量數據挖掘算法,并以全新的并行算法等為基礎,提高海量數據挖掘的效率,以期為相關人員提供參考。
在Rough Set知識獲取方法中,數據離散化是其關鍵的構成內容之一,本文就采用屬性重要性的方式,將CDL引入到原算法之中,保證這種算法能夠實現對海量數據的挖掘。具體來說,這種算法的具體步驟為:
(1)對每一個連續的條件屬性,進行循環遍歷,同時能夠生成條件信息熵,即ICDL({ai})的信息熵。
(2)結合條件信息,對信息熵以降序的方式進行排序,即將所有連續的屬性均進行排列。
(3)對于完成排序的DT,并每個條件的ai進行循環遍歷,從而能夠形成ICDL(C{ai})。在這一條件下,可以將Szone設置為null,而Szone實際上是ai值域的子集。
(4)對(Sa,Sb)區間的額每一個斷點,進行循環遍歷,而Sa、Sb是ai的連續屬性值,并設Szone的值為Szone與Sa的和。
(5)對DT中所有滿足條件SVj(ai)=Sh的樣本,進行循環遍歷,即SVj,而其中的Sh=屬于Szone。
(6)對DT中所有滿足條件SVj(ai)=Sb的樣本,進行循環遍歷,即SVk,如果樣本SVk、SVj屬于ICDL({ai})的同一分類中,并且使用@的符號進行連接,在需要將(Sa,Sb)的斷點選擇出來,并對Szone進行重置(空)。
基于粗糙集理論,能夠對值約簡算法進行改進,以此來實現對海量的挖掘,保證數據分析結果的穩定性。具體來說,值約簡算法的具體步驟如下:
(1)輸入一個完備的信息系統DT,最終輸出的結果為規則集RT。假設Index為樣本標號,DA表示決策屬性,C則為條件屬性的集合,然后進行以下的計算步驟。
(2)對RT進行初始化,使其轉化為DT。
(3)對所有的條件屬性ai進行循環遍歷,并將SSCDL(ai)中的所有樣本,均以“?”的符號標記在ai之上。
(4)對MSCDL(ai)中的所有樣本ai,均以“*”進行屬性值的標記。另外,在MSCDL(ai)中剩余的樣本,其ai的屬性值并不需要進行改變。
(5)在后續的計算步驟,只需要按照傳統的值約簡算法進行即可。
實際上,本文所提及的離散化算法,其是以動態聚類為基礎的。對于這種算法的具體步驟,本文將做出如下的分析:
(1)輸入決策表,即S=<U,同時R=C∪D,還包括V、F>。輸出的結果為:對S進行篩選而形成具體的斷點集,即CUTfirst,以此來對S中的每一個屬性k進行遍歷,然后進行如下的計算。
(2)對k斷點的重要性進行計算、分析,并按照由小到大的順序進行排序。然后,在數組Importantk[]中對計算結果進行保存,數組的索引m表示斷點最為重要的位置。具體來說,Importantk[m]=max{Importantk[i],i∈并設l等于0,n等于|h-l+1|,而h等于m。
(3)采用歸一化的方式對數據進行處理,并對Importantk[]進行循環遍歷,最終得出:Importantk[i]=Importantk[i]/Importantk[m]。
(5)對聚類的個別數進行初始化,并對變量v=e+1進行循環控制。
(6)如果v的數值大于e,則應該進行以下的循環:1)建立中心表T,定在Importantk中對l~h的范圍進行隨機選擇K個中心;2)對e1=0的循環變量進行設定;3)如果e1不等于v時,其所執行的循環為:e1等于v,應對Importantk中數值距離、數值類別進行統計,然后將其與距離最小的類別進行同類處理,并對聚類中心的數值進行調整,明確T中各類標準差的數值,并使v等于
(8)在每一個聚類類別中,選擇最重要的斷點,添加至CUT-ifrst之中。基于這樣的方式,就能夠基于粗糙集理論實現對離散化算法的優化,以便于對海量數據進行挖掘與計算。
依據粗糙集理論,可以在動態聚類的基礎上,實現兩步并行理算化算法,其具體的計算步驟為:
(1)輸入S=<U,同時R=C∪D,還包括V、F>。輸出的結果為:決策表S中的斷點集,即CUTlast,然后進行如下的計算。
(2)在沒有進行離散化的基礎上,對決策表中區域的POSc(D)進行詳細的計算[2]。
(3)在散播屬性的階段,可以在主進程中設置證其能夠滿足條件條件屬性的全集,并將S1分配給P1……。并保
(4)在進行并行處理的過程中,假設進程為Pi,則可以通過兩步離散化算法進行處理,實現對斷點的聚類,并將其發送至CUTfirst中。
(6)在并行離散化算法的過程中,實際上需要對斷點補充進行修正,這一階段的具體方式,與兩步離散化算法相同。
(7)在斷點散播階段之中,其中的斷點集可以由各個進程L進行表示,將以等價類的方式對集合進行實例劃分,即CUTlast為空集,而L則等于{U}。在計算的過程中,可以設置滿足條件另外還包括條
(8)在對數據進行并行處理的階段,可以根據斷點的重要性,進行選擇與發送。
(9)在斷點的歸約階段之中,其主進程應該接受所有的結果[3]。
(10)對各個進程的CUTlast進行更新。
(11)依據X∈L的條件,對相關的數據進行處理,最終將其中的X取掉。
(12)如果L中的實例并沒有形成相同的決策,在需要從步驟(3)進行重復,反之則可以結束算法。
結語:綜上所述,為了能夠實現對海量數據的挖掘,就應該打破傳統算法的限制。在本文的分析中,對于算法的改進,其創新點在于以粗糙集為基礎,結合傳統算法實現了對海量數據挖掘算法的優化,而本文的研究能夠在一定程度上為豐富文獻類的類型做出貢獻,基于這一條件,提高了數據算法的簡便性,并實現了對數據深入挖掘的目標,發揮了基于粗糙集的海量數據挖掘算法的價值。通過這樣的優化方式,在根本上強化了數據挖掘算法的準確性,在未來的發展中,很可能會應用在各個行業的大數據分析中,為其制定決策、戰略提供有價值的數據依據。另外,所以,結合本文的分析發現,文中所論述的一種基于粗糙集的海量數據挖掘算法,其具有較強的可行性。