王 玉,韓家新
(西安石油大學(xué)計算機(jī)學(xué)院,西安 710065)
體檢報告是指對身體進(jìn)行檢查而生成的數(shù)據(jù)文檔。它是將血液標(biāo)本與抗凝劑均勻混合,經(jīng)全自動血液細(xì)胞分析儀遵循相關(guān)制度進(jìn)行檢驗(yàn)得到的數(shù)據(jù)[1]。當(dāng)體檢報告中的數(shù)據(jù)高于或低于參考值時,此數(shù)據(jù)有助于醫(yī)生分析病情,同時對患者起到警示作用。血清質(zhì)譜數(shù)據(jù)是將血液傳入質(zhì)譜,并在粒子區(qū)域?qū)ζ溥M(jìn)行離子化,通過質(zhì)荷比對進(jìn)入質(zhì)譜儀的粒子進(jìn)行分離,對離子信號進(jìn)行檢測并記錄峰強(qiáng)得到的[2]。體檢報告與血清質(zhì)譜數(shù)據(jù)都是使用血液樣本通過不同的分析儀器得到的數(shù)據(jù),通過數(shù)據(jù)挖掘得到質(zhì)譜數(shù)據(jù)和體檢數(shù)據(jù)之間的關(guān)聯(lián)性。
關(guān)聯(lián)規(guī)則是最常見的數(shù)據(jù)挖掘任務(wù),可以用來構(gòu)建推薦體系。通過收集到的用戶使用、購買等數(shù)據(jù),挖掘出相關(guān)性,形成知識,作為推薦的依據(jù)在電商廣告、新聞推送等相關(guān)推薦場景應(yīng)用。另一種對數(shù)據(jù)的挖掘,如氣象因素分析、事故因素分析等通過過往數(shù)據(jù)總結(jié)規(guī)則。質(zhì)譜數(shù)據(jù)和體檢數(shù)據(jù)之間的關(guān)聯(lián)意義也逐漸被研究人員看到。用關(guān)聯(lián)規(guī)則算法對血清質(zhì)譜數(shù)據(jù)和體檢數(shù)據(jù)的屬性進(jìn)行挖掘,分析質(zhì)譜數(shù)據(jù)與體檢數(shù)據(jù)之間的對應(yīng)關(guān)系,這對醫(yī)學(xué)血液檢測的發(fā)展有積極的意義。
血清數(shù)據(jù)是一組無序的連續(xù)性數(shù)據(jù),在傳統(tǒng)數(shù)據(jù)分析過程中,對于連續(xù)性數(shù)據(jù)的屬性需要進(jìn)行離散化。在當(dāng)前數(shù)據(jù)分析中,關(guān)于數(shù)據(jù)離散化的方法有:聚類、等寬法、等頻法。因?yàn)榈葘挿▽﹄x群點(diǎn)比較敏感,不均勻地分布數(shù)據(jù);等頻法可能將相同的數(shù)據(jù)分到不同的區(qū)間;聚類離散化適用于任意屬性的數(shù)據(jù)集,可以靈活控制不同層次的聚類粒度。由于質(zhì)譜數(shù)據(jù)高維且各屬性維度不同的特點(diǎn),使用聚類對數(shù)據(jù)進(jìn)行離散化。
面對一組數(shù)據(jù)K={K1,K2,…,Kn},將這組數(shù)據(jù)分為m組(m<n),這樣的過程被稱為聚類。當(dāng)前的主要聚類方法有[3]:
(1)基于距離的聚類:以空間中k個點(diǎn)為中心進(jìn)行聚類,對最靠近它們的對象歸類。該方法的優(yōu)點(diǎn)是速度快、簡單。
(2)層次聚類方法:主要基于二叉樹的數(shù)據(jù)結(jié)構(gòu),它的優(yōu)點(diǎn)是不需要預(yù)先估計當(dāng)前數(shù)據(jù)有多少個類別,但在面對高維數(shù)據(jù)時速度降低。
(3)基于密度的聚類:具有任意形狀簇的噪聲魯棒性[4],然而該方法在面對具有多種密度的簇的情況下,大部分基于密度的流數(shù)據(jù)聚類方法難以獲得滿意的聚類結(jié)果。
(4)基于譜圖的聚類:在規(guī)則的數(shù)據(jù)集中效果比較明顯。
(5)基于神經(jīng)網(wǎng)絡(luò)的聚類:通常用于識別檢測,圖像處理等領(lǐng)域,在無監(jiān)督學(xué)習(xí)中學(xué)習(xí)效率比較低[5]。
質(zhì)譜數(shù)據(jù)有維度高、不規(guī)則的特點(diǎn),基于此特點(diǎn),本文選擇使用基于距離的改進(jìn)K-means聚類對連續(xù)屬性進(jìn)行離散化。
關(guān)聯(lián)規(guī)則算法是從大量數(shù)據(jù)中發(fā)現(xiàn)數(shù)據(jù)項(xiàng)集之間關(guān)聯(lián)性,分析得出關(guān)聯(lián)規(guī)則,對制定決策起到關(guān)鍵性作用。目前關(guān)聯(lián)規(guī)則挖掘算法主要有:
(1)層次算法:是一種針對挖掘布爾型數(shù)據(jù)頻繁項(xiàng)集的算法,它是比較經(jīng)典的關(guān)聯(lián)規(guī)則算法。
(2)搜索算法:指在讀取數(shù)據(jù)集的時侯,對該數(shù)據(jù)集事務(wù)中的所有項(xiàng)目集進(jìn)行整體規(guī)劃處理。它需要計算出數(shù)據(jù)集中的所有數(shù)據(jù)項(xiàng)目集的支持?jǐn)?shù),候選項(xiàng)目集數(shù)量的龐大會導(dǎo)致計算效率明顯下降。
(3)數(shù)據(jù)集劃分算法:是將整個數(shù)據(jù)集分為多個可以存放在內(nèi)存中進(jìn)行處理的數(shù)據(jù)小塊。
(4)抽樣算法:通過對數(shù)據(jù)集抽樣產(chǎn)生所需的樣本數(shù)據(jù)集,然后針對樣本數(shù)據(jù)集進(jìn)行數(shù)據(jù)挖掘,一般適用于對挖掘效率要求較高,而對挖掘準(zhǔn)確性要求不太高的關(guān)聯(lián)規(guī)則數(shù)據(jù)挖掘[6]。
根據(jù)質(zhì)譜數(shù)據(jù)及體檢數(shù)據(jù)的特征分析,選用層次算法。其中的典型代表是Apriori和FP-Growth算法,使用Apriori算法分析血清質(zhì)譜數(shù)據(jù)和體檢數(shù)據(jù)關(guān)聯(lián)規(guī)則,并且使用FP-Growth算法與Apriori算法對得出的關(guān)聯(lián)規(guī)則進(jìn)行驗(yàn)證。
K-means算法將一組有限數(shù)據(jù)集劃分為多個簇的過程。簇中所有元素的均值為該簇的中心,即質(zhì)心。隨機(jī)選取初始質(zhì)心之后,將每個數(shù)據(jù)分配到離它們最近的質(zhì)心,生成n個簇,對于每個簇,重新計算該簇的質(zhì)心并且將樣本點(diǎn)重新分配給各簇,如此迭代,直到質(zhì)心位置不再發(fā)生變化。
傳統(tǒng)K-means方法主要采用隨機(jī)選取初始質(zhì)心的方式,但是這種方式會導(dǎo)致一個局部最優(yōu)解的問題,即將一個比較大的簇分裂,同時將兩個小的簇進(jìn)行合并。由于K-means算法具有不穩(wěn)定性,初始質(zhì)心選擇不同,結(jié)果也不同。
改進(jìn)K-means算法中質(zhì)心初始值采用等差方式進(jìn)行選取,其中μi為第i個質(zhì)心,a為數(shù)據(jù)中最大值,b為數(shù)據(jù)中最小值,n為質(zhì)心個數(shù)。
根據(jù)公式(1),初始化質(zhì)心μ={μ1,μ2,…,μk},計算當(dāng)前對象與μ的距離dis(Xi,μj)。
式(2)中,μj( 1 ≤j≤k)表示第j個質(zhì)心,Xt( 1 ≤t≤m)表示第t個屬性,μjt表示第j個聚類的第t個屬性。根據(jù)公式(2)可以獲得距離矩陣Di s={dis1,dis2,…,disn},其中disi={dXiμ1,dXiμ2,…,dXiμk},依次將每個X分配到min(disi)所在的μ的簇中。簇內(nèi)樣本均值計算公式如下:
在聚類算法中,針對無標(biāo)簽數(shù)據(jù)集通常采用輪廓系數(shù)來評價聚類結(jié)果的好壞。由于原始血清質(zhì)譜數(shù)據(jù)是沒有真實(shí)標(biāo)簽的,因此主要通過輪廓系數(shù)來選擇最優(yōu)聚類結(jié)果。單個樣本的輪廓系數(shù)公式如下:
每個樣本的S值越接近1,代表聚類效果越好;越接近-1,代表聚類效果越差。通過計算每個樣本的輪廓系數(shù)的均值Sˉ可判定離散化是否符合簇內(nèi)差異小,簇外差異大的特點(diǎn),即判定聚類效果好壞。
Apriori算法是通過連接產(chǎn)生候選項(xiàng)及其支持度然后通過剪枝生成頻繁項(xiàng)集,它是一種基于二叉樹逐層搜索的迭代方法[7]。對于一組可能具有關(guān)聯(lián)性的事務(wù),它所對應(yīng)的集合表示為A={a1,a2,…,ai,…,an},n為樣本數(shù)量。Ai中的全部項(xiàng)集表示為ai={b1,b2,…,bi,…,bm},m為每個樣本的特征數(shù)量,bi為每個樣本的每一項(xiàng)。說明原始數(shù)據(jù)集是一個n*m的數(shù)據(jù)集。
(1)頻繁項(xiàng)集Lk={l1,l2,…,li,…,ln},n為候選項(xiàng)集的個數(shù),li={b1,b2,…,bi,…,bn},k為頻繁k項(xiàng)集;
(a)當(dāng)k!=1時,k為頻繁k項(xiàng)集,頻繁項(xiàng)集中的每一項(xiàng)li都符合以下公式:
Conf i d ence為最小置信度,置信度代表了一個項(xiàng)集在數(shù)據(jù)集中出現(xiàn)的頻繁程度。在一個樣本中bi出現(xiàn)的條件下,則li出現(xiàn)的概率。Num(l1)為項(xiàng)集l1在數(shù)據(jù)集中出現(xiàn)的次數(shù)。
此外,谷祺教授還曾于1992~1993年在《遼寧財會》連續(xù)發(fā)表了十幾篇有關(guān)資產(chǎn)評估的學(xué)術(shù)論文,對資產(chǎn)評估的理論與方法進(jìn)行了系統(tǒng)論述,并就其中的一些核心問題提出了獨(dú)到見解,對于完善資產(chǎn)評估學(xué)的學(xué)科體系做出了積極、有益的貢獻(xiàn)。
(b)當(dāng)k=1時,即為頻繁1項(xiàng)集,頻繁1項(xiàng)集中的每一項(xiàng)li都滿足以下公式:
Frequency為最小頻繁度。低于Frequency的項(xiàng)集在整個數(shù)據(jù)集中出現(xiàn)的次數(shù)太少,研究認(rèn)為它所結(jié)合生成的頻繁項(xiàng)集不具備普遍性,即對它進(jìn)行剪枝處理。
(2)候選項(xiàng)集Ck={ }c1,c2,…,ci,…,cn,n為候選項(xiàng)集的個數(shù),ci={ }b1,b2,…,bi,…,bk,k為候選k項(xiàng)集。L1,L2,…,LK-1中的頻繁項(xiàng)集兩兩結(jié)合,生成候選項(xiàng)集di={ }b1,b2,…,bi,…,bq,若q=k,則di就是候選k項(xiàng)集ck。
(3)關(guān)聯(lián)規(guī)則:利用已經(jīng)搜集到的頻繁項(xiàng)集,挖掘物品或者屬性之間存在的內(nèi)在關(guān)系。關(guān)聯(lián)規(guī)則發(fā)現(xiàn)是指找出置信度大于等于Confident的規(guī)則。
實(shí)驗(yàn)室共收集到200人的血清樣本及其體檢數(shù)據(jù)。
3.1.1 血清質(zhì)譜數(shù)據(jù)
每個樣本包含十組血清質(zhì)譜數(shù)據(jù)。以其中一個編號為#4的血清樣本的前兩組為例,如表1所示,為該樣本的血清質(zhì)譜數(shù)據(jù)。

