特價 -20%

AI時代Math元年 – 用Python全精通程式設計DM2473

原始價格:NT$1,280。目前價格:NT$1,024。

出版商 深智數位股份有限公司
出版日期 2024年11月19日
語言 繁體中文
頁數 992
ISBN 9786267569245

已售完

貨號: DM2473 Category:

描述

內容簡介

AI時代Math元年 - 用Python全精通程式設計

本書旨在幫助零基礎的讀者學習Python程式設計。涵蓋了Anaconda和JupyterLab的安裝與使用,並深入介紹Python的基本語法、資料型態、常見運算、控制結構、函式以及物件導向程式設計,讓讀者能夠掌握Python的核心概念。在資料視覺化方面,本書探討了二維和三維視覺化技術,並使用Seaborn進行資料視覺化,幫助讀者將資料轉化為可視化的圖形。此外,書中詳細介紹了NumPy的使用,包括索引和切片、常見運算、陣列規整、線性代數以及愛因斯坦求和約定,這些都是進行資料分析的重要工具。

Pandas部分則著重於快速視覺化、索引和切片、時間序列資料的處理及資料規整,讓讀者能夠有效管理和分析資料。在進階視覺化和運算方面,本書介紹了Plotly的統計視覺化、SymPy的符號運算、SciPy的數學運算及Statsmodels的統計模型,這些工具能夠幫助讀者進行更複雜的資料分析。在機器學習的部分,書中探討了Scikit-Learn的應用,包括資料預處理、回歸、降維、分類和聚類等技術,讓讀者了解如何利用機器學習解決實際問題。

最後,本書還介紹了如何使用Streamlit來架設應用程式,特別是機器學習相關的Apps。整體而言,本書以實作為主,搭配Jupyter Notebook,引導讀者在動手練習中學習Python程式設計、資料分析和機器學習的基礎知識,並以圖形和口語化的方式解釋背後的數學思想。

 

 

作者簡介

作者簡介

姜偉生

博士FRM。勤奮的小鎮做題家,熱愛知識可視化和開源分享。自2022年8月開始,在GitHub上開源「鳶尾花書」學習資源,截至2023年9月,已經分享4000多頁PDF、4000多幅矢量圖、約2000個代碼文件,全球讀者數以萬計。

 

目錄

第 1 篇 預備

第 1 章 聊聊「巨蟒」

1.1 Python? 巨蟒?

1.2 Python和視覺化有什麼關係?

1.3 Python和數學有什麼關係?

1.4 Python和機器學習有什麼關係?

1.5 相信「反覆+精進」的力量!

第 2 章 安裝使用Anaconda

2.1 整合式開發環境

2.2 如何安裝Anaconda?

2.3 測試JupyterLab

2.4 查看Python第三方函式庫版本編號

2.5 安裝、更新、卸載Python 第三方函式庫

第 3 章 JupyterLab,用起來!

3.1 什麼是JupyterLab?

3.2 使用JupyterLab:立刻用起來

3.3 快速鍵:這一章可能最有用的內容

3.4 什麼是LaTeX?

3.5 字母和符號

3.6 用LaTex寫公式

第 2 篇 語法

第 4 章 Python 語法,邊學邊用

4.1 Python也有語法?

4.2 註釋:不被執行,卻很重要

4.3 縮進:四個空格,標識程式區塊

4.4 變數:一個什麼都能裝的箱子

4.5 使用import匯入套件

4.6 Pythonic:Python風格

第 5 章 Python資料型態

5.1 資料型態有哪些?

5.2 數字:整數、浮點數、複數

5.3 字串:用引號定義的文字

5.4 串列:儲存多個元素的序列

5.5 其他資料型態:元組、集合、字典

5.6 矩陣、向量:線性代數概念

第 6 章 Python常見運算

6.1 幾類運算子

6.2 算術運算子

6.3 比較運算子

6.4 邏輯運算子

6.5 設定運算子

6.6 成員運算子

6.7 身份運算子

6.8 優先順序

6.9 聊聊math函式庫

6.10  聊聊random函式庫和statistics函式庫

