本書包括3部分:第1部分介紹機器學習的基本概念,它們是機器學習的預備知識;第2部分系統(tǒng)介紹幾種成熟的機器學習算法和技術;第3部分介紹貫穿整個機器學習工作流程的21個*佳案例,并且討論具有前瞻性的方法和想法,它們被公認為是機器學習未來的研究重點。本書中的代碼均在Python 3中測試通過。
本書適合高等院校相關專業(yè)的大學生、研究生或教師閱讀學習,以及不具有機器學習或統(tǒng)計背景但是想要快速補充機器學習算法知識,以便在實際產品或平臺中應用的軟件工程師。
Copyright Packt Publishing 2019
First published in the English language under the title“Python Machine Learning By Example-Second Edition-(9781789616729)”
Copyright in the Chinese language(simplified characters) 2021 China Machine Press
This title is published in China by China Machine Press with license from Packt Publishing LtdThis edition is authorized for sale in China only, excluding Hong Kong SAR, Macao SAR and TaiwanUnauthorized export of this edition is a violation of the Copyright ActViolation of this Law is subject to Civil and Criminal Penalties
本書由Packt Publishing Ltd授權機械工業(yè)出版社在中華人民共和國境內(不包括香港、澳門特別行政區(qū)及臺灣地區(qū))出版與發(fā)行。未經許可的出口,視為違反著作權法,將受法律制裁。
北京市版權局著作權合同登記圖字:01-2019-5823號。
人們之所以會對機器學習產生濃厚的興趣,是因為它可以通過學習數據中的模式,并利用這些模式做出預測和決策,從而革命性地實現(xiàn)自動化。如果你對機器學習感興趣,本書可以作為你的入門書籍。
本書是《Python機器學習案例教程》的第2版,從介紹Python庫的重要概念和實現(xiàn)開始,每章都會引導你了解一個行業(yè)使用的應用程序。你可以通過簡單易懂的方式在探索性數據分析、特征工程和自然語言處理(Natural Language Processing,NLP)等領域中應用機器學習技術。
本書將幫助你學習如何解決數據驅動的問題,并利用簡單而強大的Python語言、流行的Python包和工具(如TensorFlow、scikit-learn庫、Gensim和Keras)解決問題。為了幫助你理解流行的機器學習算法,本書使用了許多有趣且簡單的示例,如新聞主題建模和分類、垃圾郵件檢測和股票價格預測。
通過本書,你將對機器學習的體系結構有一個全面的了解,并熟練掌握如何應用機器學習技術來迎接新的機會和挑戰(zhàn)。
本書受眾
如果你是一個對機器學習有濃厚興趣的數據分析師或者是一個對機器學習充滿激情的數據工程師,那么本書就是為你準備的。如果你之前已經了解并掌握Python編碼的基礎知識和統(tǒng)計學基本概念,將對學習本書很有幫助。但是如果你不了解上述知識和概念,也沒關系。
本書包含的內容
第1章,機器學習和Python入門,這將是讀者進入Python機器學習領域的起點。本章將介紹機器學習的基本概念,其余部分將在之后的章節(jié)探討。此外,本章還將討論Python機器學習的基礎知識,并解釋如何在后續(xù)的示例和項目中正確運用它。
第2章,使用文本分析技術研究20組新聞數據集。本章將開發(fā)本書的第一個項目,研究和挖掘20組新聞數據集。該項目拆分為兩章:第2章——使用文本分析技術研究20組新聞數據集及第3章——使用聚類和主題建模算法挖掘20組新聞數據集。在本章中,讀者將熟悉本項目相關的NLP和各種NLP庫的使用以及幾個重要的NLP技術如何在NLTK中實現(xiàn)。此外,還將介紹降維技術,特別是t-SNE在文本數據可視化中的應用。
第3章,使用聚類和主題建模算法挖掘20組新聞數據集。在研究了20組新聞數據集之后,繼續(xù)上一章的新聞組項目。在本章中,讀者將學習無監(jiān)督學習中的聚類算法和一些先進的NLP技術,如LDA和詞嵌入。使用k均值算法對新聞組數據進行聚類,并使用NMF和LDA進行主題檢測。
第4章,使用樸素貝葉斯檢測垃圾郵件,開始監(jiān)督學習之旅。本章將重點討論如何使用樸素貝葉斯算法分類,并將其實現(xiàn)。本章還將介紹機器學習領域中的其他重要概念,如分類性能評估、模型選擇和調優(yōu)以及交叉驗證。本章最后將演示垃圾郵件檢測等示例。
第5章,使用支持向量機對新聞組主題進行分類。本章將重用在第2章和第3章中使用過的數據集,也將介紹多元分類、支持向量機以及它們在主題分類中的應用。本章還將提到一些其他重要的概念,如內核機、過擬合和正則化。
第6章,使用基于樹的算法預測在線廣告點擊率。本章在解決廣告點擊率問題的過程中,將深入介紹和解釋決策樹和隨機森林。此外,還將介紹基于樹模型的重要概念,如集合、特征重要性和特征選擇。
第7章,使用邏輯回歸預測在線廣告點擊率。本章將介紹和解釋前幾章中關于同一項目的邏輯回歸分類。此外,還將介紹其他概念,如分類變量編碼、L1和L2正則化、特征選擇、在線學習和隨機梯度下降以及如何處理大型數據集。
第8章,將預測擴展到TB級點擊日志。本章將介紹在線廣告點擊率預測,在一個典型的大型機器學習問題中,有數以百萬計的標簽樣本,本章將利用諸如Apache Hadoop和Spark等強大的并行計算工具來探索一個比前幾章更完善的解決方案。此外,還將介紹Spark的基本概念,如安裝、RDD和核心編程以及機器學習組件。使用整個數百萬個樣本的數據集探索數據,構建分類模型,執(zhí)行特征工程,并使用Spark進行性能評估,這在一定程度上擴大了計算范圍。
第9章,使用回歸算法預測股票價格。本項目的目的是利用雅虎/谷歌的財務數據以及其他可能的附加數據來分析和預測股票的市場價格。
本章從金融領域遇到的挑戰(zhàn)開始,并簡要解釋相關概念;緊接著獲取和探索數據集,并在探索性數據分析后開始特征工程;核心部分將介紹回歸和回歸算法、線性回歸、決策樹、SVR以及神經網絡。你還將練習使用scikit-learn庫和TensorFlow API解決回歸問題。
第10章,機器學習最佳案例。本章涵蓋了機器學習中的最佳案例。學習本書介紹的多個項目之后,你將對Python的機器學習體系結構有一個大致的了解。但是,你一旦開始處理實際項目,仍然會遇到一些問題。本章主要在整個機器學習流程中提供21種最佳案例,既為讀者的學習提供保障,也為讀者處理項目提供指引。
充分利用這本書
你需要具備Python的基本知識、基礎的機器學習算法以及一些Python庫,如TensorFlow和Keras,這樣可以使你的項目模型更加簡單。
下載示例代碼文件
你可以下載本書的示例代碼文件,網址為wwwpacktcom。如果是在其他地方購買了這本書,可以訪問wwwpacktcom/support并注冊,文件將直接通過電子郵件發(fā)送給你。
按照以下步驟下載代碼文件:
1)登
譯者序
前言
第1部分機器學習的基礎
第1章機器學習和Python入門
11超高水平的機器學習技術概述
111機器學習任務的分類
112機器學習算法的發(fā)展簡史
12機器學習的核心——數據泛化
121過擬合、欠擬合和偏差-方差權衡
122利用交叉驗證避免過擬合
123利用正則化避免過擬合
124通過特征選擇和降維避免過擬合
13預處理、探索和特征工程
131缺失值
132標簽編碼
133獨熱編碼
134縮放
135多項式特征
136冪變換
137分箱
14組合模型
141投票法和平均法
142裝袋法
143提升方法
144堆疊法
15安裝軟件和設置
151設置Python和環(huán)境
152安裝各種軟件包
本章小結
習題
第2部分Python機器學習實例
第2章使用文本分析技術研究20組新聞數據集
21計算機如何理解語言——NLP
22瀏覽NLP庫并學習NLP基礎知識
221語料庫
222標記
223詞性
224命名實體識別
225詞干提取和詞形還原
226語義和主題建模
23獲取新聞組數據
24研究新聞組數據
25考慮文本數據的特性
251計算每個單詞表征的出現(xiàn)次數
252文本預處理
253丟棄停止詞
254詞干提取和詞形還原法
26使用t-SNE可視化新聞組數據
261什么是降維
262用于降維的t-SNE
本章小結
習題
第3章使用聚類和主題建模算法挖掘20組新聞數據集
31沒有指導的學習——無監(jiān)督學習
32使用k均值聚類算法對新聞數據集進行聚類
321k均值聚類算法是如何聚類的?
322從頭實現(xiàn)k均值聚類算法
323用機器學習實現(xiàn)k均值聚類算法
324k值的選擇
325使用k均值聚類新聞組數據
33在新聞組中發(fā)現(xiàn)基礎主題
34使用NMF進行主題建模
35使用LDA進行主題建模
本章小結
習題
第4章使用樸素貝葉斯檢測垃圾郵件
41從分類開始
411分類算法的類型
412文本分類的應用
42探索樸素貝葉斯
421通過案例來學習貝葉斯定理
422樸素貝葉斯的結構
423運用scratch庫實現(xiàn)樸素貝葉斯分類器
424運用scikit-learn庫實現(xiàn)樸素貝葉斯分類器
43分類性能評估
44模型調優(yōu)和交叉驗證
本章小結
習題
第5章使用支持向量機對新聞組主題進行分類
51用支持向量機尋找分離邊界
511通過不同的示例了解支持向量機如何工作
512實現(xiàn)支持向量機
513支持向量機的核心
514在線性核和RBF核之間進行選擇
52使用支持向量機對新聞組主題進行分類
53更多示例——心臟造影的胎兒狀態(tài)分類
54另一個示例——使用TensorFlow完成基于支持向量機的乳腺癌分類
本章小結
習題
第6章使用基于樹的算法預測在線廣告點擊率
61廣告點擊率預測概述
62兩種類型數據:數值型和分類型
63從根到葉探索決策樹
631構建決策樹
632衡量分裂的標準
64從頭實現(xiàn)決策樹
65用決策樹預測廣告點擊率
66集成決策樹——隨機森林
661使用TensorFlow實現(xiàn)隨機森林
本章小結
習題
第7章使用邏輯回歸預測在線廣告點擊率
71將分類特征轉換為數字特征——獨熱編碼和順序編碼
72用邏輯回歸對數據進行分類
721邏輯函數入門
722從邏輯函數到邏輯回歸
73訓練邏輯回歸模型
731利用梯度下降訓練邏輯回歸模型
732利用梯度下降的邏輯回歸模型預測在線廣告點擊率
733利用隨機梯度下降訓練邏輯回歸模型
734利用正則化訓練邏輯回歸模型
74通過在線學習訓練大型數據集
75處理多元分類
76使用TensorFlow實現(xiàn)邏輯回歸
77使用隨機森林進行特征選擇
本章小結
習題
第8章將預測擴展到TB級點擊日志
81學習Apache Spark的基本知識
811了解 Spark
812安裝Spark
813啟動和部署Spark程序
82在PySpark中編程
83使用Spark學習大量點擊日志
831加載點擊日志
832拆分和緩存數據
833對分類特征進行獨熱編碼
834訓練和測試邏輯回歸模型
84使用Spark對分類變量進行特征工程
841散列分類特征
842組合多個變量——特征交互
本章小結
習題
第9章使用回歸算法預測股票價格
91有關股票市場和股票價格的簡要概述
92什么是回歸
93獲取股價數據
931開始特征工程
932獲取數據并生成特征
94使用線性回歸來估計
941線性回歸是如何工作的
942實現(xiàn)線性回歸
95使用回歸樹進行預測
951從分類樹到回歸樹
952實現(xiàn)回歸樹
953實現(xiàn)隨機森林
96用支持向量回歸機進行評估
961實現(xiàn)支持向量回歸機
97用神經網絡進行估算
971揭開神經網絡的神秘面紗
972實現(xiàn)神經網絡
98評估回歸性能
99使用四種回歸算法預測股票價格
本章小結
習題
第3部分Python機器學習最佳案例
第10章機器學習最佳案例
101機器學習解決方案流程
102數據準備階段的最佳案例
1021最佳案例1——完全理解項目目標
1022最佳案例2——收集所有相關的特征
1023最佳案例3——保持特征值的一致性
1024最佳案例4——處理缺失數據
1025最佳案例5——存儲大規(guī)模數據
103訓練集生成階段的最佳案例
1031最佳案例6——區(qū)分分類型特征與數值型特征
1032最佳案例7——決定是否要對分類型特征進行編碼
1033最佳案例8——決定是否要選擇特征和如何選擇
1034最佳案例9——決定是否要降維和如何降維
1035最佳案例10——決定是否重新調整特征取值
1036最佳案例11——在擁有專業(yè)知識的條件下進行特征工程
1037最佳案例12——在缺少專業(yè)知識的條件下進行特征工程
1038最佳案例13——記錄每個特征是如何生成的
1039最佳案例14——從文本數據中提取特征
104模型訓練、評估和選擇階段的最佳案例
1041最佳案例15——選擇合適的起步算法
1042最佳案例16——減少過擬合
1043最佳案例17——識別過擬合與欠擬合
1044最佳案例18——在大型數據集上建模
105部署和監(jiān)視階段的最佳案例
1051最佳案例19——保存、加載和重用模型
1052最佳案例20——監(jiān)控模型性能
1053最佳案例21——定期更新模型
本章小結
習題