有關數據分析的感悟

數據

當我們拿到數據集的時候,我們應該做些什麼呢?在數據的汪洋大海中,你是否體會到了同在北上廣奮鬥的人們一樣的在午夜的孤寂感?在充實着林林總總的數據表格中,你試圖從中發現規律,可是否感受到了像心上人在身邊卻無法說出口的那層窗戶紙。

今天寫下這篇文章,算是自己對處理數據的一些感受,同大家分享。

導入,清洗

當我們拿到初始數據的時候,我們首先要做的是將數據讀入並對數據進行篩選和規整。

原始數據的類型有很多,有的存在excel中,有的json格式,有的是html格式,當我們使用的數據來源多樣的時候我們就需要把他們統一起來以一種格式存在。

接下來,我們需要篩選數據,清除離羣值,異常值,對缺省值進行插值或者當數據量很大的時候對缺省值直接刪除也可以。

有時候,我們還需要對數據進行一些計算處理。比如在一個有關全國嬰兒體重的數據集中,有這樣兩列數據,分別是磅和盎司,很明顯這兩行所表述的都是嬰兒的體重,當我們進行數據分析時必須將他們併爲一行處理。

這一步中,我們經常使用的庫就是numpy以及pandas。

單變量探索

數據處理好後,我們需要對每個變量進行單一的可視化。進而初步瞭解變量的分佈規律以及可能存在的潛在的相關關係,幫助之後的分析提供一個大致方向。

我們可以畫一個條形圖,看看數據集中在哪一塊?在這一步中,我們可以很清楚的發現我們得到的數據是否適合我們所作的研究,判斷實驗提供的數據的可靠性。

比如我們探究一個問題"第一胎是否早產",根據得到的數據以及常識我們知道,跟孕婦年齡、是否流產、家庭經濟情況、嬰兒性別等因子有關係。我們對這些變量做條形圖。假如我們發現當嬰兒性別做自變量時候,妊娠週期大致相同,我們可以初步排除嬰兒性別對結論的影響。

這就是所謂的確定大致的研究方向。

這一步主要用matplotlib。

多變量探索

當我們通過單變量探索篩選出最有可能影響結論的因子後,我們需要對這些因子進行相關探索,或者說叫成對探索。

比如畫個散點圖,看看兩個變量之間是否密切聯繫,如果兩個變量之間的相關關係很大,我們要考慮使用PCA降維。

這一步主要使用matplotlib和sklearn。

選擇模型

當我們通過前面的所有過程,終於將原始數據處理成了我們想要的多維解釋變量,我們就可以考慮使用模型了。

機器學習的方法很多,就連最簡單的普通最小二乘法也可以稱得上是機器學習算法。

主要分爲兩類,監督學習和無監督學習。有監督學習主要應用於分類與迴歸。比如最常用的k-近鄰就屬於分類,而普通最小二乘法就屬於迴歸。

無監督學習主要分爲聚類和降維。比如很出名的LDA算法就是聚類。

這一步,你可以使用python中的sklearn,不過不推薦使用。如果是想深入學習,還是使用tensorflow或者caffe等等機器學習框架。

估計與假設檢驗

這一步也可以稱之爲模型評估。

最常用的模型評價指標就是accuracy和AUC。這方面的理論知識主要來自於概率論。

使用工具numpy即可。

可視化

當你最終做出了結果,當然要用可視化效果去衝擊你的客戶。可視化對於產品功能來說是個可有可無的雞肋,但對於客戶來說,就是相當於常常掛在嘴邊的那個我只看結果不看過程的結果。

聽說R和python馬上就要融合了,發起者就是開發了pandas庫的Wes Mckinney。這給我們可視化帶來了福音,因爲,R的效果要優於python。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章