第 7 章 Python控制結構

7.1 什麼是控制結構?

7.2 條件陳述式:相當於開關

7.3 for迴圈敘述

7.4 串列生成式

7.5 迭代器itertools

第 8 章 Python函式

8.1 什麼是Python函式?

8.2 自訂函式

8.3 更多自訂線性代數函式

8.4 遞迴函式:自己反覆呼叫自己

8.5 位置參數、關鍵字參數

8.6 使用*args 和**kwargs

8.7 匿名函式

8.8 構造模組、函式庫

8.9 模仿別人的程式

第 9 章 Python物件導向程式設計

9.1 什麼是物件導向程式設計?

9.2 定義屬性

9.3 定義方法

9.4 裝飾器

9.5 父類別、子類別

第 3 篇 繪圖

第 10 章 聊聊視覺化

10.1 解剖一幅圖

10.2 使用Matplotlib繪製線圖

10.3 圖片美化

10.4 使用Plotly繪製線圖

第 11 章 二維和三維視覺化

11.1 二維視覺化方案

11.2 二維散點圖

11.3 二維等高線圖

11.4 熱圖

11.5 三維視覺化方案

11.6 三維散點圖

11.7 三維線圖

11.8 三維網格曲面圖

11.9 三維等高線圖

11.10 箭頭圖

第 12 章 Seaborn視覺化資料

12.1 Seaborn:統計視覺化利器

12.2 一元特徵資料

12.3 二元特徵資料

12.4 多元特徵資料

第 4 篇 陣列

第 13 章 聊聊NumPy

13.1 什麼是NumPy?

13.2 手動構造陣列

13.3 生成數列

13.4 生成網格資料

13.5 特殊陣列

13.6 隨機數

13.7 陣列匯入、匯出

第 14 章 NumPy索引和切片

14.1 什麼是索引、切片?

14.2 一維陣列索引、切片

14.3 視圖vs副本

14.4 二維陣列索引、切片

第 15 章 NumPy常見運算

15.1 加、減、乘、除、乘冪

15.2 廣播原則

15.3 統計運算

15.4 常見函式

第 16 章 NumPy陣列規整

16.1 從reshape()函式說起

16.2 一維陣列→行向量、列向量

16.3 一維陣列→二維陣列

16.4 一維陣列→三維陣列

16.5 視圖vs副本

16.6 轉置

16.7 扁平化

16.8 旋轉、翻轉

16.9 堆疊

16.10 重複

16.11 分塊矩陣

第 17 章 NumPy線性代數

17.1 NumPy的linalg模組

17.2 拆解矩陣

17.3 向量運算

17.4 矩陣運算

17.5 幾個常見矩陣分解

第 18 章 NumPy愛因斯坦求和約定

18.1 什麼是愛因斯坦求和約定?

18.2 二維陣列求和

18.3 轉置

18.4 矩陣乘法

18.5 一維陣列

18.6 方陣

18.7 統計運算

第 5 篇 資料

第 19 章 聊聊Pandas

19.1 什麼是Pandas?

19.2 建立資料幀:從字典、串列、NumPy 陣列⋯⋯

19.3 資料幀操作:以鳶尾花資料為例

19.4 四則運算:各列之間

19.5 統計運算:聚合、降維、壓縮、折疊⋯⋯

19.6 時間序列:按時間順序排列的資料

第 20 章 Pandas快速視覺化

20.1 Pandas的視覺化功能

20.2 線圖:pandas.DataFrame.plot()

20.3 散點圖

20.4 柱狀圖

20.5 箱型圖

20.6 長條圖和核心密度估計曲線

第 21 章 Pandas索引和切片

21.1 資料幀的索引和切片

21.2 提取特定列

21.3 提取特定行

21.4 提取特定元素

21.5 條件索引

21.6 多層索引

21.7 時間序列資料幀索引和切片

第 22 章 Pandas規整

22.1 Pandas資料幀規整

22.2 拼接:pandas.concat()

22.3 合併:pandas.join()

22.4 合併:pandas.merge()

