溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

數(shù)據(jù)清洗和轉(zhuǎn)換的方法步驟

發(fā)布時間:2021-10-09 17:29:36 來源:億速云 閱讀:975 作者:iii 欄目:數(shù)據(jù)庫

本篇內(nèi)容介紹了“數(shù)據(jù)清洗和轉(zhuǎn)換的方法步驟”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠?qū)W有所成!

 01 了解數(shù)據(jù)集

數(shù)據(jù)準備的關鍵和重復階段是數(shù)據(jù)探索。一組因為太大而無法由人工手動讀取、檢查和編輯每個值的數(shù)據(jù),仍需要驗證其質(zhì)量和適用性,然后才可以將其委托給一個值得花費時間和計算的模型。

數(shù)據(jù)清洗和轉(zhuǎn)換的方法步驟

與將大型數(shù)據(jù)集的樣本轉(zhuǎn)儲到電子表格程序中的方法一樣簡單,只需查看每列中出現(xiàn)的值的類型或范圍,即可識別諸如不負責任的默認值之類的錯誤(例如,在沒有測量值的情況下,使用零而不是NULL)或不可能的范圍或不兼容的合并(數(shù)據(jù)似乎來自多個來源,每個來源中使用了不同的單位。例如,華氏度與攝氏度)。

數(shù)據(jù)分析工具非常豐富。當數(shù)據(jù)集太大而無法在電子表格程序中打開時,Python腳本或像RStudio這樣的應用程序具有可視化、匯總或報告數(shù)據(jù)的強大功能。使用你熟悉的任何方法,至少要確定不同屬性值的格式和一般分布。

02 數(shù)據(jù)處理工具

在能夠使用數(shù)據(jù)集之前,有許多工具可以用于清洗、處理和了解數(shù)據(jù)集。Python是這方面的事實標準,它有很多工具來理解和處理數(shù)據(jù)。

Matplotlib之類的包,通??梢苑浅H菀椎厣捎糜诳梢暬瘷z查的數(shù)據(jù)圖表。

Pillow提供各種處理、轉(zhuǎn)換和操作圖像的功能。

Python有一個用于執(zhí)行統(tǒng)計的內(nèi)置程序包,如果需要更多功能的話,NumPy也有。

Python還具有廣泛的內(nèi)置和第三方支持內(nèi)容,可處理你將要遇到的幾乎所有文件格式,包括CSV、JSON、YAML、XML和HTML,以及更深奧的格式(如TOML或INI文件)。

如果這些都不起作用,則有一個值得搜索的軟件包索引器,可以查看是否有解決你的問題的方法?;蛘?,只需搜索“我想用Python做事情”,大多數(shù)情況下,你會發(fā)現(xiàn)某人遇到了相同的問題,并為此提供了解決方案,或者至少提供了一些可以查看的指引。

如果你不喜歡Python,那么幾乎所有選擇的編程語言都具有類似的工具和功能。我們之所以喜歡Python,是因為這些工作已經(jīng)為你完成了,而且有很多例子可以作為起點。Python在這方面沒有什么神奇之處,但它是最受歡迎的選擇,所以我們提倡堅持使用主流工具。

另一個不錯的選擇是電子表格程序,例如Excel、Numbers或Google Sheets。它們經(jīng)常受到指責,因為在這些程序中進行數(shù)據(jù)準備可能很麻煩,但在需要使用Python(或你選擇的其他工具)之前,你可以使用它們非??焖俚孬@得大量有用的洞見和準備。作為系統(tǒng)附贈的工具,你基本上肯定已經(jīng)安裝了其中一個,并且可以在你的機器上運行。

最后,不要害怕跳出框架思考——一些像壓縮數(shù)據(jù)集這樣簡單的東西,甚至不需要看數(shù)據(jù)集內(nèi)部就能大致了解數(shù)據(jù)集的熵大小。如果一個數(shù)據(jù)集壓縮得非常好,而來自相同來源的另一個數(shù)據(jù)集壓縮得不那么好,那么第二個數(shù)據(jù)集的數(shù)據(jù)的熵可能比第一個數(shù)據(jù)集的大。

圖像數(shù)據(jù)集不是那么容易觀察到的,但絕對值得花時間瀏覽一下圖像的總體質(zhì)量,以及圖像使用了哪些裁剪方法。像Turi Create這樣的可視化功能對于了解數(shù)據(jù)非常有用。圖3-1顯示了一個例子。

數(shù)據(jù)清洗和轉(zhuǎn)換的方法步驟

▲圖3-1 通過Turi Create了解你的數(shù)據(jù)

03 清洗數(shù)據(jù)

在了解數(shù)據(jù)集的過程中,你可能會遇到一些錯誤。記錄數(shù)據(jù)可能會產(chǎn)生錯誤。需要檢查的錯誤有以下幾類:

  • 一致值錯誤

  • 單值錯誤

  • 缺失值

一致值錯誤包括可能導致整列或一組值不準確的情況,例如,使用儀器記錄某個被統(tǒng)一量校準錯誤的數(shù)據(jù),從產(chǎn)生額外熱量的物體旁邊測量溫度,使用未提前歸零的天平稱重,等等。這還包括來自不同來源的數(shù)據(jù)未經(jīng)轉(zhuǎn)換就被不當合并的情況:簡單壓縮一組來自美國和一組來自英國的數(shù)據(jù),現(xiàn)在系統(tǒng)認為100攝氏度完全合理。

