阿迪婭·扎曼別克
(新疆應(yīng)用職業(yè)技術(shù)學(xué)院 新疆維吾爾自治區(qū)奎屯市 833200)
數(shù)據(jù)挖掘是從龐雜數(shù)據(jù)中提取、采集所需信息,對(duì)于計(jì)算機(jī)軟件的開發(fā)、管理均十分重要。在電子產(chǎn)品充斥著人們生活、工作的當(dāng)下,網(wǎng)絡(luò)上充斥著海量的信息,為提供更優(yōu)質(zhì)服務(wù),需要在軟件的開發(fā)、管理等階段基于數(shù)據(jù)挖掘技術(shù)對(duì)復(fù)雜數(shù)據(jù)進(jìn)行深層次挖掘、處理。數(shù)據(jù)挖掘技術(shù)應(yīng)用于軟件工程的時(shí)間并不長,但相關(guān)的理論分析和實(shí)踐結(jié)果,表明其在軟件工程上的應(yīng)用具有重要的作用,無論是在銀行、保險(xiǎn)、零售等領(lǐng)域軟件中的應(yīng)用具有重要作用,在醫(yī)療、教育、裝備制造等領(lǐng)域相關(guān)軟件的應(yīng)用中也具有重要作用,數(shù)據(jù)挖掘可應(yīng)用于首軟件的開發(fā)、運(yùn)維等各個(gè)階段,如軟件開發(fā)階段應(yīng)用數(shù)據(jù)挖掘技術(shù)對(duì)軟件質(zhì)量進(jìn)行分析和控制,合理應(yīng)用各項(xiàng)數(shù)據(jù)資源,進(jìn)行預(yù)測以避免存在較大安全漏洞。
決策樹是數(shù)據(jù)挖掘中常用的技術(shù),直觀運(yùn)用了概率分析,作為圖解法,該技術(shù)由一系列具有樹狀結(jié)構(gòu)的數(shù)據(jù)集組成,決策樹包括樹根、樹枝、樹葉和內(nèi)部節(jié)點(diǎn)等易于實(shí)現(xiàn)和被理解,能在較短時(shí)間內(nèi)針對(duì)較多數(shù)據(jù)做出預(yù)期的挖掘結(jié)效果。該技術(shù)一般基于最大熵減少量、基尼系數(shù)、樣本統(tǒng)計(jì)量X2等算法實(shí)現(xiàn)數(shù)據(jù)的自動(dòng)收集,判定當(dāng)前決策點(diǎn)信息的屬性,制定相應(yīng)的判別規(guī)則,形成決策集樹形結(jié)構(gòu)。相比神經(jīng)網(wǎng)絡(luò)等技術(shù),決策樹技術(shù)能更好生成規(guī)則,給定模型后決策樹能快速推理出邏輯表達(dá)公式,因此當(dāng)需要進(jìn)行決策且需要相應(yīng)規(guī)則時(shí),可應(yīng)用決策樹,但該技術(shù)難以對(duì)連續(xù)性字段進(jìn)行預(yù)測,數(shù)據(jù)類別太多可能存在一定的錯(cuò)誤率。目前該技術(shù)在教育、醫(yī)療、貸款申請(qǐng)等領(lǐng)域的軟件工程中已得到較為廣泛的應(yīng)用。
決策樹通過統(tǒng)計(jì)學(xué)方法來度量和分析信息,通過自定義的符號(hào)來描繪信息量,符號(hào)概念一般包括自信息量、信息熵、條件熵、平均互相信息等,自信息量只對(duì)連續(xù)的不確定信號(hào)進(jìn)行信號(hào)標(biāo)識(shí),并標(biāo)記信號(hào)發(fā)出概率等信息,信息熵用來度量信號(hào)源的不確定性,由于信號(hào)源不相互獨(dú)立,用條件熵來度量信息不確定性,而平均互信息量是用來描述不同信號(hào)源間的關(guān)系,為使下一步的數(shù)據(jù)分類等工作量盡量減小,一般將信息增益最大的屬性作為決策樹節(jié)點(diǎn),然后根據(jù)屬性建立分枝,根據(jù)該思路收集和劃分?jǐn)?shù)據(jù)。具體的算法有CART、ID3、C4.5 等。
以ID3 算法為例。建立決策樹模型時(shí),首先需要采用AllElectronics 等數(shù)據(jù)庫進(jìn)行數(shù)據(jù)的訓(xùn)練,然后基于訓(xùn)練所的數(shù)據(jù)集利用ID3 算法建立決策樹模型,實(shí)現(xiàn)對(duì)數(shù)據(jù)的分類。具體計(jì)算過程為:首先計(jì)算給定樣本的信息熵,然后計(jì)算每一個(gè)屬性信息增益情況,具體應(yīng)需要確定income、age 等屬性的每個(gè)樣本值及分布情況,最終生成決策樹的根及各個(gè)分枝、節(jié)點(diǎn),并基于算法原理依對(duì)整全部訓(xùn)練數(shù)據(jù)進(jìn)行分解、屬性判定、歸類,建成完整的決策樹模型。
再以C4.5 算法為例,由于ID3 算法決策樹分支由信息增益值決定,因此分類數(shù)據(jù)時(shí)分類結(jié)果可能向分類結(jié)果較多的屬性傾斜。而C4.5 算法利用信息增益率選擇決策屬性,從而一定程度上減少了ID3 算法存在的分類誤差率。設(shè)X是包含n 個(gè)數(shù)據(jù)的集合,該集合僅有單個(gè)屬性,C4.5 算法步驟為:基于屬性占比等參數(shù)計(jì)算該屬性總熵,然后計(jì)算每個(gè)子集屬性的信息期望,計(jì)算每個(gè)數(shù)據(jù)集的信息增益和計(jì)算分裂信息,基于這兩個(gè)值推導(dǎo)信息增益率,并選出信息增益值最大的屬性,構(gòu)建決策樹的結(jié)點(diǎn),最后根據(jù)屬性分類子集,重復(fù)推導(dǎo)出信息增益值最大的屬性的相關(guān)步驟,直至建構(gòu)出葉子、結(jié)點(diǎn),由上而下遞歸構(gòu)建完整的決策。
另外,決策樹的剪枝工作也十分重要,由于特征描述不準(zhǔn)確、事例存在大量噪聲、類噪聲,因這兩個(gè)原因構(gòu)建的葉、結(jié)點(diǎn)極為分散,不僅發(fā)生的可能性很低,還會(huì)使決策樹存在龐大的分支,而剪枝是為例消除決策樹過適應(yīng)等問題,實(shí)質(zhì)是消除訓(xùn)練集存在的異常、不可靠的噪聲,減少破碎的過多的葉和結(jié)點(diǎn),分為預(yù)剪枝、后剪枝兩種。這樣的葉結(jié)點(diǎn)比擁有許多事例的葉更易出現(xiàn)分類錯(cuò)誤,更易受噪聲影響。而犧牲部分枝葉并不會(huì)對(duì)決策樹精確度產(chǎn)生影響,反而可能一定程度增加數(shù)據(jù)分類的精確度和簡易性。
受生物學(xué)啟發(fā),神經(jīng)網(wǎng)絡(luò)技術(shù)通過模仿人腦神經(jīng)元結(jié)構(gòu)與功能,基于非線性動(dòng)力學(xué),具有初步自適應(yīng)能力、自組織能力及學(xué)習(xí)能力的數(shù)據(jù)挖掘技術(shù),分為前饋神經(jīng)網(wǎng)絡(luò)、反饋式神經(jīng)網(wǎng)絡(luò)、自組織神經(jīng)網(wǎng)絡(luò)等多種類型,常用于指標(biāo)體系的建立,通過合理設(shè)置體系和指標(biāo)權(quán)重,來進(jìn)行數(shù)據(jù)的分類與結(jié)果的預(yù)測,一般適用于龐大的數(shù)據(jù)處理。BP 神經(jīng)網(wǎng)絡(luò)是一種應(yīng)用廣泛且十分成功的神經(jīng)網(wǎng)絡(luò)技術(shù),該技術(shù)具有高度并行性,能完成相應(yīng)模式的抽取及趨勢分析,因此在許多行業(yè)中被應(yīng)用于構(gòu)建智能化的控制系統(tǒng),如食品檢驗(yàn)、機(jī)械檢修等領(lǐng)域。神經(jīng)網(wǎng)絡(luò)技術(shù)具有黑箱性,運(yùn)行方式、運(yùn)行過程較難理解,因此在實(shí)際應(yīng)用中,需要針對(duì)不同應(yīng)用需求和挖掘背景,優(yōu)化神經(jīng)網(wǎng)絡(luò)算法,獲得更好適應(yīng)能力。神經(jīng)網(wǎng)絡(luò)利用大量多維屬性實(shí)現(xiàn)自動(dòng)學(xué)習(xí),將已知分類數(shù)據(jù)作為輸入的參數(shù),在初始閾值、權(quán)值等作用下,算出輸出結(jié)果,和實(shí)際結(jié)果進(jìn)行比較分析誤差,然后不斷修改閾值、權(quán)值,從而不斷降低誤差,將最終參數(shù)作為訓(xùn)練完成的模型保存,再次接收輸入數(shù)據(jù)時(shí)基于該模型準(zhǔn)確的預(yù)測輸出結(jié)果。
神經(jīng)網(wǎng)絡(luò)的特點(diǎn)與優(yōu)勢,主要體現(xiàn)在三方面:
(1)自學(xué)習(xí)功能。如實(shí)現(xiàn)圖像的識(shí)別過程中,先識(shí)別不同圖像樣板,添加對(duì)應(yīng)識(shí)別結(jié)果,當(dāng)輸入類似圖象時(shí),網(wǎng)絡(luò)就可以基于自學(xué)習(xí)功能進(jìn)行自動(dòng)識(shí)別,推導(dǎo)出結(jié)果?;谧詫W(xué)習(xí)功能,神經(jīng)網(wǎng)絡(luò)技術(shù)在經(jīng)濟(jì)預(yù)測、效益預(yù)測、風(fēng)險(xiǎn)預(yù)測等方面具有遠(yuǎn)大前途。
(2)聯(lián)想存儲(chǔ)的功能。人類大腦也有記憶、聯(lián)想等功能,神經(jīng)網(wǎng)絡(luò)主要基于數(shù)據(jù)庫、數(shù)據(jù)反饋等實(shí)現(xiàn)記憶和聯(lián)想。
(3)高速搜尋優(yōu)化解的性能。在解決一個(gè)復(fù)雜的數(shù)據(jù)挖掘問題時(shí),由于計(jì)算量龐大,優(yōu)化解,往往需要很大的計(jì)算量,利用一個(gè)針對(duì)某問題而設(shè)計(jì)利用運(yùn)算反饋和計(jì)算機(jī)的運(yùn)算能力,以高速的尋可找到優(yōu)化解。
以其在食品檢驗(yàn)管理軟件中的應(yīng)用為例,數(shù)據(jù)挖掘?qū)嶒?yàn)設(shè)計(jì)。首先,需要進(jìn)行任務(wù)描述,以食品檢定研究院中各類食品安全的監(jiān)督與檢驗(yàn)等相關(guān)工作為例,需要采樣人員依照抽檢計(jì)劃獲取食品樣品,檢測樣品各類屬性信息,將信息傳至安全檢測的計(jì)算機(jī)數(shù)據(jù)管理軟件平臺(tái)中,檢測人員需選擇食品分類、檢驗(yàn)項(xiàng)目等信息,系統(tǒng)將檢驗(yàn)信息與標(biāo)準(zhǔn)值相比對(duì)得出檢測結(jié)論。然后以抽檢產(chǎn)生的數(shù)據(jù)作為文本挖掘的基礎(chǔ)基礎(chǔ),訓(xùn)練BP 神經(jīng)網(wǎng)絡(luò)形成反映食品安全屬性與檢驗(yàn)結(jié)果的分析模型。數(shù)據(jù)選擇方面,數(shù)據(jù)結(jié)構(gòu)、特點(diǎn)將影響B(tài)P神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)效果,因此在訓(xùn)練時(shí)需選擇合適且樣本量充足的數(shù)據(jù);結(jié)果分類方面,BP 神經(jīng)網(wǎng)絡(luò)以輸出節(jié)點(diǎn)描述分類結(jié)果,如一項(xiàng)食品的抽檢數(shù)據(jù)包含多個(gè)檢測項(xiàng),檢測結(jié)論非為合格、不合格,分類結(jié)果即為檢測項(xiàng)與結(jié)論的組合,如A 項(xiàng)合格,B 項(xiàng)不合格,根據(jù)排列組合計(jì)算分類的結(jié)果,實(shí)際應(yīng)用中挖掘結(jié)果十分多,因此數(shù)據(jù)可讀性差、軟件要經(jīng)過大量訓(xùn)練,因此在神經(jīng)網(wǎng)絡(luò)的訓(xùn)練中對(duì)不同的項(xiàng)目進(jìn)行單獨(dú)的訓(xùn)練,最終得到的結(jié)果只有兩種,這樣以來結(jié)果更為清晰明、訓(xùn)練更有針對(duì)性。
食品檢驗(yàn)包含的檢測項(xiàng)十分多,而選擇特征屬性,并非一所有屬性均適合作為訓(xùn)練的輸入數(shù)據(jù),如一些有用信息沒有具體取值范圍,可能影響訓(xùn)練的效率,因此在綜合分析檢測項(xiàng)后應(yīng)選取合適的特征屬性和相應(yīng)的訓(xùn)練數(shù)據(jù)集,設(shè)定分類較少的輸出結(jié)果。
在數(shù)據(jù)預(yù)處理階段,為保證輸入信息的質(zhì)量,需要人工進(jìn)行精確的處理,對(duì)選定的食品抽檢項(xiàng)目及數(shù)據(jù)中的各種缺失值、混亂項(xiàng)、錯(cuò)誤項(xiàng)進(jìn)行清洗、轉(zhuǎn)換與刪減按,保證神經(jīng)網(wǎng)絡(luò)的模型可以正確處理所有樣本。然后根據(jù)檢測數(shù)據(jù)的特點(diǎn),處理訓(xùn)練數(shù)據(jù)集進(jìn),如對(duì)所有空值、未提供等項(xiàng)目設(shè)置為空,神經(jīng)網(wǎng)絡(luò)在處理此類值時(shí)就不需要做替換、刪除等處理,生產(chǎn)日期等屬性非常重要,但取值的范圍十分廣,因此可以將日期以年度、季度的形式進(jìn)行概括,而銷售額等屬性的單位等信息是多樣的,因此需統(tǒng)一單位后刪除文本信息,以純數(shù)值的形式來描述。
將預(yù)處理的數(shù)據(jù)集導(dǎo)入WEKA 等數(shù)據(jù)挖掘軟件,進(jìn)行數(shù)據(jù)訓(xùn)練。對(duì)數(shù)據(jù)量較大、特征多的屬性,需耗費(fèi)較多時(shí)間構(gòu)建較具體的復(fù)雜模型,應(yīng)確定模型中各個(gè)節(jié)點(diǎn)的閾值及節(jié)點(diǎn)間的權(quán)值,提升輸出結(jié)果的準(zhǔn)確性。最后進(jìn)行預(yù)測實(shí)驗(yàn),在檢測數(shù)據(jù)軟件上隨機(jī)選取檢驗(yàn)項(xiàng)和抽取的樣本進(jìn)行預(yù)處理、分類預(yù)測,最終給出預(yù)測結(jié)果,然后基于預(yù)實(shí)驗(yàn)結(jié)果預(yù)測的準(zhǔn)確度對(duì)系統(tǒng)進(jìn)行優(yōu)化。
遺傳算法是模擬生物遺傳方式的智能算法,由J.H.Holland 提出的,是當(dāng)前計(jì)算研究的重要分支。在數(shù)據(jù)挖掘領(lǐng)域,相比傳統(tǒng)方法,遺傳算法具有多種優(yōu)勢,如群體搜索不需要推到目標(biāo)函數(shù)導(dǎo)數(shù),遺傳算法基于生物進(jìn)化理論,結(jié)合遺傳、變異、自然選擇等方式優(yōu)化算法,還可與神經(jīng)網(wǎng)絡(luò)等算法結(jié)合,以搜索最優(yōu)解,還可基于其在處理組合優(yōu)化問題上的優(yōu)勢,評(píng)估算法的適合性。遺傳算法的一般運(yùn)算過程為:初始化、個(gè)體評(píng)價(jià)、選擇運(yùn)算、交叉運(yùn)算、變異運(yùn)算、終止條件判斷。由于遺傳算法的自組織、自適應(yīng)、自學(xué)習(xí)等能力較好,使其在多種領(lǐng)域被廣泛應(yīng)用,在求解圖形劃分、旅行商、背包、裝箱等問題中具有較好效果。由于基礎(chǔ)的遺傳算法存在易過早收斂、效率低、算法復(fù)雜等問題,使其在算法精度、計(jì)算效率等方面有待提高,難以適應(yīng)對(duì)圖與網(wǎng)絡(luò)等復(fù)雜序列數(shù)據(jù)的處理。
應(yīng)用遺傳算法時(shí),首先需設(shè)計(jì)總體的運(yùn)行流程,運(yùn)行前將所有有待挖掘的數(shù)據(jù)視做訓(xùn)練樣本集,將已判定的規(guī)則列表設(shè)置為空。運(yùn)行時(shí),每執(zhí)行一次條件循壞后得到一個(gè)數(shù)據(jù)分類規(guī)則,將這個(gè)規(guī)則加入到規(guī)則列表中,并對(duì)訓(xùn)練樣本集進(jìn)行判定,剔除其中符合當(dāng)前規(guī)則的數(shù)據(jù),反復(fù)執(zhí)行條件循環(huán),直至訓(xùn)練樣本集數(shù)目小于設(shè)定的閾值。
染色體編碼的方式?;谶_(dá)爾文的生物進(jìn)化論,遺傳算法在演化過程中,對(duì)適應(yīng)度較低的規(guī)則將逐漸將其淘汰,而那些適應(yīng)度較高的規(guī)則將會(huì)被保留下來。在獲得目標(biāo)函數(shù)最優(yōu)值的過程中,需要對(duì)分類規(guī)則進(jìn)行優(yōu)化,基于規(guī)則包含的特定屬性、分類取值、規(guī)則范圍內(nèi)的某個(gè)取值及二者的關(guān)系運(yùn)算規(guī)則等參數(shù),將每個(gè)分類邊界用一個(gè)三元組進(jìn)行表示,對(duì)單個(gè)分類規(guī)則中的染色體編碼方式進(jìn)行優(yōu)化,用一個(gè)數(shù)組表示對(duì)應(yīng)單個(gè)分類規(guī)則中的某個(gè)染色體。
構(gòu)建評(píng)價(jià)函數(shù)??苫诖诰驑颖緮?shù)目、滿足給定規(guī)則某條件的樣本數(shù)目;滿足給定規(guī)則某結(jié)果的樣本數(shù)目及某給定規(guī)則的支持度、置信度、覆蓋度等參數(shù),來清晰表述評(píng)價(jià)函數(shù)。其中,置信度可表明某規(guī)則前提下導(dǎo)致結(jié)論的可信程度,反映在不完全規(guī)則下推理結(jié)論的不確定性,置信度越大,表明條件為真時(shí)能較準(zhǔn)確產(chǎn)生相應(yīng)結(jié)論,基于規(guī)則表述的不確定性、不完備性,需要給予前項(xiàng)、后項(xiàng)一定的置信度值,推理時(shí)該值將以某種預(yù)定方式處理結(jié)論,使最后每個(gè)結(jié)論均具有對(duì)應(yīng)的置信度;覆蓋度用以描述結(jié)論包含于規(guī)則的正確程度,覆蓋度越大,表明該規(guī)則據(jù)越完備。在設(shè)計(jì)評(píng)價(jià)函數(shù)時(shí),還應(yīng)綜合考慮規(guī)則與樣本的特征屬性、類別屬性及二者的匹配情況。進(jìn)化過程中規(guī)則依靠評(píng)價(jià)度函數(shù)進(jìn)行相互競爭,最終支持度、置信度、覆蓋度均較高的規(guī)則得以保存。
產(chǎn)生初始種群。初始種群有多種形成方式,如產(chǎn)生一個(gè)空白染色體,然后按設(shè)定的規(guī)則依次向某染色體內(nèi)添加基因,反復(fù)執(zhí)行以上兩步操作,直至成功產(chǎn)生初始種群。該方法中添加基因的操作十分重要,首先需基于特征屬性、取值等假設(shè)一個(gè)表示某規(guī)則下的一個(gè)條件,用X 值表示基因被選擇加入當(dāng)前染色體的幾率,該值越大表明基于與當(dāng)前規(guī)則相關(guān)性越大,具有較高概率被添入當(dāng)前染色體;被添加的概率受限于當(dāng)前染色體內(nèi)包含的屬性條件、支持該規(guī)則樣本數(shù)目的閾值等限制條件,若規(guī)則內(nèi)已包含此屬性條件,則該基因不能被再次添加,若樣本數(shù)目低于用戶的閾值,則無法添加。在成功構(gòu)建某染色體的條件部分后,遺傳算法將選擇一個(gè)最優(yōu)的分類值以作為該規(guī)則的結(jié)果部分,并對(duì)于可以被添入當(dāng)前規(guī)則的基因,進(jìn)行質(zhì)量評(píng)估,計(jì)算其啟發(fā)值,條件的啟發(fā)值一般與該條件信息數(shù)量等因素有關(guān),每個(gè)條件的熵能描述類別屬性、類別數(shù)目及某條件成立時(shí)分類屬性成立的概率值,該值越大,表明該條件在樣本內(nèi)分布較為平均,其被添加與當(dāng)前染色體的概率比較低。為提升計(jì)算時(shí)間,熵值等固定值一般在預(yù)處理階段計(jì)算。
交叉操作。指將兩個(gè)父代的染色體進(jìn)行基因重組,操作時(shí)首先隨機(jī)選取父代染色體中的兩個(gè)基因點(diǎn),提取兩點(diǎn)之間的部分,放在子代空白軟色體相同的位置,然后從另一個(gè)父代中提取另一部分位置的基于,將其填入子代染色體對(duì)應(yīng)的空白部分,最終子代軟色體通過交叉操作得到包含兩個(gè)父代染色體的部分基因。
變異操作與規(guī)則簡化。為防止交叉操作產(chǎn)生的染色體均收斂于局部的最優(yōu)點(diǎn),需要通過變異操作使當(dāng)前染色體的某個(gè)基因發(fā)生基因變異,一般在多次變異后取優(yōu)值,然后進(jìn)行規(guī)則簡化,以剔除包含在規(guī)則內(nèi)但與規(guī)則相關(guān)性較弱的條件,增強(qiáng)規(guī)則的結(jié)果預(yù)測能力,同時(shí)避免了規(guī)則與樣本過飽和匹配的情況,提升規(guī)則的簡易程度,使規(guī)則更易被用戶理解與接受。簡化規(guī)則時(shí),首先需要針對(duì)當(dāng)前的規(guī)則進(jìn)行整體操作,根據(jù)順序依次的剔除規(guī)則中多余的條件,每次只從整體的規(guī)則整體內(nèi)剔除一個(gè)條件,在每次剔除操作后都按評(píng)價(jià)函數(shù)計(jì)算每次剔除后所得規(guī)則的適應(yīng)程度,然后根據(jù)評(píng)價(jià)情況選擇一個(gè)最優(yōu)的規(guī)則,重復(fù)執(zhí)行以上步驟,直至將規(guī)則進(jìn)行了一遍完整的簡化,將所有需被剔除的條件都剔除為止。
關(guān)聯(lián)規(guī)則能夠發(fā)現(xiàn)各數(shù)據(jù)子集間的聯(lián)系,或發(fā)現(xiàn)一些數(shù)據(jù)之間存在的派生關(guān)系,是目前數(shù)據(jù)挖掘中非常成熟和應(yīng)用廣泛的技術(shù)之一。關(guān)聯(lián)規(guī)則,根據(jù)一個(gè)給定的數(shù)據(jù)庫,對(duì)某種事物與另一事物間未知的聯(lián)系或存在的規(guī)則進(jìn)行探尋,如尋找“啤酒”、“紙尿褲”兩種事物間的聯(lián)系,然后根據(jù)二者間的關(guān)系采取了相應(yīng)的促銷手段,使兩項(xiàng)商品銷量大幅上升,可見這一技術(shù)對(duì)于商業(yè)決斷具有很大價(jià)值。而在計(jì)算機(jī)軟件工程的數(shù)據(jù)挖掘中,關(guān)聯(lián)規(guī)則也具有很強(qiáng)適用性及實(shí)用價(jià)值,通過分析目標(biāo)用戶各項(xiàng)行為規(guī)律,發(fā)現(xiàn)各行為間的潛在關(guān)聯(lián),從而為商業(yè)決策提供依據(jù),為客戶關(guān)系的管理提供科學(xué)建議。
數(shù)據(jù)挖掘中首要的工作便是發(fā)現(xiàn)事物間關(guān)系,然后構(gòu)建相應(yīng)的規(guī)則,如今在計(jì)算機(jī)軟件工程的數(shù)據(jù)庫審計(jì)、隱私保護(hù)等工作中發(fā)揮著重要作用,如在數(shù)據(jù)庫審計(jì)中,關(guān)聯(lián)規(guī)則分析用戶操作行為中用戶名、目標(biāo)對(duì)象、操作時(shí)間、主機(jī)IP等屬性間的相關(guān)關(guān)系,實(shí)現(xiàn)對(duì)數(shù)據(jù)庫可能遭受的安全風(fēng)險(xiǎn)行為進(jìn)行預(yù)警,從而保護(hù)數(shù)據(jù)資產(chǎn)的完整性。
支持度、置信度用于度量關(guān)聯(lián)規(guī)則合理性,支持度與置信度作為描述作為描述具體規(guī)則的重要閾值,支持度主要反應(yīng)數(shù)據(jù)庫中某項(xiàng)關(guān)聯(lián)規(guī)則的重要性及某個(gè)數(shù)據(jù)集出現(xiàn)的頻率,最小支持率作為支持度中的重要參數(shù),指定了某參數(shù)所關(guān)注用戶的感興趣項(xiàng)集及相關(guān)項(xiàng)集間的規(guī)則,而置信度用以衡量某關(guān)聯(lián)規(guī)則的可信程度,也被稱為關(guān)聯(lián)發(fā)生的概率,而最小置信度這一閾值參數(shù)對(duì)項(xiàng)集幾乎沒有影響,只對(duì)規(guī)則出現(xiàn)概率產(chǎn)生一定限制作用,若此值為l,則表明描述的兩個(gè)項(xiàng)集間是相互獨(dú)立的,若此值小于l,表明兩個(gè)項(xiàng)集成負(fù)相關(guān),兩項(xiàng)事務(wù)伴隨發(fā)生的概率較低,值越小,二者相伴發(fā)生的概率越小,若此值大于1,表明兩個(gè)項(xiàng)集存在正相關(guān)關(guān)系,兩項(xiàng)事務(wù)伴隨發(fā)生的概率十分大,值越大,二者相伴發(fā)生的概率越大,若此值為O,表明兩個(gè)項(xiàng)集不存在任何關(guān)聯(lián)。關(guān)聯(lián)規(guī)則在數(shù)據(jù)挖掘過程中一般有兩個(gè)階段:第一階段是找出全部頻繁項(xiàng)集,第二階段是分析頻繁項(xiàng)集形成強(qiáng)關(guān)聯(lián)規(guī)則。關(guān)聯(lián)規(guī)則的一般數(shù)據(jù)挖掘步驟如圖1 所示,挖掘算法基于支持度等參數(shù)對(duì)待分析數(shù)據(jù)進(jìn)行挖掘,然后基于置信度發(fā)現(xiàn)強(qiáng)關(guān)聯(lián)關(guān)系。
圖1: 關(guān)聯(lián)規(guī)則的數(shù)據(jù)挖掘步驟圖
常用關(guān)聯(lián)算法有基于采樣的算法,基于劃分的算法、哈希算法、Apriori 算法等。關(guān)聯(lián)規(guī)則在市場營銷相關(guān)的計(jì)算機(jī)軟件工程中能發(fā)揮巨大的數(shù)據(jù)挖掘作用,一方面為顧客提供一定的購買建議,另一方面幫助企業(yè)分析顧客購買行為、購買習(xí)慣,從而制定利于產(chǎn)品捆綁銷售的策略,該技術(shù)通過分析用戶普遍行為間的規(guī)律,能在識(shí)別保險(xiǎn)中異常事件等方面發(fā)揮重要作用,因此能應(yīng)用于保險(xiǎn)、銀行貸款等領(lǐng)域的軟件工程中,發(fā)揮重要的風(fēng)險(xiǎn)預(yù)警作用。
聚類用于從大量數(shù)據(jù)集內(nèi)找出相似數(shù)據(jù),組成不同組,組成組的原則為組內(nèi)數(shù)據(jù)相似性程度較高,而組間數(shù)據(jù)的特征差別極大。聚類是在無監(jiān)督的模式下進(jìn)行學(xué)習(xí),在聚類分析前,被挖掘數(shù)據(jù)是沒有標(biāo)定的記錄,只按照一定原則進(jìn)行數(shù)據(jù)分類。聚類分析可應(yīng)用于大量數(shù)據(jù)的分組,對(duì)用戶數(shù)據(jù)展開個(gè)性化管理,為用戶提供高質(zhì)量數(shù)據(jù)服務(wù),從而加強(qiáng)與用戶的關(guān)系。聚類分析可判定數(shù)據(jù)相似性,因此也可用于離群數(shù)據(jù)的檢測,如檢測信用卡欺、電子商務(wù)等活動(dòng)中的犯罪行為。根據(jù)聚類劃依據(jù)的原理,可將聚類分析分為基于層次、密度、網(wǎng)格等的聚類方法。
聚類分析所劃分的組能增強(qiáng)了對(duì)客觀數(shù)據(jù)的認(rèn)識(shí),因此是進(jìn)行概念描、和偏差分析的重要條件,在劃分對(duì)象時(shí),需要考慮對(duì)象間存在的差別,還要在探尋對(duì)象間深度關(guān)系的基礎(chǔ)上劃分出具有某種內(nèi)涵描述的組,避免聚類的片面性。
根據(jù)監(jiān)督情況還可將聚類算法分為無監(jiān)督分類、有監(jiān)督分類兩種,前者指在無先驗(yàn)知識(shí)的分類前提下進(jìn)行的分類,需要在分析事物間存在的特定規(guī)律、關(guān)系的基礎(chǔ)上進(jìn)行分類,后者只對(duì)有足夠先驗(yàn)知識(shí)的相關(guān)事務(wù)進(jìn)行分類,或在有指導(dǎo)的情況下,根據(jù)事物屬性或某種分類標(biāo)準(zhǔn)對(duì)樣本進(jìn)行分類和訓(xùn)練,進(jìn)而使己知樣本在該分類體系下被正確分類,用學(xué)習(xí)訓(xùn)練成功的分類系統(tǒng)分類未知數(shù)據(jù)。
聚類算法具有典型的要求:
(1)可擴(kuò)展性,數(shù)據(jù)庫數(shù)據(jù)龐雜,應(yīng)用聚類算法時(shí)可能出現(xiàn)無法承受巨大數(shù)據(jù)壓力、分析結(jié)果偏差大等情況,進(jìn)而造成系統(tǒng)崩潰、數(shù)據(jù)挖掘價(jià)值低等后果;
(2)處理不同屬性的能力。對(duì)象屬性具有很強(qiáng)的多樣性,如符號(hào)類型、圖像類型、順序類型或各類型的組合,為提升聚類的有效性,需要算法能夠針對(duì)多種特定屬性進(jìn)行處理;
(3)發(fā)現(xiàn)多樣形狀的聚類。隨著數(shù)據(jù)擴(kuò)大或改變,可能生成類似、大小、密度多樣的圓形、球形等形狀的聚類形狀,因此需要算法能適應(yīng)任意形狀;
(4)處理噪聲的能力,為提升數(shù)據(jù)處理質(zhì)量,需要對(duì)不明數(shù)據(jù)、存在異常、丟失的數(shù)據(jù)及噪聲數(shù)據(jù)進(jìn)行處理;對(duì)輸入順序的不敏感性。輸入數(shù)據(jù)順序不一會(huì)導(dǎo)致不同聚類結(jié)果,因此需降低算法對(duì)數(shù)據(jù)輸入順序的敏感性,提升聚類準(zhǔn)確性。
(5)聚類約束性。現(xiàn)實(shí)中應(yīng)用聚類分析需要在一定的約束條件下進(jìn)行,這是由于數(shù)據(jù)挖掘時(shí)需要考慮隱私保護(hù)等工作,如處理包含用戶隱私數(shù)據(jù)時(shí),需要基于相應(yīng)的隱私保護(hù)規(guī)則和算法,在隱藏相關(guān)敏感數(shù)據(jù)的基礎(chǔ)上開展算法研究,從而使聚類算法能滿足該約束條件的數(shù)據(jù)挖掘要求。
綜上所述,數(shù)據(jù)挖掘技術(shù)在軟件工程中的應(yīng)用越來越多,為提升計(jì)算機(jī)軟件的安全性和服務(wù)水平,軟件開發(fā)和運(yùn)維人員需要與時(shí)俱進(jìn),合理的利用各類數(shù)據(jù)挖掘技術(shù),開發(fā)出高質(zhì)量的軟件,并進(jìn)行及時(shí)有效的升級(jí)優(yōu)化,為用戶和企業(yè)提供更優(yōu)質(zhì)的數(shù)據(jù)服務(wù)。