表1 質(zhì)譜數(shù)據(jù)樣例
每組樣本由Mass和Relative Intensity構(gòu)成。Mass為質(zhì)荷比(m/z:指離子質(zhì)量與電荷數(shù)的比值);通過觀察實(shí)驗(yàn)中的數(shù)據(jù),發(fā)現(xiàn)質(zhì)荷比數(shù)據(jù)分布在150~1500之間(這里取前八行展示),數(shù)據(jù)精度保留了小數(shù)點(diǎn)后6位。Relative Intensity為相對豐度,也叫相對強(qiáng)度,在同位素分離理論中常用來表示輕組分的含量,在研究代表質(zhì)荷比的含量,它的數(shù)據(jù)精度保留了小數(shù)點(diǎn)后9位。
3.1.2 體檢數(shù)據(jù)
每一行代表一個樣本數(shù)據(jù),編號與血清質(zhì)譜數(shù)據(jù)的編號一一對應(yīng),每個樣本數(shù)據(jù)包含基本信息樣本和血液檢測的基本檢測項(xiàng)目共43項(xiàng),即每條數(shù)據(jù)有43個屬性。以前三組的體檢數(shù)據(jù)為例,如表2所示,為該體檢數(shù)據(jù)。

表2 體檢數(shù)據(jù)樣例
數(shù)據(jù)預(yù)處理技術(shù)是數(shù)據(jù)分析以及數(shù)據(jù)挖掘過程中非常重要的一環(huán)。數(shù)據(jù)預(yù)處理是指在對數(shù)據(jù)進(jìn)行數(shù)據(jù)挖掘的主要處理工作之前,先對原始數(shù)據(jù)進(jìn)行必要的清洗、集成、轉(zhuǎn)換、離散、歸約、特征選擇和提取等一系列處理工作,達(dá)到挖掘算法進(jìn)行知識獲取要求的最低規(guī)范和標(biāo)準(zhǔn)[8]。
(1)首先將原始質(zhì)譜數(shù)據(jù)進(jìn)行轉(zhuǎn)置,轉(zhuǎn)換后的數(shù)據(jù)每列代表一種質(zhì)荷比,它們的差值為0.1,每一行代表一組數(shù)據(jù)。
(2)每組質(zhì)譜數(shù)據(jù)與體檢數(shù)據(jù)一一對應(yīng),并將其合并。
(3)對數(shù)據(jù)中的缺失值進(jìn)行處理。
質(zhì)譜數(shù)據(jù)和體檢數(shù)據(jù)的離散化在一定程度上決定了最終得出的關(guān)聯(lián)規(guī)則。研究使用K-means算法和改進(jìn)K-means算法對數(shù)據(jù)進(jìn)行離散化,實(shí)驗(yàn)中選擇將數(shù)據(jù)聚類為三個類簇。
分別得到兩個算法的輪廓系數(shù)均值,K-means算法的值為0.785,改進(jìn)K-means算法的Sˉ值為0.739。可知改進(jìn)K-means算法更具備簇內(nèi)差異小,簇間差異大的特點(diǎn)。所以選擇改進(jìn)K-means算法對數(shù)據(jù)進(jìn)行離散化。離散化后的結(jié)果如表3所示:即聚類層面上的三類,偏低=0,偏正常=1,偏高=2。