單值錯誤用于描述離群值或不一致的錯誤校準,僅在少數(shù)情況下導致不準確或完全不合邏輯的值??赡艹霈F(xiàn)的情況,如傳感器超載一天,產(chǎn)生的值比理論可能的高1000%(應該是相當明顯的)。

當用于記錄數(shù)據(jù)的方法出現(xiàn)問題,或者數(shù)據(jù)集在其生命周期的某個時刻經(jīng)歷了某種畸形的轉(zhuǎn)換時,可能會出現(xiàn)缺失值。這些可能是簡單的nil或NULL值,或者一些不太有用的值,例如字符串"NONE"或默認值0。有些甚至可能只是無意義的字符,什么都有可能出現(xiàn)。

如果可以識別出一致誤差,那么這通??梢酝ㄟ^按一致誤差值縮放或轉(zhuǎn)換整個值集來糾正。單值錯誤和缺失值要求你要么猜測需要使用某種可行方法替換的值,要么完全刪除行或者觀察值以防止出現(xiàn)誤差。

你可以通過以下方法來猜測該值:獲取該列中所有其他值的平均值;使用該列中與缺失值最接近的觀察值;使用一些使用其他屬性知識的特定于應用程序的方法。

數(shù)據(jù)清洗和轉(zhuǎn)換的方法步驟

04 轉(zhuǎn)換數(shù)據(jù)

在使用數(shù)據(jù)之前進行轉(zhuǎn)換有兩個主要原因:為了滿足要使用的算法的格式要求;使用新的推斷屬性改進或擴展當前數(shù)據(jù)。對于這兩種目的,通常有三種數(shù)據(jù)轉(zhuǎn)換:

1. 歸一化(normalization)

一種用于數(shù)值數(shù)據(jù)的方法,它將上界和下界綁定到一個數(shù)值范圍上,使它們更容易處理。

這方面的一個例子是對數(shù)值數(shù)據(jù)的觀察值需要與不同的度量進行比較。如果你試圖根據(jù)魚的長度、體重、年齡和失去眼睛的數(shù)量來評估不同魚的健康狀況,大概每個人都會同意用不同的標準來比較兩條魚(例如,一只眼睛與一年的魚,或者一厘米長度的相比較)。如果用同樣的標準來比較,則會得出不同的結(jié)果。

歸一為正數(shù)值很簡單:

數(shù)據(jù)清洗和轉(zhuǎn)換的方法步驟

2. 泛化(generalization)

一種將特定值替換為更高級別的概念,以更好地進行群體觀察的方法。

當記錄某些屬性的方法比需要的更精確時,通常會發(fā)生這種情況。例如,如果你具有某人運動的GPS統(tǒng)計信息,則可以將緯度和經(jīng)度歸納為一個地址,從而防止系統(tǒng)將每一個小運動都視為位置變化。或者,將數(shù)值測量值轉(zhuǎn)換為人類群體,這意味著相關因素可能不是將個人的身高測量值以毫米為單位,而是將其分為低于、接近或高于平均的身高。

3. 聚合(aggregation)

對某些復雜屬性進行總結(jié)以使分析更有效的一種方法。

例如,可以從文本中提取關鍵字(甚至是單詞頻率),而不是分析文本的段落(Attribute: Text,Classification: Class),只顯示與所給出的分類最相關或最獨特的方面。

在這些步驟之前、之間或之后,可能會出現(xiàn)不同類型的數(shù)據(jù)轉(zhuǎn)換,數(shù)據(jù)可能被更改、擴展或縮減:

  • 特征構建(feature construction)

一種創(chuàng)建新屬性的方法,通常通過推理或組合已有的其他值來實現(xiàn)。

這方面的一個例子是泛化或聚合,其中原始值也被保留,或者更常見的是,當存在兩個或多個值時(或允許發(fā)現(xiàn)第三個值)。例如,如果你有一家公司的名稱和經(jīng)營所在國,可以查一下它的商業(yè)登記號;如果你有某人的身高和體重,可以構建他們的BMI。

  • 數(shù)據(jù)規(guī)約(data reduction)

一種刪除某些屬性的方法,這些屬性可能與另一個屬性相關,也可能與你試圖解決的問題無關。

例如,如果你有某人的地址、郵編和區(qū)號,這些信息中至少有一條是多余的。也許—就像在特征構建的例子中那樣—你由于一些算法的原因想要同時分析兩者,但這是不可能的。兩個或多個屬性之間的高度相關性表明,它們可能在分析中導致錯誤,并可能被刪除。

05 驗證數(shù)據(jù)集的適應性

到了這一步,你應該花更多的時間仔細地看看你試圖解決的問題和打算用于任務的數(shù)據(jù)集。在AI應用程序之前的數(shù)據(jù)分析世界中,可能沒有你想要的那么嚴格的規(guī)則,但你通常會知道一個解決方案是否可行,一個數(shù)據(jù)集是否能講述你想要的故事。

相信這個小小的聲音,因為如果你回頭看,會發(fā)現(xiàn)浪費的工作是有價值的。

再次探索你的數(shù)據(jù)。瀏覽并可視化它,用少量的數(shù)據(jù)子集測試你的解決方案—做你需要做的任何事情。如果感覺還是正確的,那就繼續(xù)前進。

“數(shù)據(jù)清洗和轉(zhuǎn)換的方法步驟”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關的知識可以關注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI