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