表3 數(shù)據(jù)離散化
研究中使用Apriori算法和FP-Growth算法對于離散后的數(shù)據(jù)進(jìn)行關(guān)聯(lián)規(guī)則分析,設(shè)置Con f id ence的閾值為0.95。使用FP-Growth算法與Apriori算法對得出的聚類分析結(jié)果進(jìn)行驗(yàn)證。對同時存在于兩個算法中的關(guān)聯(lián)規(guī)則進(jìn)行保留,作為最終得到的關(guān)聯(lián)規(guī)則。
為了實(shí)驗(yàn)結(jié)果的精確性,通過FP-Growth算法對基于聚類的Apriori算法得出的結(jié)果進(jìn)行驗(yàn)證。基于聚類的Apriori算法得出的結(jié)果中,如果在FP-Growth算法得到的結(jié)果中也出現(xiàn)則保留。基于聚類的Apriori算法得出180516條關(guān)聯(lián)規(guī)則,F(xiàn)P-Growth算法得出357711條關(guān)聯(lián)規(guī)則,最終保留下來36980條關(guān)聯(lián)規(guī)則。
從數(shù)量上看,血清質(zhì)譜數(shù)據(jù)之間的關(guān)聯(lián)規(guī)則是最多的,說明體檢數(shù)據(jù)屬性與屬性之間有很強(qiáng)的關(guān)聯(lián)性。從概率上來看,選取置信度大于95%的關(guān)聯(lián)規(guī)則,研究生成的關(guān)聯(lián)規(guī)則的置信度比較高。
以上實(shí)驗(yàn)得出的結(jié)果將關(guān)聯(lián)規(guī)則可分為三類:體檢數(shù)據(jù)的關(guān)聯(lián)規(guī)則分析,血清質(zhì)譜數(shù)據(jù)的關(guān)聯(lián)規(guī)則分析,體檢數(shù)據(jù)和血清質(zhì)譜數(shù)據(jù)之間的關(guān)聯(lián)規(guī)則分析。由于體檢數(shù)據(jù)屬性之間置信度高于95%的關(guān)聯(lián)規(guī)則只有一個,所以不做分析。選取另兩類關(guān)聯(lián)規(guī)則結(jié)果的前十條進(jìn)行闡述。
研究得出131031條質(zhì)譜數(shù)據(jù)的關(guān)聯(lián)規(guī)則。從整體上看,質(zhì)譜數(shù)據(jù)之間的關(guān)聯(lián)規(guī)則數(shù)量上是最多的,并且置信度也比較高。觀察發(fā)現(xiàn),質(zhì)譜數(shù)據(jù)中有關(guān)聯(lián)的屬性都是距離較近的屬性。也就是說,Mass質(zhì)荷比的值相近的更有關(guān)聯(lián)性;置信度較高的關(guān)聯(lián)規(guī)則基本都平均分布在血清質(zhì)譜數(shù)據(jù)的Mass質(zhì)荷比為500~850的區(qū)間,說明質(zhì)譜數(shù)據(jù)中Mass質(zhì)荷比的值介于500~850之間的更有關(guān)聯(lián)性。質(zhì)譜數(shù)據(jù)之間的關(guān)聯(lián)規(guī)則結(jié)果的前五條部分內(nèi)容如表4所示。

