章 慧
(淮陰工學(xué)院計算機工程學(xué)院,江蘇 淮安 223003)
隨著Internet的迅速發(fā)展,當今IT技術(shù)、電子商務(wù)及互聯(lián)網(wǎng)的快速發(fā)展和迅速普及,導(dǎo)致在各個應(yīng)用領(lǐng)域的數(shù)據(jù)庫中存儲了大量的數(shù)據(jù),傳統(tǒng)的數(shù)據(jù)挖掘技術(shù)無法有效地得到需要的興趣信息[1].這些數(shù)據(jù)集中包含了很多有用的知識,如何發(fā)現(xiàn)其中所隱藏的、預(yù)先未知的信息以輔助相應(yīng)的應(yīng)用顯得尤為重要,這正是數(shù)據(jù)挖掘所要完成的任務(wù).目前,使用數(shù)據(jù)挖掘來進行數(shù)據(jù)分析已經(jīng)出現(xiàn)了很多的方法,魏鴻等人提出要使用更高級的數(shù)據(jù)挖掘的方法來進行網(wǎng)絡(luò)的數(shù)據(jù)分析[2]來提升挖掘的滿意度.張麗華等人[3]提出客戶滿意度的測評方法在滿意度提升中的作用.與此同時,大量的研究者將數(shù)據(jù)挖據(jù)的方法引入到數(shù)據(jù)的分析中,使數(shù)據(jù)挖掘成為計算機相關(guān)算法中最活躍的一個領(lǐng)域[4-6],這些方法為數(shù)據(jù)的合理有效分析提供了強大的理論基礎(chǔ).
但是這些數(shù)據(jù)挖掘其實還僅僅停留在簡單的數(shù)據(jù)分析或者OLAP階段,即使有數(shù)據(jù)挖掘的使用也僅僅停留在簡單的分類統(tǒng)計和簡單預(yù)測等階段,當應(yīng)用到一些大型多區(qū)域的復(fù)雜領(lǐng)域時,很少考慮數(shù)據(jù)的真實完整與數(shù)據(jù)預(yù)處理對挖掘帶來的影響.這些研究方法還沒有將數(shù)據(jù)挖掘的研究結(jié)果整合到一個完整的分析體系中,這些方法的適用范圍與準確程度就出現(xiàn)了很大的局限性.一些方法僅僅是將客戶的數(shù)據(jù)在沒有進行合適的預(yù)處理的情況下就進行簡單的聚類,完成聚類以后進行簡單的分析,沒有發(fā)揮數(shù)據(jù)挖掘強大的預(yù)測能力,使這些預(yù)測的數(shù)據(jù)丟失了繼續(xù)使用的價值[7].
為了解決這一問題,采用真實的多區(qū)域藥品數(shù)據(jù)進行實驗對象.使用合適的數(shù)據(jù)預(yù)處理的方法來降低噪音和孤立點等數(shù)據(jù)對原始數(shù)據(jù)的分析影響.結(jié)合經(jīng)典的k-medoids與c5.0數(shù)據(jù)挖掘的方法,將聚類分析中的得到的結(jié)果作為決策樹的測試集來進行分析,這樣就能保證決策樹中的屬性數(shù)據(jù)真實可靠[8,9].實驗證明上述的方法可以提高藥品數(shù)據(jù)分析的準確率.
在數(shù)據(jù)挖掘的聚類分析中最常用的是k-medoids算法,k-medoids算法是基于質(zhì)心的算法.以k為參數(shù),把n個對象分為k個簇,以使簇內(nèi)具有較高的相似度,而簇間的相似度較低,相似度的計算根據(jù)簇間的一個平均值(被看作簇的重心)來進行.通常采用準則函數(shù)是平方誤差的準則函數(shù)來進行,其定義如下:
上式中e是數(shù)據(jù)庫中所有對象平方誤差的總和;p是空間中的點,它表示給定的數(shù)據(jù)對象mi是簇ci的平均值,也就是說每個簇中的每個對象,求對象到其簇中心距離的平方然后求和,這個準則試圖使生成的結(jié)果簇盡可能的緊湊和獨立.因為一個極大值的對象可能相當程度上扭曲數(shù)據(jù)的分布,所以上述方法對于孤立點與噪聲具有極強的敏感性.kmedoids算法使用最靠近中心的一個對象來代表該聚類.定義如下:
上式中e是數(shù)據(jù)庫中所有對象平方誤差的總和;p是空間中的點,它表示給定的數(shù)據(jù)對象oi是簇中的代表對象.在經(jīng)典的ID系列的算法中存在著一定的歸納偏置,較短的樹比較長的樹優(yōu)先產(chǎn)生,也就是那些信息增益高的屬性更靠近節(jié)點會產(chǎn)生優(yōu)先生成樹的特權(quán).為了避免偏置研究者們引入了增益比率來進行決策,增益比率通過一個分裂信息來分析分裂屬性,由如下公式進行定義
在上述方法中選擇具有最大增益率的屬性作為分裂屬性進行決策分析.在數(shù)據(jù)分析中由于不同數(shù)據(jù)的屬性具有極強的非線性,即使進行了強大的數(shù)據(jù)預(yù)處理,由于它要求在聚類分析中輸入數(shù)字K確定結(jié)果的個數(shù),并且不適合發(fā)現(xiàn)非凸面形狀的簇,或者大小差別很大的簇.所以這些啟發(fā)是聚類針對中小規(guī)模的數(shù)據(jù)可以使用,但是對于大規(guī)模的非結(jié)構(gòu)化的數(shù)據(jù)就需要進行更進一步的處理;另外聚類后的屬性性質(zhì)其實是做為一種描述的現(xiàn)象來進行數(shù)據(jù)分析,忽略了這些原始數(shù)據(jù)聚類后得出的結(jié)果可以作為最真實的樣本來進行數(shù)據(jù)進一步的決策.為了避免這種情況,先在數(shù)據(jù)的時間屬性上減少噪聲與孤立點的數(shù)據(jù)影響.進行聚類后建立決策數(shù)據(jù)模型,能取得好的效果.
在大量的待挖掘的藥品數(shù)據(jù)中,出現(xiàn)了大量的冗余數(shù)據(jù).一些具有關(guān)鍵意義的藥品數(shù)據(jù)在實際的整體數(shù)據(jù)中所占比例很小.為了解決冗余問題,在屬性約簡的過程中使用組距眾數(shù)的方法消去.
上述兩式中f-1表示藥品數(shù)據(jù)眾數(shù)所在組前一組的次數(shù)f+1表示藥品數(shù)據(jù)眾數(shù)所在組后一組的次數(shù);L表示藥品數(shù)據(jù)眾數(shù)所在組組距的下限;U表示藥品數(shù)據(jù)眾數(shù)所在組組距的上限;i表示組距,將一些差異藥品數(shù)據(jù)的屬性分別進行上述的組距眾數(shù)的計算將會消去一部分冗余屬性.在藥品數(shù)據(jù)挖掘算法中有些屬性可以進行階段性的匯總,這部分屬性的時間趨勢不是很強烈,可以用總的匯總表來代替這部分數(shù)據(jù)的使用.使用一些藥品數(shù)據(jù)屬性表來進行數(shù)據(jù)的分析、數(shù)據(jù)的匯總處理,包括以下幾個步驟:
(1)用藥品數(shù)據(jù)表生成更多數(shù)據(jù)的匯總表,只保留藥品數(shù)據(jù)的一部分信息.
(2)把一些相互有關(guān)聯(lián)的藥品數(shù)據(jù)進行合并,只保留一些藥品數(shù)據(jù)的起始日期、終止日期與數(shù)據(jù)統(tǒng)計表.
(3)將上述的步驟應(yīng)用于每一個月生成的藥品數(shù)據(jù)進行對比統(tǒng)計.
進行藥品數(shù)據(jù)預(yù)處理的方法如圖1所示:
圖1 藥品數(shù)據(jù)預(yù)處理部分
面對大量的相關(guān)藥品數(shù)據(jù)或者藥品日志文件,對其進行篩選,完成藥品數(shù)據(jù)初始化的操作是十分必要的,去除不相關(guān)的冗余數(shù)據(jù)才能更有效地對核心藥品數(shù)據(jù)進行挖掘,一旦存在大量的冗余數(shù)據(jù),對挖掘算法的影響是十分巨大的.大規(guī)模的存在冗余的海量藥品數(shù)據(jù)通常是以文本的形式存儲的,如一些文本文件,記錄了藥品相關(guān)數(shù)據(jù)的詳細信息,其中包含了一些不全的、重復(fù)的甚至錯誤的藥品冗余數(shù)據(jù),所以需要進行處理,否則就會影響挖掘的結(jié)果.
用戶在訪問藥品數(shù)據(jù)庫時,有一些藥品數(shù)據(jù)信息是自動加載的,如:圖片、網(wǎng)站的頁眉頁腳的固定頁面、JS腳本等,而這些加載的行為也會作為動作記錄到一些相關(guān)的文本文件中,顯然這些信息對后期的數(shù)據(jù)挖掘是無用的,所以必須通過一些方法來對相關(guān)的數(shù)據(jù)進行篩選.對于這些自動加載的圖片等對挖掘無用的數(shù)據(jù),應(yīng)當通過相應(yīng)的技術(shù)去刪除它們,如結(jié)尾為.JPEG、.GIF、.PNG 和.js等.
定義Ld為此次過程中藥品數(shù)據(jù)在種群中的密度,則Ld,n表示該個體在種群中出現(xiàn)的次數(shù),M表示當前種群的大小.
選擇概率為P= ?Pf+(1- ?)Pd,其中?∈(0,1)為調(diào)控參數(shù).
通過以上的數(shù)據(jù)預(yù)處理將生成描述數(shù)據(jù)價值的情況表.
將藥品數(shù)據(jù)進行預(yù)處理以后得到的數(shù)據(jù)匯總表,在聚類分析中將這個表作為挖掘藥品數(shù)據(jù)的來源,目標輸出數(shù)據(jù)是聚類數(shù)據(jù)匯總情況表.實驗中使用了式(2)中介紹的k-medoids的聚類分析方法,采用此方法對藥品數(shù)據(jù)進行約簡與實際的噪聲處理后,仿真的效果非常明顯.將相關(guān)的藥品數(shù)據(jù)情況用二進制數(shù)據(jù)來表示:藥品數(shù)據(jù)一致的用1來表示,不一致的用0來表示.不一致的定義字段為一個波動的范圍以內(nèi),需要注意的是在進行藥品數(shù)據(jù)的分析聚類的時候,表的屬性只能包括一些不能明顯描述藥品數(shù)據(jù)分類的屬性.經(jīng)過聚類后的數(shù)據(jù)字段應(yīng)該包括如下:平均藥品數(shù)據(jù)分布、平均藥品數(shù)據(jù)均值、藥品數(shù)據(jù)信息、藥品數(shù)據(jù)分類情況等類別.使用C5.0算法的決策分析中需要一定的測試集來進行決策的劃分,使用上一步藥品聚類的結(jié)果來進行測試,這種分析方法的準確性得到大大的提高.
為了驗證本文算法的有效性,運用基于k-medoids與c5.0聯(lián)合約束挖掘算法,對藥品數(shù)據(jù)價值進行分析.首先將藥品數(shù)據(jù)進行有效的預(yù)處理,得到原始的工作表,決策分析時使用聚類后的藥品價值分析數(shù)據(jù).通過與傳統(tǒng)方法對比,證明了分析的嚴謹與效果的顯著.效果驗證分析、實驗流程如圖2所示.
圖2 實驗流程圖
實驗環(huán)境為Windows XP操作系統(tǒng),spss Clementine數(shù)據(jù)挖掘軟件通過節(jié)點流構(gòu)造模型,進行可視化的結(jié)果展示.實驗采用某區(qū)域藥品公司中7、8、9三個月客戶消費的賬務(wù)信息表作為原始的數(shù)據(jù),來進行藥品價值的分析.首先進行聚類分析找到消費群體的分布與包含的數(shù)量.數(shù)據(jù)聚類的結(jié)果示意圖如圖3所示:
圖3 藥品信息聚類分析后的散點圖
統(tǒng)計各藥品類別包含的用戶群比例,結(jié)果如圖4所示:
圖4 藥品類別包含的用戶群比例分析
從上圖可以清晰地發(fā)現(xiàn)在每一個藥品用戶群中分散開來,并且沒有出現(xiàn)會聚在一個類別中的現(xiàn)象.將上述的聚類測試集用來抽樣,本文按照測試集與檢驗集7:3的原則,共抽取10000條樣本來進行決策樹的構(gòu)造.從圖中可見最優(yōu)價值的藥品在4、5兩個階段的情況,覆蓋了大部分的客戶消費.
圖5 藥品價值分段與藥品銷售情況
圖6 藥品的價值分段與銷售時間的關(guān)系圖
上圖可見用戶的藥品價值分段與銷售時間情況符合聚類的屬性劃分,效果顯著.價值分段較低的藥品,銷售的時間也比較短.本文提出的算法在出現(xiàn)跨區(qū)域冗余數(shù)據(jù)屬性干擾的情況下,具有一定的優(yōu)勢.
提出了一種基于k-medoids與c5.0聯(lián)合約束的藥品價值分析與挖掘的方法,通過進行高效的藥品數(shù)據(jù)預(yù)處理,使用更加具有魯棒性的k-medoids與c5.0數(shù)據(jù)挖掘方法,將聚類的方法使用在決策樹的構(gòu)造與決策分析中,這樣就避免了因為數(shù)據(jù)前后處理不一致,而造成的失真與噪聲過大導(dǎo)致挖掘效果不明顯的情況.實驗表明,這種方法能夠有效提取出藥品特征信息并進行準確分類,具有較高的識別準確率,取得了滿意的結(jié)果,具有較高的使用價值.
[1]李莉.中藥材質(zhì)量控制方法發(fā)展狀況分析[J].社區(qū)醫(yī)學(xué)雜志,2011,(3):54 -55.
[2]梁志瑞,陳鵬,蘇海鋒.關(guān)聯(lián)規(guī)則挖掘在電廠設(shè)備故障監(jiān)測中應(yīng)用[J].電力自動化設(shè)備,2006,(6):17 -19.
[3]陳果.基于遺傳算法的支持向量機分類器模型參數(shù)優(yōu)化[J].機械科學(xué)與技術(shù),2007,(3):347 -350.
[4]陳金波.面向電信CRM的數(shù)據(jù)挖掘應(yīng)用研究[D].南京:東南大學(xué)博士學(xué)位論文,2006.
[5]王曉華,蘇宏業(yè),渠瑜,等.面向電信欠費挖掘的數(shù)據(jù)質(zhì)量評估策略研究[J].計算機工程與應(yīng)用,2011,(12):220 -224.
[6]黃江波,付志紅.基于自適應(yīng)遺傳算法函數(shù)優(yōu)化與仿真[J].計算機仿真,2011,(5):237 -239.
[7]徐光憲,劉建輝.數(shù)據(jù)挖掘在電信客戶關(guān)系中的應(yīng)用[J].中國數(shù)據(jù)通信,2005,(4):44 -47.
[8]唐慧慧,郭希娟.基于最優(yōu)模板選擇和水平集的圖譜分割算法[J].計算機仿真,2009,(3):213 -216.
[9]何堯,趙躍龍.一種新的Web用戶行為模式挖掘算法的研究[J].計算機測量與控制,2005,(6):600 -602.