數據治理技術之數據清洗

數據清洗背景

數據質量一般由準確性、完整性、一致性、時效性、可信性以及可解釋性等特征來描述,根據 Rahm 等人在 2000 年對數據質量基于單數據源還是多數據源以及問題出在模式層還是實例層的標準進行分類,將數據質量問題分為單數據源模式層問題、單數據源實例層問題、多數據源模式層問題和多數據源實例層問題這4大類。

現實生活中的數據極易受到噪聲、缺失值和不一致數據的侵擾,數據集成可能也會產生數據不一致的情況。數據清洗就是識別并且(可能)修復這些“臟數據”的過程,如果一個數據庫數據規范工作做得好會給數據清洗工作減少許多麻煩。

對于數據清洗工作的研究基本上是基于相似重復記錄的識別與剔除方法展開的。

并且以召回率和準確率作為算法的評價指標,現有的清洗技術大都是孤立使用的。

不同的清洗算法作為黑盒子以順序執行或以交錯方式執行,而這種方法沒有考慮不同清洗類型規則之間的交互簡化了問題的復雜性,但這種簡化可能會影響最終修復的質量,因此需要把數據清洗放在上下文中結合端到端質量執行機制進行整體清洗。

隨著大數據時代的到來,現在已經有不少有關大數據清洗系統的研究,不僅有對于數據一致性以及實體匹配的研究,也有基于MapReduce的數據清洗系統的優化研究。

數據清洗基本方法

從微觀層面來看,數據清洗的對象分為模式層數據清洗和實例層數據清洗,數據清洗識別并修復的“臟數據”主要有錯誤數據、不完整的數據以及相似重復的數據,根據“臟數據”分類,數據清洗也可以分為 3 類:屬性錯誤清洗、不完整數據清洗以及相似重復記錄的清洗。

3.2.1 屬性錯誤清洗

數據庫中很多數據違反最初定義的完整性約束,存在大量不一致的、有沖突的數據和噪聲數據。我們應該識別出這些錯誤數據,然后進行錯誤清洗。

(1)屬性錯誤檢測

屬性錯誤檢測有基于定量的方法和基于定性的方法。

? 定量的誤差檢測一般在離群點檢測的基礎上采用統計方法來識別異常行為和誤差,離群點檢測是找出與其他觀察結果偏離太多的點,Aggarwal 將關于離群點檢測方法又分為 6 種類型:極值分析、聚類模型、基于距離的模型、基于密度的模型、概率模型、信息理論模型,并對這幾種模型進行了詳盡的介紹;

? 定性的誤差檢測一般依賴于描述性方法指定一個合法的數據實例的模式或約束,因此確定違反這些模式或者約束的就是錯誤數據。

圖 4 描述了定性誤差檢測技術在 3 個不同方面的不同分類下面我們對圖中提出的3 個問題進行分析。

? ?首先.錯誤類型是指要檢測什么。定性誤差檢測技術可以根據捕捉到的錯誤類型來進行分類,目前大量的工作都是使用完整性約束來捕獲數據庫應該遵守的數據質量規則,雖然重復值也違反了完整性約束,但是重復值的識別與清洗是數據清洗的一個核心;

其次,自動化檢測根據人類的參與與否以及參與步驟來對定性誤差檢測技術進行分類,大部分的檢測過程都是全自動化的,個別技術涉及到人類參與;

最后,,商業智能層是指在哪里檢測,錯誤可以發生在數據治理的任何階段,大部分的檢測都是針對原始數據庫,但是有些錯誤只能在數據治理后獲得更多的語義和業務邏輯才能檢測出來。

不僅可以使用統計方法來對屬性錯誤進行檢測,使用一些商業工具也可以進行異常檢測,如數據清洗工具以及數據審計工具等。Potters Wheel是一種公開的數據清洗工具,不僅支持異常檢測,還支持后面數據不一致清洗所用到的數據變換功能。

(2)屬性錯誤清洗

屬性錯誤清洗包括噪聲數據以及不一致的數據清洗。

噪聲數據的清洗也叫光滑噪聲技術,主要方法有分箱以及回歸等方法,分箱方法是通過周圍鄰近的值來光滑有序的數據值但是只是局部光滑,回歸方法是使用回歸函數擬合數據來光滑噪聲;

不一致數據的清洗在某些情況下可以參照其他材料使用人工進行修改,可以借助知識工程工具來找到違反限制的數據。

3.2.2不完整數據清洗