22.5 長格式轉為寬格式:pivot()

22.6 寬格式轉為長格式:stack()

22.7 長格式轉為寬格式:unstack()

22.8 分組聚合:groupby()

22.9 自訂操作:apply()

第 23 章 Plotly統計視覺化

23.1 Plotly常見視覺化方案:以鳶尾花資料為例

23.2 增加一組分類標籤

23.3 兩組標籤:兩個維度

23.4 視覺化比例:柱狀圖、圓形圖

23.5 鑽取:多個層次之間的導覽和探索

23.6 太陽爆炸圖:展示層次結構

23.7 增加第三切割維度

23.8 平均值的鑽取:全集vs子集

第 24 章 Pandas時間序列資料

24.1 什麼是時間序列?

24.2 遺漏值:用NaN表示

24.3 移動平均:一種平滑技術

24.4 收益率:相對漲跌

24.5 統計分析:平均值、波動率等

24.6 相關性:也可以隨時間變化

第 6 篇 數學

第 25 章 SymPy符號運算

25.1 什麼是SymPy?

25.2 代數

25.3 線性代數

第 26 章 SciPy數學運算

26.1 什麼是SciPy?

26.2 距離

26.3 插植

26.4 高斯分佈

第 27 章 Statsmodels統計模型

27.1 什麼是Statsmodels?

27.2 二維散點圖+橢圓

27.3 最小平方線性回歸

27.4 主成分分析

27.5 機率密度估計:高斯KDE

第 7 篇 機器學習

第 28 章 Scikit-Learn機器學習

28.1 什麼是機器學習?

28.2 有標籤資料、無標籤資料

28.3 回歸:找到引數與因變數關係

28.4 降維:降低資料維度,提取主要特徵

28.5 分類:針對有標籤資料

28.6 聚類:針對無標籤資料

28.7 什麼是Scikit-Learn?

第 29 章 Scikit-Learn資料

29.1 Scikit-Learn中有關資料的工具

29.2 樣本資料集

29.3 生成樣本資料

29.4 特徵縮放

29.5 處理遺漏值

29.6 處理離群值

29.7 訓練集vs測試集

第 30 章 Scikit-Learn回歸

30.1 聊聊回歸

30.2 一元線性回歸

30.3 二元線性回歸

30.4 多項式回歸

30.5 正規化:抑制過度擬合

第 31 章 Scikit-Learn降維

31.1 降維

31.2 主成分分析

31.3 兩特徵PCA

31.4 三特徵PCA

第 32 章 Scikit-Learn分類

32.1 什麼是分類?

32.2 k最近鄰分類:近朱者赤,近墨者黑

32.3 高斯單純貝氏分類:貝氏定理的應用

32.4 支援向量機:間隔最大化

32.5 核心技巧:資料映射到高維空間

第 33 章 Scikit-Learn聚類

33.1 聚類

33.2 K平均值聚類

33.3 高斯混合模型

第 8 篇 應用

第 34 章 了解一下Spyder

34.1 什麼是Spyder?

34.2 Spyder用起來

34.3 快速鍵:這章可能最有用的內容

第 35 章 Streamlit架設Apps

35.1 什麼是Streamlit?

35.2 顯示

35.3 視覺化

35.4 輸入工具

35.5 App版面配置

第 36 章 Streamlit架設機器學習Apps

36.1 架設應用App:程式設計+數學+視覺化+機器學習

36.2 一元高斯分佈

36.3 二元高斯分佈

36.4 三元高斯分佈

36.5 多項式回歸

36.6 主成分分析

36.7 k最近鄰分類

36.8 支援向量機+高斯核心

36.9 高斯混合模型聚類

 

 

序言

感謝

 

首先感謝大家的信任。

 

作者僅是在學習應用資料科學和機器學習演算法時,多讀了幾本數學書,多做了一些思考和知識 整理而已。知者不言,言者不知。知者不博,博者不知。由於作者水準有限,斗膽把自己所學所思與大家分享,作者權當無知者無畏。希望大家在Github 多提意見,讓這套書成為作者和 讀者共同參與創作的作品。

 

