一. 什么是數據分析與挖掘?
從數據中挖掘出隱含的,未知的,有潛在價值的關系,模式和趨勢,并用這些知識建立用于決策的模型,來提供預測性的方法,就是數據挖掘。簡單來說,就是從大量數據中找到有價值的信息。
二. 數據挖掘建模過程
- 定義挖掘目標:挖掘前必須要清楚自己要獲取什么信息,到底想要干什么。
- 數據取樣:從業務系統中,抽取數據樣本,而不是動用全部數據,同時要保證樣本的可靠性。
- 數據探索:了解數據的大概狀態以及直觀的規律和趨勢,簡單的周期性分析和缺失異常值分析。
- 數據預處理:數據篩選,處理異常值,缺失值,數據轉化等,為接下來的挖掘做質量保證。
- 挖掘建模:根據問題的不同,選用不同的算法建模。
- 模型評價:找出最好的模型。
三. Python為什么適合做數據分析?
從我個人的角度來看,主要是以下幾點原因:
- Python是動態編程語言,語法簡單。
- 科學計算庫很多,很全面,效率也不錯。
- 免費,這才是重點!
四. Python不適合的場景
Python不是萬能的,它是一種腳本語言(簡陋的小程序),雖然可以構建龐雜的系統,但存在他的局限性:
- Python是解釋型語言,運行時間要比編譯型語言慢得多。
- Python有一個全局解釋器鎖(GIL),不適合做高并發。
五. Python科學計算的常用庫(學習路線)
初識Python的時候感覺很迷茫,完全找不到方向,這里簡單討論一下,科研工作者常用的庫,給其他小白們一個微弱的方向,不過要相信,計算機的學習之路,暴雨后還會有更大的暴雨。那么言歸正傳:
- Numpy
Python不提供數組功能(列表不是標準數組,效率很低),numpy填補了這個缺口,提供了數組功能以及相關函數,它是Python科學計算的基礎,許多庫都是基于Numpy衍生出來的。 - Scipy
在Numpy的基礎上,scipy提供了矩陣運算功能,它是更加復雜且高效的科學計算函數庫,支持比如微積分,離散概率,線代函數等等。 - Matplotlib
畫圖,將處理好的數據,用圖表的形式表現出來,還可以畫地理圖形,基本可以媲美ArcGis。 - Pandas
《利用Python進行數據分析》中是這樣描述pandas的,‘pandas提供了使我們能夠快速便捷地處理結構化數據的大量數據結構和函數’。說通俗點,就是讀取結構化的數據文件,并且處理數據。它的核心功能就是數據分析和探索。Pandas能讀取和處理的數據量很大很大。 - StatsModels:pandas應用于數據讀取,處理與探索;而statsModels更注重統計建模,而且支持與pandas交互,是挖掘的重要工具。
- Scikit-learn 機器學習相關庫,不包含神經網絡。
- Keras:神經網絡深度學習庫。
六. 新手搞不清楚的名詞
Python與IPython
- Python是一門語言。
- IPython與Python shell相對應,是Python語言的一個交互式的開發環境,相對于標準的Python Shell,IPyhton提供了更加友好的開發輔助功能,如自動補全等。