一次活用Python和Apache Spark,帶你精通機器學習及資料科學!
★提供資料科學必備的資料分析工具和技術
★在Python中訓練出高效能機器學習模型
★為你的商品打造出強而有力的推薦系統
★靈活運用Apache Spark進行大數據處理工作
作者Frank Kane曾在亞馬遜和IMDb等知名企業工作,從事機器學習演算法工作。在踏入資料科學的世界中,本書將提供你探索資料科學的核心領域所需的工具,以及各種動手做練習和信心建議,讓你打造自己的機器學習模型。透過簡單易懂的實作範例及大量的圖文解說,你將學會K-Means集群、貝氏方法、預測模型、推薦系統、Apache Spark、實驗設計等核心主題。
本書涵蓋了全面且詳盡的資料科學內容,首先帶你快速認識Python語言、基礎統計學和機率概念,接著深入討論資料探勘、機器學習相關等60多個主題。我們將用真實使用者的影評分數資料開發出一套電影推薦系統,並建立一個可實際運作的維基百科資料搜尋引擎。此外,我們還將建立一個垃圾郵件分類器,它可以將電子郵件帳戶中的垃圾郵件和正常郵件進行正確分類。此外,本書還有一個章節專門介紹如何將這個分類器擴展到使用Apache Spark的大數據叢集系統上。
讀完本書後,你將能活用各種Python中的資料探勘和資料分析技術,找出資料中的價值,並開發出優質的預測模型,讓你能預測未來的結果。另外,你還能靈活運用Apache Spark,針對大數據執行大規模機器學習。認識資料科學工作並非難事,從分析資料前的資料準備工作、訓練機器學習模型,到最終的資料分析結果視覺化……你都將一次精通!
在這本書中,你將學到:
• 清理和準備資料,讓資料能用於分析
• 用Python實作熱門的集群和迴歸方法
• 利用決策樹和隨機森林訓練高效率的機器學習模型
• 使用Python Matplotlib程式庫對分析結果進行視覺化
• 使用Apache Spark的MLlib在大型資料集上進行機器學習
適用讀者:
• 剛入行的新手資料科學家
• 想用Python對資料進行分析、獲得實用資訊的資料分析師
• 有Python程式設計經驗、想進入資料科學領域的程式設計師
讀者可以到博碩文化官網輸入書號或書名,下載「練習題參考解答」。
作者
Frank Kane
在Amazon和IMDb等知名企業工作了九年,期間內處理了數百萬個客戶評分及客戶交易,製作個人化電影和產品推薦系統,和「購買這個商品的人也買了」服務。目前在分散式運算、資料探勘和機器學習等領域已擁有17項授權專利。
Frank Kane於2012年離開了前公司,自行成功創立了一家公司,名為Sundog Software,公司主要負責VR環境科技、傳授大數據分析課程。
目錄
前言
Chapter 1:Python入門
1.1 安裝Enthought Canopy
1.2 使用並學習Jupyter Notebook
1.3 Python基礎:第一部分
1.4 認識Python程式碼
1.5 導入模組
1.6 Python基礎:第二部分
1.7 執行Python腳本
1.8 總結
Chapter 2:統計與機率快速複習以及Python程式碼實現
2.1 資料類型
2.2 平均數、中位數和眾數
2.3 在Python中計算平均數、中位數和眾數
2.4 標準差和變異數
2.5 機率密度函數和機率質量函數
2.6 資料分佈類型
2.7 百分位數和動差
2.8 總結
Chapter 3:Matplotlib與高等機率概念
3.1 Matplotlib快速入門
3.2 共變異數與相關性 099
3.3 條件機率 107
3.4 貝氏定理 114
3.5 總結
Chapter 4:預測模型
4.1 線性迴歸
4.2 多項式迴歸
4.3 多元迴歸和預測汽車售價實作
4.4 多層次模型
4.5 總結
Chapter 5:利用Python進行機器學習
5.1 機器學習及訓練/測試法
5.2 用訓練/測試法防止多項式迴歸中的過度擬合
5.3 貝氏方法及概念
5.4 使用單純貝氏實現垃圾郵件分類器
5.5 K-Means集群
5.6 利用收入與年齡進行人口集群
5.7 熵的測量
5.8 決策樹概念
5.9 使用Python產生錄用決策樹
5.10 整合學習
5.11 支援向量機概述
5.12 在scikit-learn中利用SVM對人進行集群
5.13 總結
Chapter 6:推薦系統
6.1 什麼是推薦系統
6.2 以項目為基礎的協同過濾
6.3 以項目為基礎的協同過濾是如何運作的
6.4 找出電影相似度
6.5 改善電影相似度結果
6.6 向使用者推薦電影
6.7 改善推薦結果
6.8 總結
Chapter 7:更多資料探勘和機器學習技術
7.1 KNN
7.2 使用KNN預測電影評分
7.3 資料降維與主成分分析
7.4 對鳶尾花資料集使用PCA
7.5 資料倉儲概述
7.6 強化學習
7.7 總結
Chapter 8:處理真實世界資料
8.1 偏差-變異數的權衡
8.2 使用K折交叉驗證來避免過度擬合
8.3 資料清理和正規化
8.4 清理網站日誌資料
8.5 數值型資料的正規化
8.6 檢測離群值
8.7 總結
Chapter 9:Apache Spark——大數據上的機器學習
9.1 安裝Spark
9.2 認識Spark
9.3 Spark和彈性分散式資料集(RDD)
9.4 MLlib簡介
9.5 在Spark中使用MLlib實作決策樹
9.6 在Spark中實現K-Means集群
9.7 TF-IDF
9.8 使用Spark MLlib搜尋維基百科
9.9 使用Spark 2.0中的MLlib資料框API
9.10 總結
Chapter 10:測試與實驗設計
10.1 A/B測試的概念
10.2 t檢定與p值
10.3 使用Python計算t統計量和p值
10.4 確定實驗持續時間
10.5 A/B測試中的陷阱
10.6 總結