特別感謝清華大學出版社的欒大成老師。從選題策劃、內容創作到裝幀設計,欒老師事無巨細、一路陪伴。每次與欒老師交流,都能感受到他對優質作品的追求、對知識分享的熱情。

 

出來混總是要還的

 

曾幾何時,考試是我們學習數學的唯一動力。考試是頭懸樑的繩,是錐刺股的錐。我們中的大多數人從小到大為各種考試埋頭題海,數學味同嚼蠟,甚至讓人恨之入骨。

 

數學所帶來了無盡的「折磨」。我們甚至恐懼數學,憎恨數學,恨不得一走出校門就把數學拋之腦後,老死不相往來。

 

可悲可笑的是,我們很多人可能會在畢業的五年或十年以後,因為工作需要,不得不重新學習微積分、線性代數、機率統計,悔恨當初沒有學好數學,甚至遷怒於教材和老師。

 

這一切不能都怪數學,值得反思的是我們學習數學的方法和目的。

 

 再給自己一個學數學的理由

 

為考試而學數學,是被逼無奈的舉動。而為數學而數學,則又太過高尚而遙不可及。

 

相信對絕大部分的我們來說,數學是工具、是謀生手段,而非目的。我們主動學數學,是想用數學工具解決具體問題。

 

現在,這套書給大家一個「學數學、用數學」的全新動力– 資料科學、機器學習。

 

資料科學和機器學習已經深度融合到我們生活的各方面,而數學正是開啟未來大門的鑰匙。不是所有人生來都握有一副好牌,但是掌握「數學 + 程式設計 + 機器學習」的知識絕對是王牌。這次,學習數學不再是為了考試、分數、升學,而是投資時間、自我實現、面向未來。

 

未來已來,你來不來?

 

本書如何幫到你

 

為了讓大家學數學、用數學,甚至愛上數學,作者可謂頗費心機。在創作這套書時,作者儘量克服傳統數學教材的各種弊端,讓大家學習時有興趣、看得懂、有思考、更自信、用得著。

 

為此,叢書在內容創作上突出以下幾個特點。

 

■ 數學 + 藝術——全彩圖解,極致視覺化,讓數學思想躍然紙上、生動有趣、一看就懂,同時提高大家的資料思維、幾何想像力、藝術感。

 

■ 零基礎——從零開始學習 Python 程式設計,從寫第一行程式到架設資料科學和機器學習應用,儘量將陡峭學習曲線拉平。

 

■ 知識網路——打破數學板塊之間的門檻,讓大家看到數學代數、幾何、線性代數、微積分、機率統計等板塊之間的聯繫,編織一張綿密的數學知識網路。

 

■ 動手——授人以魚不如授人以漁,和大家一起寫程式、創作數學動畫、互動App。

 

■ 學習生態——建構自主探究式學習生態環境「紙質圖書 + 程式檔案 + 視覺化工具+ 思維導圖」,提供各種優質學習資源。

 

■ 理論 + 實踐——從加減乘除到機器學習,叢書內容安排由淺入深、螺旋上升,兼顧理論和實踐;在程式設計中學習數學,學習數學時解決實際問題。

 

雖然本書標榜「從加減乘除到機器學習」,但是建議讀者朋友們至少具備高中數學知識。如果讀者正在學習或曾經學過大學數學(微積分、線性代數、機率統計),這套書就更容易讀懂了。

 

 聊聊數學

 

數學是工具。錘子是工具,剪刀是工具,數學也是工具。

 

數學是思想。數學是人類思想高度抽象的結晶體。在其冷酷的外表之下,數學的核心實際上就是人類樸素的思想。學習數學時,知其然,更要知其所以然。不要死記硬背公式定理,理解背後的數學思想才是關鍵。如果你能畫一幅圖、用大白話描述清楚一個公式、一則定理,這就說明你真正理解了它。

 

