資料科學家這個名字在這兩年紅到發黑,好像透過大數據和資料科學家能夠變成預言家,還可以憑空幫公司賺進數倍利潤,本系列文章將以實例揭露所謂資料科學家平常在做的事情,打破各位對這個職業的幻想XD 這次示範的資料來源來自Pixnet辦的hackthon其中的spam(辨識垃圾文章)的資料.
- 觀察資料
拿到資料後SOP的第一步就是看看資料長啥樣.資料科學將和一般統計分析資料的差別在於,通常統計分析的資料在一開始就以結構化的方式去蒐集,而且通常已經將資料格式以及變數範圍定義清楚,但是資料科學面對的data通常很髒(其實問卷也有很髒的例如開放題),而且量太大了<<重點在於量太大了.問卷的開放題通常就是人工下去掃或訂正,好一點的公司還有DP或QA確認資訊,但是資料科學收到的資料是無法靠人工一一訂正的.
進入正題,觀察資料有幾個方向:
- 看檔案大小(操作環境是在ipython notebook,使用shell指令)
最大的檔案將近兩G,就主辦單位的大大告知這是一個月份的抽樣資料. - 看看長啥樣
通常就用head看看資料是啥格式,有什麼欄位,才能決定都下用什麼方式來讀取處理檔案.
- 看檔案大小(操作環境是在ipython notebook,使用shell指令)
看起來是個json格式的資料,有po文時間日期標題等資訊,亂七八糟的html碼也包含在裡面.
- 有多少筆資料
通常是用wc -l
來看比數,但是因為json格式,所以改成數某個欄位出現過幾次.
- 讀取資料
雖然寫這個好像有點白癡,但是真的很容易遇到很難讀取的資料格式,或是當資料有編碼問題的時候.讀取資料的時候要注意資料是啥格式Json,csv,還是特殊格式的檔案,接著還要確認資料的分隔符號,前後資料一不一致.如果資料太大,又要用其他的讀取資料方式.
這邊我用的是python的json套件將資料讀取進來,本來想用pandas直接讀的,但是一直有問題,才用這種比較安全的做法.json套件讀進來後,資料是個list+dic檔案,接著轉成pandas的dataframe.
- 觀察讀取進來的資料
- 看個統計摘要
瞭解一下一些統計值的狀況,作為日後清資料參考. - 看一下positive instance
到目前為止都在read data階段,沒有什麼insight,也沒什麼厲害的model,接下是痛苦的clean data.
沒有留言:
張貼留言