在實際應用中,數據缺失是一種不可避免的現象,有很多情況下會造成數據值的缺失,例如填寫某些表格時需要填寫配偶信息,那沒有結婚的人就無法填寫此字段,或者在業務處理的稍后步驟提供值,字段也可能缺失。處理缺失值目前有以下幾種方法:

忽略元組:一般情況下,當此元組缺少多個屬性值時常采用此方法,否則該方法不是很有效,當忽略了此條元組之后,元組內剩下的有值的屬性也不能被采用,這些數據可能是有用的;

人工填寫缺失值:這種方法最大的缺點就是需要大量的時間和人力,數據清理技術需要做到最少的人工干預,并且在數據集很大、缺失很多屬性值時,這種方法行不通;

全局變量填充缺失值:使用同一個常量來填充屬性的缺失值,這種方法雖然使用起來較為簡單,但是有時不可靠,例如,用統一的常量“NULL”來填寫缺失值,在后續的數據挖掘中,可能會認為它們形成了一個有趣的概念;

中心度量填充缺失值:使用屬性的中心度量來填充缺失值,中心度量是指數據分布的“中間”值;

使用最可能的值填充:相當于數值預測的概念,回歸分析是數值預測最常用的統計學方法,此外也可以使用貝葉斯形式化方法的基于推理的工具或決策樹歸納確定缺失值。

3.2.3相似重復記錄清洗

相似重復記錄識別

消除相似重復記錄,首先應該識別出相同或不同數據集中的兩個實體是否指向同一實體,這個過程也叫實體對齊或實體匹配。文本相似度度量是實體對齊的最基礎方法,大致分為 4 種:基于字符的、基于單詞的、混合型和基于語義的。

隨著知識表示學習在各個領域的發展,一些研究人員提出了基于表示學習的實體匹配算法,但均是以 TransE 系列模型為基礎構建的。TransEl4首次提出基于翻譯的方法。將關系解釋為實體的低維向量之間的翻譯操作,隨之涌現出一些擴展的典型算法,下面對這些算法進行簡單介紹。

1.MTransE 算法:基于轉移的方法解決多語言知識圖譜中的實體對齊。首先使用 TransE 對單個的知識圖譜進行表示學習;接著學習不同空間的線性變換來進行實體對齊,轉移方法有基于距離的軸校準、翻譯向量、線性變換這 3 種。該知識模型簡單復用 TasE,對于提高實體對齊的精度仍存在很大局限;
2.JAPE 算法:是針對跨語言實體對齊的聯合屬性保護模型,利用屬性及文字描述信息來增強實體表示學習,分為結構表示、屬性表示。IPTransE 算法使用聯合表示的迭代對齊,即使用迭代的方式不斷更新實體匹配。該方法分為 3 部分:知識表示、聯合表示、迭代對齊,但這兩種算法都是基于先驗實體匹配,將不同知識圖譜中的實體和關系嵌入到統一的向量空間,然后將匹配過程轉換成向量表示間距離的過程;

3.SEEA 算法分為兩部分:屬性三元組學習、關系三元組學習。該模型能夠自學習,不需要對齊種子的輸入,每次迭代根據前面迭代過程所得到的表示模型,計算實體向量間的余弦相似度,并選取前B對添加到關系三元組中更新本次表示模型,直到收斂。收斂條件:無法選取前β對實體對。

實體對齊方法不僅應用于數據清洗過程中,對后續的數據集成以及數據挖掘也起到重要的作用。除此之外也有很多重復檢測的工具可以使用:如Febrl系統、TAILOR工具、WHIRL系統、BigMatch等。

相似重復記錄清洗

相似重復記錄的清洗一般都采用先排序再合并的思想,代表算法有優先隊列算法、近鄰排序算法、多趟近鄰排序算法。

優先隊列算法比較復雜,先將表中所有記錄進行排序后,排好的記錄被優先隊列進行順序掃描并動態地將它們聚類,減少記錄比較的次數,匹配效率得以提高,該算法還可以很好地適應數據規模的變化。

近鄰排序算法是相似重復記錄清洗的經典算法,采用滑動窗口機制進行相似重復記錄的匹配,每次只對進入窗口的 w 條記錄進行比較,只需要比較 w*N 次,提高了匹配的效率。但是它有兩個很大的缺點:首先是該算法的優劣對排序關鍵字的依賴性很大,如果排序關鍵字選擇得不好,相似的兩條記錄一直沒有出現在滑動窗口上就無法識別相似重復記錄,導致很多條相似重復記錄得不到清洗;其次是滑動窗口的值 w也很難把控,w值太大可能會產生沒必要的比較次數,w 值太小又可能會遺漏重復記錄的匹配。