數學是語言。就好比世界各地不同種族有自己的語言,數學則是人類共同的語言和邏輯。數學這門語言極其精準、高度抽象,放之四海而皆準。雖然我們中大多數人沒有被數學「女神 」選中,不能為人類對數學認知開疆擴土;但是,這絲毫不妨礙我們使用數學這門語言。就好比,我們不會成為語言學家,我們完全可以使用母語和外語交流。

 

數學是系統。代數、幾何、線性代數、微積分、機率統計、最佳化方法等,看似一個個孤島,實際上都是數學網路的一條條織線。建議大家學習時,特別關注不同數學板塊之間的聯繫,見樹,更要見林。

 

數學是基石。拿破崙曾說「數學的日臻完善和國強民富息息相關。」數學是科學進步的根基,是經濟繁榮的支柱,是保家衛國的武器,是探索星辰大海的航船。

 

數學是藝術。數學和音樂、繪畫、建築一樣,都是人類藝術體驗。透過視覺化工具,我們會在看似枯燥的公式、定理、資料背後,發現數學之美。

 

數學是歷史,是人類共同記憶體。「歷史是過去,又屬於現在,同時在指引未來。」數學是人類的集體學習思考,它把人的思維符號化、形式化,進而記錄、累積、傳播、創新、發展。從甲骨、泥板、石板、竹簡、木牘、紙草、羊皮卷冊、活字印刷、紙質書,到數字媒介,這一過程持續了數千年,至今綿延不息。

 

數學是無窮無盡的想像力,是人類的好奇心,是自我挑戰的毅力,是一個接著一個的問題,是看似荒誕不經的猜想,是一次次膽大包天的批判性思考,是敢於站在前人臂膀之上的勇氣,是孜孜不倦地延展人類認知邊界的不懈努力。

 

家園、詩、遠方

 

諾瓦利斯曾說:「哲學就是懷著一種鄉愁的衝動到處去尋找家園。」

 

在紛繁複雜的塵世,數學純粹得就像精神的世外桃源。數學是,一束光,一條巷,一團不滅的希望,一股磅礴的力量,一個值得寄託的避風港。

 

打破陳腐的鎖鏈,把功利心暫放一邊,我們一道懷揣一分鄉愁,心存些許詩意,踩著藝術維度,投入數學張開的臂膀,駛入它色彩斑斕、變幻無窮的深港,感受久違的歸屬,一睹更美、更好的遠方。

本書主要內容

第1章探討Python與視覺化、數學、機器學習之間的關係,接著第2章介紹如何安裝和使用Anaconda,最後第3章則講解JupyterLab的使用,強調其在探究式學習中的重要性,並介紹如何在Markdown中使用LaTeX撰寫數學表達。第4章介紹基礎概念,並簡單提及自訂函式和控制結構。第5章講解常用資料型態,並簡介NumPy陣列和Pandas資料幀。第6章介紹常見運算,並講解math、random和statistics函式庫。第7章著重於控制結構的應用,並實現線性代數運算。第8章介紹自訂函式和匿名函式,並講解如何構造模組。第9章簡介物件導向程式設計的基本概念。第10章講解圖的基本組成元素及繪製線圖,第11章介紹各種二維和三維視覺化方案,第12章則專注於用Seaborn進行統計描述。

第13章講解基本概念,接著第14章介紹索引和切片,第15章涵蓋常見運算及廣播原則,第16章介紹規整方法,第17章簡單介紹線性代數工具,第18章則介紹愛因斯坦求和約定。第19章講解資料幀的操作,第20章介紹快速視覺化函式,第21章講解索引和切片,第22章則介紹規整方法,第23章展示Pandas與Plotly結合的視覺化方案,第24章講解時間序列資料操作。第25章介紹符號計算,第26章講解SciPy的應用,第27章則介紹線性回歸和主成分分析。第28章簡述基本概念,第29章介紹資料集的處理,第30至33章分別講解回歸、降維、分類和聚類問題。第34章介紹Spyder的使用,第35章講解如何用Streamlit架設應用,最後第36章總結本書所學的各種Python工具並展示應用實例。

額外資訊

出版商

深智數位股份有限公司

出版日期

2024年11月19日

語言

繁體中文

頁數

992

ISBN

9786267569245