一種基于數據間關聯關系的遺漏數據填補方法
【技術領域】
[0001] 本發(fā)明屬于數據預處理技術領域,具體涉及一種基于數據間關聯關系的遺漏數據 填補方法的設計。
【背景技術】
[0002] 當前,由于計算機管理信息系統(tǒng)普遍應用于各行各業(yè),積累的數據量日益增大,為 使這些數據發(fā)揮其應有的作用,為相關行業(yè)的管理決策提供強有力的支持,提高經濟和社 會效益,由此誕生了數據挖掘、知識發(fā)現,其方法技術強調面向應用,因此,其應用效果日漸 彰顯,越來越受到業(yè)內人士的注意和重視。
[0003] 參與數據挖掘和知識發(fā)現的數據質量是挖掘出的知識精確實用的前提,在虛假劣 質數據泛濫的數據集上很難發(fā)現有用的知識和規(guī)則,因此在進行數據挖掘前,對數據進行 相關的處理(例如:填補空缺數據項、平滑噪聲數據、識別或去除異常數據和解決不一致數 據等過程)對于提高數據質量,為隨后的數據挖掘、知識發(fā)現提供優(yōu)質的數據,是一個非常 必要的步驟,一般稱其為數據預處理。
[0004] 目前,在數據預處理中填補遺漏數據的技術有:1、從相關信息中提取填補空缺值 所需數據;2、利用同類別均值填補空缺值;3、利用決策樹技術填補空缺值。這些技術在一 定程度上解決了遺漏數據填補的問題,然而這些技術都沒有很好的利用數據之間的關聯關 系,為數據分析提供較為精確的數據。
[0005] 因此,針對上述現有技術在數據預處理中填補遺漏數據方面存在的缺陷,實有必 要進行研宄,以提供一種基于數據間關聯關系的遺漏數據填補方法,用以為后期的數據分 析提供高質量的數據。
【發(fā)明內容】
[0006] 本發(fā)明的目的是為了解決現有技術在數據預處理中填補遺漏數據方面不夠精確 的問題,提出了一種基于數據間關聯關系的遺漏數據填補方法。
[0007] 本發(fā)明的技術方案為:一種基于數據間關聯關系的遺漏數據填補方法,包括以下 步驟:
[0008] Sl、對數據之間的關聯關系進行分析,得到數據之間的關聯規(guī)律;
[0009] S2、找到數據之間關聯關系最強的關聯規(guī)律;
[0010] S3、根據步驟S2中得到的最強關聯規(guī)律對數據進行分組;
[0011] S4、對數據中的遺漏數據進行預填補;
[0012] S5、進行BP神經網絡的設計;
[0013] S6、循環(huán)應用步驟S5中得到的BP神經網絡進行數據填補,直到所有的數據填補完 成。
[0014] 進一步地,步驟Sl中的數據是現實社會的信息描述。
[0015] 進一步地,步驟S2具體為通過基于屬性的相關性計算或者基于數據值的相關性 計算找到數據之間關聯關系最強的關聯規(guī)律。
[0016] 進一步地,步驟S5包括以下分步驟:
[0017] S51、根據步驟S3中的分組情況,將每組數據中的80%作為訓練集,20%作為測試 集;
[0018]S52、假設訓練集共有k列數據,則選擇其中一列作為輸出,其他作為輸入,重復選 擇k次;
[0019]S53、在輸入層設計n個神經元,n為步驟S3中分組個數,輸出層設計一個神經元; 在輸入層與輸出層之間設計一個隱層,隱層中的初始神經元個數為k-1個,根據實驗情況 的好壞,可能改變隱層神經元的個數,以尋找誤差最小的神經元個數,以此構建BP神經網 絡;
[0020] S54、確定訓練函數對BP神經網絡的正向訓練與反向學習,不斷的縮小誤差,最后 達到誤差很小的狀態(tài)。
[0021] 進一步地,步驟S54包括以下分步驟:
[0022] S541、權值初始化;
[0023]S542、給定輸入變量和期望輸出;
[0024]S543、正向訓練:根據給定的輸入變量計算得到神經網絡的實際輸出,并將其與期 望輸出比較,如果存在誤差則進入步驟S544,否則結束;
[0025]S544、反向學習:計算同一層單元的誤差,求出誤差梯度,修正權值與閥值,判斷誤 差是否滿足要求,若滿足要求則結束,否則返回步驟S542。
[0026] 本發(fā)明的有益效果是:本發(fā)明利用數據之間的關聯關系,通過設計BP神經網絡解 決了遺漏數據的填補問題,為后期的數據分析提供了高質量的數據,具有簡單、高效、精確 等優(yōu)點。此外,本發(fā)明在設計BP神經網絡之前設計了相關算法對遺漏數據進行了預填補, 能夠得到更好的神經網絡模型和更精確的數據。
【附圖說明】
[0027] 圖1為大數據的矩陣示意圖。
[0028] 圖2為矩陣中數據遺失示意圖。
[0029] 圖3為本發(fā)明提供的基于數據間關聯關系的遺漏數據填補方法步驟流程圖。
[0030] 圖4為本發(fā)明實施例的尋找MovieLens評分數據集中最強關聯規(guī)律的流程圖。
[0031] 圖5為本發(fā)明實施例的采用slopeone算法進行遺漏值的預填補的步驟流程圖。
[0032] 圖6為本發(fā)明步驟S5的分步驟流程圖。
[0033] 圖7為本發(fā)明實施例的BP神經網絡結構示意圖。
[0034] 圖8為本發(fā)明步驟S54的分步驟流程圖。
【具體實施方式】
[0035] 下面結合附圖對本發(fā)明的實施例作進一步的說明。
[0036] 大數據一般采用矩陣的方式表達,如圖1所示。其中可能會出現數據遺漏的情況, 如圖2所示,圖中畫X的地方表示此值遺失,這些遺失的數據可能包含很多的信息和知識, 對數據挖掘和知識發(fā)現等會有很大負面影響,因此需要對這些遺失數據進行填補。
[0037] 本發(fā)明提供了一種基于數據間關聯關系的遺漏數據填補方法,如圖3所示,包括 以下步驟:
[0038] S1、對數據之間的關聯關系進行分析,得到數據之間的關聯規(guī)律;
[0039] 這里的數據是現實社會的信息描述,現實社會總是會存在各種關聯現象,那么數 據之間也存在或多或少的關聯關系,找出這種關系會對遺漏數據的填補提供更多的支持。
[0040] S2、找到數據之間關聯關系最強的關聯規(guī)律;
[0041] 為了找到數據之間關聯關系最強的關聯規(guī)律,需要對數據進行相關性計算,對數 據的相關性計算可分為基于屬性的相關性計算和基于數據值的相關性計算。
[0042] 本實施例以MovieLens評分數據集為例,其中包含了不同用戶對不同電影的評 價。
[0043] 如圖4所示,在對評分數據進行相關性計算時,若采用基于屬性的相關性計算,即 從進行評分的用戶入手,則首先應將所有電影進行分類,比如:喜劇,愛情,懸疑,科幻,悲 劇,言情,武術等20種類別,如果某個用戶喜愛某類電影,則在該類電影的位置標識為1,否 則標識為0。然后任意選取兩個用戶的評分數據表示如下:
[0044] Pl= {1,0, 0, 1,0, 0, 1,1,1,1,0, 1,0, 0, 1,0, 1,0, 1,1}
[0045] P2 ={0, 0, 1,1,0, 1,0, 0, 1,1,0, 0, 1,0, 1,0, 1,1,0, 0}
[0046] 計算P1,P2的相似性Sum(Pl,P2):若兩組數據第R位上的值相同(0〈1?〈21,1?為整 數),則Sum(Pl,P2)的值加1,那么上述兩組數據的Sum(Pl,P2) = 10〇
[0047] 找出Sum(Pl,P2)值最大的兩組數據,即為具有最強關聯關系的數據。
[0048] 若采用基于數據值的相關性計算,即從評分數據入手,則對同一部電影評分相近, 說明兩者可能存在某種關聯關系,將所有電影的評價進行總體分析,如果結果越相近,表明 兩者關聯關系越緊密,具體的計算公式如公式(1)所示:
【主權項】
1. 一種基于數據間關聯關系的遺漏數據填補方法,其特征在于,包括w下步驟: 51、 對數據之間的關聯關系進行分析,得到數據之間的關聯規(guī)律; 52、 找到數據之間關聯關系最強的關聯規(guī)律; 53、 根據步驟S2中得到的最強關聯規(guī)律對數據進行分組; 54、 對數據中的遺漏數據進行預填補; 55、 進行BP神經網絡的設計; 56、 循環(huán)應用步驟S5中得到的BP神經網絡進行數據填補,直到所有的數據填補完成。
2. 根據權利要求1所述的遺漏數據填補方法,其特征在于,所述步驟S1中的數據是現 實社會的信息描述。
3. 根據權利要求1所述的遺漏數據填補方法,其特征在于,所述步驟S2具體為通過基 于屬性的相關性計算或者基于數據值的相關性計算找到數據之間關聯關系最強的關聯規(guī) 律。
4. 根據權利要求1所述的遺漏數據填補方法,其特征在于,所述步驟S5包括W下分步 驟: 551、 根據步驟S3中的分組情況,將每組數據中的80%作為訓練集,20%作為測試集; 552、 假設訓練集共有k列數據,則選擇其中一列作為輸出,其他作為輸入,重復選擇k 次; 553、 在輸入層設計n個神經元,n為步驟S3中分組個數,輸出層設計一個神經元;在輸 入層與輸出層之間設計一個隱層,隱層中的初始神經元個數為k-1個,根據實驗情況的好 壞,可能改變隱層神經元的個數,W尋找誤差最小的神經元個數,W此構建BP神經網絡; 554、 確定訓練函數對BP神經網絡的正向訓練與反向學習,不斷的縮小誤差,最后達到 誤差很小的狀態(tài)。
5. 根據權利要求4所述的遺漏數據填補方法,其特征在于,所述步驟S54包括W下分步 驟: 5541、 權值初始化; 5542、 給定輸入變量和期望輸出; 5543、 正向訓練:根據給定的輸入變量計算得到神經網絡的實際輸出,并將其與期望輸 出比較,如果存在誤差則進入步驟S544,否則結束; 5544、 反向學習;計算同一層單元的誤差,求出誤差梯度,修正權值與閥值,判斷誤差是 否滿足要求,若滿足要求則結束,否則返回步驟S542。
【專利摘要】本發(fā)明公開了一種基于數據間關聯關系的遺漏數據填補方法,包括以下步驟:S1、對數據之間的關聯關系進行分析,得到數據之間的關聯規(guī)律;S2、找到數據之間關聯關系最強的關聯規(guī)律;S3、根據步驟S2中得到的最強關聯規(guī)律對數據進行分組;S4、對數據中的遺漏數據進行預填補;S5、進行BP神經網絡的設計;S6、循環(huán)應用步驟S5中得到的BP神經網絡進行數據填補,直到所有的數據填補完成。本發(fā)明利用數據之間的關聯關系,通過設計BP神經網絡解決了遺漏數據的填補問題,為后期的數據分析提供了高質量的數據,具有簡單、高效、精確等優(yōu)點。
【IPC分類】G06N3-02, G06F17-30
【公開號】CN104679868
【申請?zhí)枴緾N201510098877
【發(fā)明人】王淋銥, 文有慶, 劉聰
【申請人】四川深度信息技術有限責任公司
【公開日】2015年6月3日
【申請日】2015年3月6日