Python極簡講義——一本書入門數據分析與機器學習(序言)

爲什麼寫此書?

我們正處於一個數據科技(Data Technology,簡稱DT)的時代。我們的一舉一動,都有能在數據空間留下電子印記。於是海量的社交、電商、行爲及科研大數據鋪面而來。然而,太多的數據給人們帶來的,可能並不是更多的洞察,還可能是迷失。

因爲僅僅就數據本身而言,它們是“一無所知”的。數據的價值,在於形成信息,變成知識,乃至昇華爲智慧。也就是說,這些數據如果不能進一步 “深加工”,即使數據量再“大”,也意義聊聊。

於是,就派生這麼一個問題,這些數據,誰來“深加工”?如何“深加工”?其實,早在2012年,《哈佛商業評論》就刊登一篇文章,給出了答案,他們就是“數據科學家”,文章還斷言,“數據科學家是21世紀最性感的職業”[①]

但如何成爲一個數據科學家呢?特別是一個性感的數據科學家?作爲一個有點文青情懷的理工男,我喜歡讀寫書。讀書總會給我們啓迪。

曾讀過埃裏克•萊斯(Eric Ries)寫的一本有關創業書,叫《精益創業》(The Lean Startup)[②]。在閱讀這本書時,有個概念深入我心,那就是“最小可行產品”(minimum viable product,簡稱MVP)。這個概念說得是,在創業初期,不可貪多求全,而應先做出一個最小可用的產品,拿到市場上去檢驗,然後再根據反饋反覆迭代,打磨升級,最終做出比較完善比較成功的產品。

後來,看到有人提出了類似的概念——“最少必要知識(Minimal Actionable Knowledge and Experience,簡稱MAKE)”,這算是點醒了我,我覺得大概可以回答前面的問題。那就是:You can MAKE it (你可以做到)。

先來說說什麼是MAKE?它指的是入門某個新領域切實可行的最小知識集合。MAKE說起來好像比較高級,但實際上,在其背後,有個支撐它的樸素原則——Pareto原則(亦稱80-20原則),即80%的工作可以掌握20%的知識來解決。

同樣,想成爲一個“性感的”數據科學家,一條路自然是按部就班地學習所有技能,“十年磨一劍”,但這樣做的風險在於,當你“攜劍下山”時,可能別人都用上了飛機大炮,這樣的對壘,你勝算有幾何?

當然,還有另外一條備選之路,那就是走一走MAKE之道。在學習某項技能(如Python、數據分析或機器學習)時,我們要想辦法在最短的時間內,摸索清楚這項技能的“最小必要知識”。一方面,它已然可以幫我們解決工作中的大部分問題;另一方面,入門之後,技能的提升通道可以在實踐中尋得,缺啥補啥。有明確的任務導向,學習效率就會“有如神助”。這也是當前時代的快節奏學習法。

說到這裏,本書的寫作用意就呼之欲出了。是的,它的定位就在於,爲初學者提供關於數據科學的“最小必要知識”儲備,從而找到那份“最性感的”工作。它包含了成爲數據科學家的基礎知識——Python、數據分析和機器學習。

本書內容

本書包括三個部分,共計10章,每個部分和每章的內容簡介如下。

第一部分 Python講義

這部分內容主要涉及Python的基本應用。

第1章 初識Python與Jupyter

本章介紹了Python和Jupyter的基本用法,包括Python的安裝與運行,以及文學化編程利器—Jupyter的使用。

第2章 數據類型與程序控制結構

本章介紹了Python的基礎語法以及常見的數據類型、三種控制結構,包括順序結構、分支結構和循環結構。

第3章 自建Python模塊與第三方模塊

本章介紹了Python的自定義模塊及常用的第三方模塊,包括collection、datetime、json和random等。

第4章 Python函數

本章討論了Python的函數定義、函數的參數 “花式”傳遞、函數的遞歸調用及函數式編程。

第5章 Python高級特性

本章討論了面向對象程序設計思想、迭代器及生成器、文件操作、異常處理及錯誤調試等內容。

第二部分 數據分析

這部分內容主要涉及數據分析所需的技能,如向量計算所用的NumPy、數據分析的所用Pandas和可視化展示所用的Matplotlib。

第6章 NumPy向量計算

本章討論了NumPy數組的構建、方法和屬性、NumPy的廣播和布爾索引、向量的堆疊及愛因斯坦求和約定等。

第7章 Pandas數據分析

本章主要介紹了Pandas的兩種常用數據處理結構Series和DataFrame。並介紹了基於Pandas的文件讀取和分析,涉及數據的清洗、條件過濾、聚合與分組。

第8章 Matplotlib與Seaborn可視化分析

本章主要介紹Matplotlib和Seaborn的基本用法,包括散點圖、折線圖、條形圖、直方圖及餅狀圖等專業圖形的畫法,並以谷歌流感趨勢數據,結合Pandas繪圖分析。

第三部分 機器學習

這部分內容主要涉及機器學習的基本概念和機器學習框架scikit-learn的基本用法。

第9章 機器學習初步

本章主要介紹有關機器學習初步知識,包括機器學習的概念,以及機器學習的幾個主要流派,並討論機器學習的模型評估和性能度量,包括混淆矩陣、查準率、ROC曲線等。

第10章 sklearn與經典機器學習算法

本章主要講解sklearn的用法,並介紹幾種經典機器學習算法的原理和實戰,這些算法包括線性迴歸、k-近鄰算法、Logistics迴歸分類算法、神經網絡、k均值聚類算法等。

閱讀準備

本書理論結合實踐,爲運行本書示例代碼,需提前安裝如下軟件環境。

操作系統:Windows、macOS、Linux均可。

Python環境:建議使用Anaconda安裝,確保Python 3即可。

NumPy: 建議使用Anaconda安裝,版本號>=1.18。

Pandas: 建議使用Anaconda安裝,版本號>=1.0.1。

sklearn: 建議使用Anaconda安裝,版本號>=0.22.1。

 

聯繫作者

數據科學是一個前沿而廣袤的研究領域,很少有人能對每個研究方向都有深刻的認知。作者自認才疏學淺,同時也限於時間與篇幅關係,書中難免出現理解偏差和錯繆之處,若讀者朋友能大方指出,作者將及時修正,不勝感激。

作者聯繫郵件:[email protected]

致謝

這本《Python極簡講義:一本書入門數據分析與機器學習》,從構思、查閱資料、撰寫及繪圖,到出版爲書,歷時一年有餘。圖書得以面市,自然得益於多方面的幫助和支持。在信息獲取上,從很多圖書和網絡資源中,我學習並吸納了很多精華知識,文中也儘可能給出文獻出處,如有疏漏,請來信告知。這裏,我對這些高價值資料的提供者、生產者,表示深深的敬意和謝意。

很多人在這本書的出版上扮演者重要角色。例如,電子工業出版社博文視點的孫奇俏老師在選題和編輯上,國網河北電科院計量中心趙佩、河南工業大學蘇灝等在文稿校對上,都付出了辛勤的勞動,在此一併表示感謝。

 

張玉宏

2020年3月16日

美國卡梅爾

 

 

 

[①] Davenport T H, Patil D J. Data Scientist: The Sexiest Job of the 21st Century-A new breed of professional holds the key to capitalizing on big data opportunities. But these specialists aren't easy to find—And the competition for them is fierce[J]. Harvard Business Review, 2012: 70.

[②]埃裏克·萊斯(Eric Ries)著,吳彤 譯. 精益創業新創企業的成長思維[M]. 北京:中信出版社, 2012

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