機器學習-數據清洗

歡迎你們前往騰訊雲+社區,獲取更多騰訊海量技術實踐乾貨哦~python

本文由brzhang發表git

數據清洗

首先,爲什麼須要對數據進行清洗

數據清洗的工做絕壁是很是枯燥的,作數據研究的的人絕對沒法避開這個環節,其根本緣由是由於咱們從各類渠道拿到的數據可能會出現:github

一、不合理的數據,你好比,樣本中有些人的年齡超過了120歲,樓層的高度達到了1000層,以及其餘的一些很是不合理的場景。算法

二、錯誤的類型,你好比,樣例中,幾乎全部的數據都是整形,然而,有一些是字符串類型,若是不進行處理,將這些數據直接餵給算法,通常狀況下是要崩潰的。json

三、計算機對於處理字符串類型比較吃力,有時候,須要咱們將他轉化爲數字類型,這樣就設計到一個映射關係,好比,樣例性別,【男,女】,咱們能夠轉化爲1,2,房屋的類型【單間,一房一廳,二房一廳,三房一廳,商鋪】能夠對應的枚舉出來,好比我在處理房屋朝向上的示例api

#提取房屋的朝向
def parse_orientation(row):
    if '朝西南' in row:
        return 1
    elif '朝東北' in row:
        return 2
    elif '朝東' in row:
        return 3
    elif '朝南' in row:
        return 4
    elif '朝西北' in row:
        return 5
    elif '朝北' in row:
        return 6
    elif '朝東南' in row:
        return 7
    elif '朝南北' in row:
        return 8
    elif '朝西' in row:
        return 9
    else:
        return 10
複製代碼

等等等等,我想說的是絕對還有不少你意想不到的場景,須要你耐心的打磨數據,將蒐集到的原始數據,清洗成爲可用的數據。數組

數據清洗須要掌握哪些黑科技

一般咱們拿到的數據數據均可以簡化爲表格模型,無用你是xsl也好,csv亦或json數組也好,均可以利用pandas來讀取,讀取以後,接下來的工做基本上就是藉助在pandas的一些api來作數據清洗工做了,以下,我讀取了一份房價信息的數據表,這份數據固然是我本身根據上一篇文章,利用scrapy作了一個爬蟲爬取的咯。app

img
jupyter筆記

爲了讓咱們可以更好的玩數據清洗,我也不吝嗇的貢獻出了一份很是全面的pandas的操做Cheatsheet一份,以及後面你必定會用到一個萬能的CheatSheet機器學習

來來,簡單的瞭解一下pandas的一些經常使用的api了,舉例就用:scrapy

img
示例數據一行

一、取子集經常使用操做

img
取子集

其中,loc是支持按照列名字符串的方式來取子集,iloc支持的是使用數組索引(從0開始)的方式來取子集,一般,逗號前面是行相關的一些條件限制,逗號右邊則是列相關的限制。好比,我取得

img
我就取前兩列

二、處理空白數據行

img
處理空白數據

這種就很簡單愉快了,一個api就能夠刪除或者填充有空白數據的樣本了。

這個就不演示了,由於我是爬蟲爬取數據,因此在爬取的過程當中,我已經對數據進行了一些基礎的處理,程序控制不可能出現空白數據了,因此,我也是建議,本身寫爬蟲去獲取數據,這些減輕數據清洗環節的壓力。

三、apply系列

apply其實有比較多兄弟,好比applymap,map,他們的能力各有不一樣,總的來講就是apply()是一種讓函數做用於列或者行操做,applymap()是一種讓函數做用於DataFrame每個元素的操做,而map是一種讓函數做用於Series每個元素的操做,以下所示,我這裏對ege列進行處理了一了,將數字和文本歸一化爲數字。

img
apply示例

實際上,這個操做徹底可用map來作:

df['ege'] = df['ege'].map(parse_house_age)
df.head(5)
複製代碼

結果徹底同樣,由於咱們只取了一列。

數據清洗比較高級的方式,使用各類圖表

一、使用散點圖

img
房屋總面積對應總價圖

二、房價熱力值圖:

img
房價區間熱力圖

圖描述了房間分佈區間,能夠清洗看出一些問題。

三、頻率直方圖幫助咱們迅速找到一些特例獨行的豬,由於他出現的次數少嘛,不得不讓人懷疑這種數據的真實性。

img
利用直方圖快速找出毛刺點

ok,總的來講,這個過程須要開動本身的腦經,把你拿到的原始數據,慢慢慢慢的,變成能夠給你下面算法須要的數據。

相關閱讀 【每日課程推薦】機器學習實戰!快速入門在線廣告業務及CTR相應知識

此文已由做者受權騰訊雲+社區發佈,更多原文請點擊

搜索關注公衆號「雲加社區」,第一時間獲取技術乾貨,關注後回覆1024 送你一份技術課程大禮包!

相關文章
相關標籤/搜索