Python 數據分析與挖掘概述

                                                                    Python 數據分析與挖掘概述

一、數據分析與挖掘介紹

       從人類歷史演變的角度出發,我們回顧整個計算機的發展歷程可以看到,從第一臺電子計算機(ENIAC)於1946年2月誕生到今天,也不過是短短的六十載,但就是在這短短的幾十年過程中,計算機技術得到了飛速的發展,極大地促進了社會生產力的提高,提升了生產製造水平。可以說計算機技術是近代以來發展最爲迅速的技術之一。

      尤其是近年來,隨着半導體技術,通訊技術的不斷髮展,人類收集數據和存儲數據的能力都得到了極大的提高。無論是在科學研究還是社會生活的各個領域中都產生積累了大量的數據,對這些數據進行分析以挖掘出蘊含在這些數據中的有用信息,已成爲我們各個領域的共同需求,對改善人類的生活,促進社會的發展有着極大的作用。

      數據分析與挖掘是指利用數學和計算機的手段,對收集來的數據進行適當的處理和開發,以求最大化地開發數據的功能,發揮數據的作用。具體來說,數據挖掘是從海量的數據中挖掘出隱含的、先前未知、對決策有潛在價值的關係、模式、趨勢,並利用這些知識和規則建立用於決策支持的模型,提供預測性決策支持的方法、工具、和過程。

       留心觀察就會覺察到,大數據分析在我們生活中的應用案例屢見不鮮。例如許多電商網站會根據用戶的歷史瀏覽足跡、購買記錄等數據,挖掘出用戶的喜好等信息,然後基於用戶的興趣偏好,把用戶感興趣的物品或者視頻、資訊等推薦給用戶,給用戶帶來沉浸式的體驗,讓用戶感到一定的滿足感,優化用戶的體驗。

二、數據分析的流程

       在瞭解了數據分析與挖掘的相關背景知識後,我們又應該如何開始數據分析相關的工作的呢?首先,我們要清楚的知道一次數據挖掘任務是在什麼樣的背景下進行的,任務的最終目的是什麼,最終的項目成果是什麼,能滿足什麼樣的需求,能帶來什麼樣的收益。其次,要了解待分析的數據的來源,如何獲取這些數據,準備好相應的數據獲取方法;再對獲取到的數據進行必要的處理,剔除不滿足需求或者明顯有差錯的數據。然後,根據業務需求,建立相關的模型,利用數據進行訓練,不斷地對模型進行修正與優化。最後,對構建好的模型進行評估分析,選擇時機部署在相應的系統上面運行。

       2.1 需求分析

       通過與相關部門人員進行交流探討,準確理解用戶和項目的功能、性能、可靠性等具體要求。

       2.2 數據獲取

       要進行數據分析與挖掘的前提是要有數據的支持。數據來源可以是公司數據庫裏面的歷史數據信息,也可以根據具體的項目需要進行網絡爬蟲爬取。

       2.3 數據預處理

       上一步獲取到的數據往往不能直接用於建模,其中常常包含有一些髒數據。因此,在建模之前需要對數據進行預處理,這一階段主要做的工作有:數據篩選、數據變量轉換、缺失值處理、壞數據處理、數據標準化、主成分分析、屬性選擇、數據規約等。這些名詞看起來比較抽象,但只要處理過一次具體的項目案例,對這些名詞就會很熟悉了。在具體的項目中,根據數據的特徵,有選擇的做其中部分或者全部處理,不一定要全部都涉及。

       2.4 分析與建模

       在對數據進行預處理之後,我們就可以着手準備建模的相關事情了。在建模之前,我們要考慮,此次數據分析任務是屬於數據挖掘中的哪類問題,具體的要思考,是屬於這四類問題中的哪一類,分類問題、聚類問題、關聯問題、預測問題。在確認了問題的歸屬之後,需要確定具體的分析方法。常見的問題歸屬有:
       1)分類問題:決策樹、貝葉斯、KNN、支持向量機、神經網絡和邏輯迴歸等
       2)聚類問題:劃分聚類、層次聚類、密度聚類、網格聚類、基於模型聚類等。
       3)關聯問題:Aprior算法、Carma算法,序列算法等
       4)預測問題:線性迴歸分析、多重線性迴歸分析、時間序列等。

       在我們使用Python進行數據分析的時候,並不需要每個算法都要自己去實現,有一些算法已經封裝在相關的模塊中了,我們在使用的時候,只需要調用這些模塊即可。這也是Python在數據分析領域流行的原因之一,豐富的組件,拿來即用,戲稱膠水語言。

       2.5 模型評價與優化改進

       模型評價的目的是從訓練的模型中找出一個最好的,然後根據具體的業務對模型進行解釋和應用。不同的問題會選擇不同的模型,因此評價方法也會有所不同。例如,我們如果研究的是一個分類問題,那我們就會使用分類模型,相應地,就會選擇適當的分類模型評價標準。

       2.6 系統部署

       當模型構建好,經過評估之後,如果沒問題,就可以部署在具體的系統裏面,投入使用了。

三、數據分析的編程語言選擇

       目前主流的數據分析語言有RPythonMATLAB三種程序語言。

四、如何利用Python進行數據分析

       Python是一種面向對象的解釋性計算機程序設計語言,他擁有高效的高級數據結構,並且能夠用簡單又高效的方式進行編程。用Python進行數據分析的主要原因, 是它的數據分析庫很全面。例如:他有三個經典的科學計算擴展庫:NumPy,SciPy,Matplotlib。這三個庫是我們進行數據分析過程中必須要使用的工具模塊,分別提供了快速數組處理、數值運算以及繪圖功能。在數據處理方面,Pandas 是一個功能強大的爲了解決數據分析任務而創建工具庫,Pandas 納入了大量庫和一些標準的數據模型,提供了高效地操作大型數據集所需的工具。除此之外,Scikit-learn庫中包含了很多聚類相關的算法,這在構建聚類模型的時候相當有用。正是由於Python擁有這些庫的支持,所以才成爲數據挖掘領域常用的編程語言。因此,如果使用Python進行數據分析與挖掘的話,必須要熟練的掌握上述庫的使用。


參考文獻:
Python數據分析與挖掘(第二版)。 張良均等
Python數據分析技術綜述。 高鴻斌、申肖陽等
機器學習與數據挖掘。周志華

發佈了62 篇原創文章 · 獲贊 171 · 訪問量 23萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章