AI時代Math元年: 用Python全精通程式設計 | 誠品線上

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

作者 姜偉生
出版社 聯合發行股份有限公司
商品描述 AI時代Math元年: 用Python全精通程式設計:AI時代Math元年-用Python全精通程式設計本書旨在幫助零基礎的讀者學習Python程式設計。涵蓋了Anaconda和JupyterLab的安裝與使用

內容簡介

內容簡介 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 高斯混合模型聚類

商品規格

書名 / AI時代Math元年: 用Python全精通程式設計
作者 / 姜偉生
簡介 / AI時代Math元年: 用Python全精通程式設計:AI時代Math元年-用Python全精通程式設計本書旨在幫助零基礎的讀者學習Python程式設計。涵蓋了Anaconda和JupyterLab的安裝與使用
出版社 / 聯合發行股份有限公司
ISBN13 / 9786267569245
ISBN10 /
EAN / 9786267569245
誠品26碼 / 2682762623000
頁數 / 992
裝訂 / P:平裝
語言 / 1:中文 繁體
尺寸 / 17X23X4.3CM
級別 / N:無

試閱文字

自序 : 序言
  感謝

  首先感謝大家的信任。

  作者僅是在學習應用資料科學和機器學習演算法時,多讀了幾本數學書,多做了一些思考和知識 整理而已。知者不言,言者不知。知者不博,博者不知。由於作者水準有限,斗膽把自己所學所思與大家分享,作者權當無知者無畏。希望大家在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工具並展示應用實例。

最佳賣點

最佳賣點 : AI時代Math元年 - 用Python全精通程式設計

活動