多趟近鄰排序算法是針對近鄰排序算法進行改進的算法,它是進行多次近鄰排序算法每次選取的滑動窗口值可以不同,且每次匹配的相似記錄采用傳遞閉包,雖然可以減少很多遺漏記錄,但也會產生誤識別的情況,這兩個算法的滑動窗口值和屬性值的權重都是固定的,所以也有一些專家提出基于可變的滑動窗口值和不同權重的屬性值來進行相似重復記錄的清洗。

以上算法都有一些缺陷,如都要進行排序,多次的外部排序會引起輸入/輸出代價過大;其次由于字符位置敏感性,排序時相似重復的記錄不一定排在鄰近的位置,對算法的準確性有影響。

本文引用軟件學報吳信東,董丙冰,楊威《數據治理技術》,有刪減,有改動,如有侵權,請聯系刪除。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/166794.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/166794.shtml
英文地址,請注明出處:http://en.pswp.cn/news/166794.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

虛幻學習筆記—給UI添加動畫

一、前言 本文所使用的虛幻版本為5.3.2,之前工作都是用unity,做這類效果用的最多的是一個DoTween的插件,在虛幻中都內置集成了這這種效果制作。 圖1.1 UI動畫 二、過程 1、首先,在諸如按鈕、圖像等可交互控件中選中,如…

centos userad命令詳解

命令作用 用于創建用戶常見參數 -d 指定用戶的家目錄-e 賬號的到期時間,格式YYYY-MM-DD-u 指定該用戶的默認UID,(centos7開始1000是普通用戶的第一個UID)-g 指定一個初始的用戶基本組(必須已經存在)-G 指定…

計算機網絡之運輸層

一、概述 物理層、數據鏈路層以及網絡層它們共同解決了將主機通過異構網絡互聯起來所面臨的的問題,實現了主機到主機的通信 但實際上在計算機網絡中進行通信的真正實體是位于通信兩端主機中的進程 如何為運行在不同主機上的應用進程提供直接的通信服務時運輸層的任務…

基于Boost.Asio實現端口映射器

Boost.Asio 是一個功能強大的 C 庫,用于異步編程和網絡編程,它提供了跨平臺的異步 I/O 操作。在這篇文章中,我們將深入分析一個使用 Boost.Asio 實現的簡單端口映射服務器,該服務器能夠將本地端口的數據包轉發到指定的遠程服務器上…

從設計上理解JDK動態代理

作者簡介:大家好,我是smart哥,前中興通訊、美團架構師,現某互聯網公司CTO 聯系qq:184480602,加我進群,大家一起學習,一起進步,一起對抗互聯網寒冬 照理說,動態…

上門預約小程序開發優勢

想要放松身心,享受按摩的舒適感?那就需要一個專業的按摩師來上門服務。我們開發的預約按摩小程序app系統,匯聚各類上門按摩服務,包括推拿SPA、小兒推拿、中醫等,為您提供高價值、高標準的養生健康體驗。24小時隨時提供…

GEE土地分類——使用隨機森林方法和多源遙感數據進行面向對象的土地分類NAIP數據為例

簡介: 數據: 國家農業圖像計劃 (NAIP) 在美國大陸的農業生長季節獲取航空圖像。 NAIP 項目每年根據可用資金和圖像獲取周期簽訂合同。從 2003 年開始,NAIP 以 5 年為一個周期。2008 年是過渡年,2009 年開始采用 3 年周期。 NAIP 圖像以一米的地面采樣距離 (GSD) 采集,水…

【前端】讓列表像Excel單元格一樣編輯

前言 領導說了一堆的話,最后總結一句就是客戶很懶,客戶的員工更加懶。 本著讓別人節省時間的原則,提倡出了讓列表和Excal的單元格一樣,不僅看數據還可以隨時更改數據。 查資料 根據 Jeecg-Vue3 源碼介紹,從而知道是基于 Vben Admin 開源項目進行改造的。 因此在 Vben…

Sulfo-CY3 NHS熒光染料的制備和表征

Sulfo-CY3 NHS(源自星戈瑞的花菁染料)熒光染料的制備和表征是確保染料質量和性能的關鍵步驟。制備Sulfo-CY3 NHS熒光染料: 原材料準備:準備所需的原材料,包括CY3 NHS ester(或等效的前體),用于制備Sulfo-C…

沉頭孔和埋頭孔的區別

