石宜徑
(蘭州財經(jīng)大學(xué)統(tǒng)計學(xué)院2016級應(yīng)用統(tǒng)計專業(yè),蘭州 730101)
數(shù)據(jù)挖掘就是從一系列龐大的數(shù)據(jù)體系中,通過采用一定的科學(xué)方法來獲得有用的信息,進而對我們的生產(chǎn)生活起到幫助作用。但是現(xiàn)實生活中,有諸多因素影響到數(shù)據(jù)的形成過程,采集過程。并且經(jīng)過研究發(fā)現(xiàn),諸多數(shù)據(jù)的屬性都具有極大連續(xù)性,即我們所說的連續(xù)屬性,因此將其進行離散化具有重要意義[1]。這就是數(shù)據(jù)的預(yù)處理,所以數(shù)據(jù)的預(yù)處理就是將所獲取的比較雜亂的數(shù)據(jù)經(jīng)過信息提取,獲得有效信息的過程。我們都知道獲取的數(shù)據(jù)都具有連續(xù)屬性,對其進行離散化成為在數(shù)據(jù)挖掘之前非常重要的一步,這種操作對信息進行提取,不僅減小了數(shù)據(jù)量,使之經(jīng)提取變成有用信息,而且還能提高數(shù)據(jù)模型的運行效率和結(jié)果優(yōu)化,呈現(xiàn)更準(zhǔn)確的數(shù)據(jù)結(jié)果。在名詞屬性中,大致可以分為三類:名詞屬性、數(shù)字屬性和連續(xù)值屬性。尤其注意的是,在數(shù)據(jù)處理過程中,大多數(shù)處理的是具有離散值屬性的數(shù)據(jù)集合,當(dāng)然也有些既可以處理這些,也可以處理連續(xù)值屬性,這時候就出現(xiàn)一個問題,連續(xù)值屬性的處理結(jié)果會比離散值屬性結(jié)果差很多,因此我們要想獲得好的成果,就應(yīng)該進行離散化處理,在這里我們應(yīng)該注意離散化程度應(yīng)該合理考慮數(shù)據(jù)情況與使用情況相結(jié)合,以達到處理的最佳結(jié)果。本文主要是對連續(xù)屬性數(shù)據(jù)離散化進行了解,分析自由度并提出改進算法,最后應(yīng)用于實例中。
由于機器學(xué)習(xí)和數(shù)據(jù)挖掘技術(shù)的逐步深化,對連續(xù)屬性進行離散化越來越成熟,也有了很大的發(fā)展,但是到目前為止,仍然出現(xiàn)市場較為混亂,模型精度參差不齊,結(jié)果也不一。在1990年Chiu等人基于在離散化空間中提出熵最大的原理來形成的,就是在此空間中通過應(yīng)該較為科學(xué)的搜索法來獲得較為合格的分區(qū),尤其注意的是該算法需要西安選擇得到比較合適的初代分區(qū),而該分區(qū)能夠影響后面的分類精度。隨后有科學(xué)家提出了基于信息熵的方法,涉及到了決策樹的引入,需要用到迭代回歸分析方法,為保證結(jié)果的有效性,需要在數(shù)據(jù)處理中引入前提條件,一般有這三種條件:最小信息增益、最小示例數(shù)和最大分區(qū)數(shù)。
到目前為止,研究學(xué)者主要對老舊算法進行了一定程度上的改進,相應(yīng)也取得了顯著效果。比如說較為普遍的概率生成模型,該模型是依靠概率知識進行數(shù)據(jù)離散化,成果顯著提高[2]。其他有些方法是計算機工具提供的,較為死板,不值得提倡。對部分模型是經(jīng)過其他專業(yè)領(lǐng)域經(jīng)過直接采用所形成了,但很難被數(shù)據(jù)挖掘人員使用,不能很好普及。在這里值得一提的是基于粗糙集理論和布爾邏輯的屬性離散化方法,該方法的優(yōu)點在于完全吸收了粗糙集理論的優(yōu)勢與發(fā)揮布爾邏輯的優(yōu)點,使得離散化結(jié)果更加具有可信性[3]。
對數(shù)據(jù)進行離散化,就是依靠一些依據(jù)來對數(shù)據(jù)進行分類獲得所需結(jié)果。在生活中,最常見的就是按照學(xué)生的成績來進行劃分,分為不及格與及格學(xué)生名單。而又將及格名單可以進一步分為良好、優(yōu)秀等不同區(qū)間。就比如依據(jù)年齡對人群進行劃分:兒童、少年、青年、中年、老年等。更遠的,還可以按照其他標(biāo)準(zhǔn)參數(shù)來劃分原始數(shù)據(jù),例如身高、體重等等,相同的分類方式,不同的分類依據(jù),也會得到不同的結(jié)果。
決策表定義為:設(shè)S=<U,R,V,f>為一信息系統(tǒng),其中U={x1,x1,…,xn}是論域,A是屬性集合,V是屬性取值集合,F(xiàn)是U*A→V的映射。若A=C∪D,C∩D=?,C稱為條件屬性集,D稱為決策屬性集,則該信息系統(tǒng)稱為決策表。一個決策表S=<U,R,V,f>,其中R=C∪syggg00是總的屬性集合,子集C是條件屬性集,是決策屬性集,syggg00是決策屬性,U={x1,x1,…,xn}是論域。屬性a的值域Va上的一個斷點用(a,c)表示,其中c是實數(shù)集,a ∈ R。在值域 Va=[Ia,ra]上的任意斷點區(qū)間定義了V的一個分類pa:
對于任意pa=Upa定義了新的決策表,SP=<U,R,VP,f >fP其中xa∈U,i∈{0,1,…,Ka},會形成新的信息。
屬性離散化的一般步驟如圖1所示:
圖1 屬性離散化步驟
(1)等寬區(qū)間法。該方法是最簡單的算法,講的是數(shù)據(jù)按照等間隔劃分得到等間隔數(shù)列,最后每個數(shù)據(jù)的間隔都是相等的,但是對于離散卻隱約符合正態(tài)分布或其他分布的數(shù)據(jù)卻不太好。因為一般數(shù)據(jù)都趨向于某一數(shù)值,并且呈現(xiàn)出大量集中于某一塊或某一范圍的現(xiàn)象,對這種情況可以適當(dāng)考慮等頻區(qū)間法。
(2)等頻區(qū)間法。這個算法的優(yōu)點在于等頻,就是在區(qū)間內(nèi)我們可以放入等多的數(shù)據(jù),這些數(shù)據(jù)的數(shù)量是一樣多的,在一定上可以避免數(shù)據(jù)大量集中的問題,這個方法與上一個方法的區(qū)別在于,兩者都是等間隔,不同的是一個是等寬度,一個是等數(shù)量,兩者各有優(yōu)劣,在具體使用中應(yīng)該尤其注意。而且這兩種算法比較簡單,會使得處理結(jié)果較差,應(yīng)該與其他高級算法結(jié)合,以達到所需效果。
(3)k-means算法。該算法比較常用,相對于上兩個算法,會更加高級與科學(xué),尤其注意在算法運行前需要屬于分組個數(shù)。該算法的核心算法在于,先找到樣本的重心,然后以歐氏距離為依據(jù)來進行樣本劃分,然后重新計算重心再進行劃分,最后直到不再分類為止。在這里我們應(yīng)該提前了解數(shù)據(jù),對分類數(shù)量以及閾值有個設(shè)定,才能使分類結(jié)果更好。
χ2分布:設(shè)X1,X2,…Xn是來自總體N(0,1)的樣本,則稱統(tǒng)計量
服從自由度為n的χ2分布,自由度指的是樣本個數(shù)。
Su等人在2005年提高了Modi fi ed Chi2算法,因為他認為原作者使用D的時候沒有考慮到實際分類過程中的差異,應(yīng)該在獲得D的基礎(chǔ)上除以,來得到更為可靠的結(jié)果,即Extended Chi2算法[4]。該算法的步驟如下:
首先計算數(shù)據(jù)的不一致率,然后根據(jù)屬性值來進行升序排序處理,計算所有數(shù)據(jù)的χ2值,再結(jié)合具體的α數(shù)值來得到實際的Xα2數(shù)值,然后我們就可以得到D。然后執(zhí)行迭代算法,當(dāng)鄰區(qū)間不能再合并時結(jié)束循環(huán),這時候再參考不一致率情況,如果不變則跳轉(zhuǎn)到計算D,否則進入下一步,即跳出迭代的合并。然后用新的α來代替舊值,算出D,并查閱是否可以將級,如果不能則跳出循環(huán)結(jié)束。最后,對所有屬性進行離散化,采用逐步運算方法,并參考不一致率。
在之前的算法中,我們是將自由度為k-1,對于上述算法。再后來的算法則是講自由度改為k′-1,而將k改為類別數(shù)。χ2分布的隨機變量:
因此我們可以得出這樣的結(jié)論:自由度選取與類別數(shù)和相臨區(qū)間數(shù)是有關(guān)的,故而可以選2k-1作為自由度,k為系統(tǒng)的類別數(shù)。
UCI數(shù)據(jù)庫是加州大學(xué)歐文分校提出的用于機器學(xué)習(xí)的數(shù)據(jù)庫,這個數(shù)據(jù)庫暫時共有335個數(shù)據(jù)集,但還在增加。從該數(shù)據(jù)庫中隨機選取7個數(shù)據(jù)集進行驗證。如表1所示。
表1 數(shù)據(jù)集相關(guān)屬性統(tǒng)計表
對基本算法與改進算法用matlab進行編程,對7個數(shù)據(jù)進行處理(離散化),統(tǒng)計識別出正確識別率精度以及形成規(guī)則的平均個數(shù),從表2中可以清楚看出,對于大多數(shù)數(shù)據(jù),采用自由度改進算法進行處理,會使處理結(jié)果更好,說明改進算法有效。
表2 處理結(jié)果表