表4 質(zhì)譜數(shù)據(jù)mass值之間的關(guān)聯(lián)規(guī)則
研究得出共有49484條體檢數(shù)據(jù)和質(zhì)譜數(shù)據(jù)之間的關(guān)聯(lián)規(guī)則。表5為與Mass質(zhì)荷比的值相關(guān)聯(lián)的體檢數(shù)據(jù)屬性,選取置信度最高的五個屬性進(jìn)行展示。

表5 質(zhì)譜數(shù)據(jù)Mass值與體檢數(shù)據(jù)屬性之間的關(guān)聯(lián)規(guī)則
在質(zhì)譜數(shù)據(jù)的Mass質(zhì)荷比中,生成關(guān)聯(lián)規(guī)則最多的520+0,與體檢數(shù)據(jù)的屬性之間的關(guān)聯(lián)規(guī)則有18114項(xiàng),占此類關(guān)聯(lián)規(guī)則的36.6%,在與520+0關(guān)聯(lián)的置信度前五條中的體檢數(shù)據(jù)屬性,有四個屬性與肝臟功能相關(guān);與809+0相關(guān)聯(lián)的置信度前五條中的體檢數(shù)據(jù)屬性,有兩個屬性與貧血相關(guān),兩個屬性與免疫相關(guān);與688+0相關(guān)聯(lián)的置信度前五條中的體檢數(shù)據(jù)屬性,有三個屬性與貧血相關(guān)。
血清質(zhì)譜數(shù)據(jù)的Mass質(zhì)荷比與體檢數(shù)據(jù)的屬性的關(guān)聯(lián)性非常強(qiáng),置信度較高的關(guān)聯(lián)規(guī)則比較平均地分布在血清質(zhì)譜數(shù)據(jù)的Mass質(zhì)荷比為介于500~850的區(qū)間,說明血清質(zhì)譜數(shù)據(jù)的Mass質(zhì)荷比介于500~850之間的數(shù)據(jù)無論是在與質(zhì)譜數(shù)據(jù)本身的關(guān)聯(lián)中,還是在與體檢數(shù)據(jù)屬性的關(guān)聯(lián)中都有非常強(qiáng)的關(guān)聯(lián)性。
將數(shù)據(jù)挖掘及關(guān)聯(lián)規(guī)則分析技術(shù)應(yīng)用于體檢數(shù)據(jù)和血清質(zhì)譜數(shù)據(jù),深入挖掘了血清質(zhì)譜數(shù)據(jù)質(zhì)荷比之間,體檢數(shù)據(jù)屬性之間,質(zhì)譜數(shù)據(jù)的質(zhì)荷比與體檢數(shù)據(jù)屬性之間的關(guān)聯(lián)規(guī)律,挖掘得到了體檢數(shù)據(jù)和血清質(zhì)譜數(shù)據(jù)的關(guān)聯(lián)規(guī)則,為血液檢驗(yàn)提供輔助診斷,促進(jìn)醫(yī)療血液診斷的發(fā)展。