埋頭空和沉頭孔的區別在于螺栓孔上部擴孔:沉頭孔是直筒結構;埋頭孔是四十五度結構,比沉頭孔較為平順。 螺栓孔上部擴孔能容納螺栓頭部,使螺頭部不高于周圍表面。埋頭空和沉頭孔只是兩種不同的叫法。 沉頭孔是 PCB 上的圓柱形凹槽…

RK3568 支持4x4矩陣鍵盤

在對應的設備樹添加: keypad {compatible = "gpio-matrix-keypad";pinctrl-names = "default";pinctrl-0 = <&GPIO3_A1_pin&GPIO1_D3_pin&GPIO1_D4_pin&GPIO1_C7_pin&GPIO1_D2_pin&GPIO1_D1_pin&GPIO1_D0_pin&GPIO3_A…

將form表單中的省市區的3個el-select下拉框的樣式調成統一的間隔距離和長度,vue3項目iot->供應商管理

省市區是用3個el-select組成的 在表單中用el-col&#xff0c;會導致3個下拉的距離不統一&#xff0c;市和區的前面也是不需要文字label的 如何解決:用vue3的:deep()進行樣式穿透&#xff0c;由于el-form-item標簽都是一樣的&#xff0c;為了能準確的找到市的el-form-item&…

解決:前端js下載文件流出現“未知文件格式”錯誤

第一中情況&#xff1a; 出現的問題&#xff0c;前端已經設置了responseType: blob,下載下來還是格式不對。 最后經過排查&#xff0c;后端缺少charsetutf-8&#xff0c;所以前端可以設置編碼&#xff1a; 第二中情況&#xff1a; 后端已經設置了charsetutf-8&#xff0c;前…

機器學習/sklearn 筆記:K-means,kmeans++,MiniBatchKMeans,二分Kmeans

1 K-means介紹 1.0 方法介紹 KMeans算法通過嘗試將樣本分成n個方差相等的組來聚類&#xff0c;該算法要求指定群集的數量。它適用于大量樣本&#xff0c;并已在許多不同領域的廣泛應用領域中使用。KMeans算法將一組樣本分成不相交的簇&#xff0c;每個簇由簇中樣本的平均值描…

JS實現數組去重

數組去重&#xff0c;一般都是在面試的時候才會碰到&#xff0c;一般是要求手寫數組去重方法的代碼。如果是被提問到&#xff0c;數組去重的方法有哪些&#xff1f;你能答出其中的 10 種&#xff0c;面試官很有可能對你刮目相看。 在真實的項目中碰到的數組去重&#xff0c;一般…

數據結構-樹

參考&#xff1a;https://www.hello-algo.com/chapter_tree/binary_tree/#711 1. 介紹 樹存儲不同于數組和鏈表的地方在于既可以保證數據檢索的速度&#xff0c;又可以保證數據插入刪除修改的速度&#xff0c;二者兼顧。 二叉樹是一種很重要的數據結構&#xff0c;是非線性的…

【學習篇】Linux中grep、sed、awk

Linux 文本處理三劍客 – awk, sed, grep grep過濾文本 https://zhuanlan.zhihu.com/p/561445240 grep 是 Linux/Unix 系統中的一個命令行工具&#xff0c;用于從文件中搜索文本或字符串。grep 代表全局正則表達式打印。當我們使用指定字符串運行 grep 命令時&#xff0c;如…

Mysql并發時常見的死鎖及解決方法

使用數據庫時&#xff0c;有時會出現死鎖。對于實際應用來說&#xff0c;就是出現系統卡頓。 死鎖是指兩個或兩個以上的事務在執行過程中&#xff0c;因爭奪資源而造成的一種互相等待的現象。就是所謂的鎖資源請求產生了回路現象&#xff0c;即死循環&#xff0c;此時稱系統處于…

星河創新,開拓新紀!2023“星河產業應用創新獎”報名全面開啟!

科技的浪潮洶涌而至&#xff0c;人工智能正悄無聲息地滲透進我們生活的每一個角落&#xff0c;成為推動社會奔騰向前的強大引擎。 隨著大模型時代到來&#xff0c;更多的創新者涌現出來&#xff0c;他們正積極探索AI與實體的深度融合&#xff0c;解決行業難題&#xff0c;開拓…

算法的奧秘:種類、特性及應用詳解(算法導論筆記1)

算法&#xff0c;是計算機科學領域的靈魂&#xff0c;是解決問題的重要工具。在算法的世界里&#xff0c;有著各種各樣的種類和特性。今天&#xff0c;我將帶各位踏上一段探索算法種類的旅程&#xff0c;分享一些常見的算法種類&#xff0c;并給出相應的實踐和案例分析。希望通…