Python機(jī)器學(xué)習(xí)項(xiàng)目實(shí)戰(zhàn)
定 價(jià):¥128
中 教 價(jià):¥75.52 (5.90折)促銷
庫(kù) 存 數(shù): 5
《Python機(jī)器學(xué)習(xí)項(xiàng)目實(shí)戰(zhàn)》引領(lǐng)大家在構(gòu)建實(shí)際項(xiàng)目的過(guò)程中,掌握關(guān)鍵的機(jī)器學(xué)習(xí)概念!使用機(jī)器學(xué)習(xí),我們可完成客戶行為分析、價(jià)格趨勢(shì)預(yù)測(cè)、風(fēng)險(xiǎn)評(píng)估等任務(wù)。要想掌握機(jī)器學(xué)習(xí),需要有優(yōu)質(zhì)的范例、清晰的講解和大量的練習(xí)。本書(shū)完全滿足這三點(diǎn)! 本書(shū)展示了現(xiàn)實(shí)、實(shí)用的機(jī)器學(xué)習(xí)場(chǎng)景,并全面、清晰地介紹了機(jī)器學(xué)習(xí)的關(guān)鍵概念。在學(xué)習(xí)本書(shū)的過(guò)程中,讀者將會(huì)完成一些引人入勝的項(xiàng)目,比如使用線性回歸預(yù)測(cè)汽車價(jià)格,部署客戶流失預(yù)測(cè)服務(wù)等。讀者將**算法,學(xué)習(xí)在無(wú)服務(wù)器系統(tǒng)上部署機(jī)器學(xué)習(xí)應(yīng)用,以及使用Kubernetes和Kubeflow服務(wù)模型等重要技術(shù)。大家埋頭苦學(xué),親自動(dòng)手,享受掌握機(jī)器學(xué)習(xí)技能的樂(lè)趣! 主要內(nèi)容 ●收集和清理訓(xùn)練模型的數(shù)據(jù) ●使用流行的Python工具,包括NumPy、Scikit-Learn和TensorFlow ●將機(jī)器學(xué)習(xí)模型部署到生產(chǎn)環(huán)境中 閱讀門(mén)檻 讀者需要有Python編程技能,不需要具備機(jī)器學(xué)習(xí)知識(shí)。
隨著大數(shù)據(jù)時(shí)代的到來(lái)以及計(jì)算機(jī)算力的提升,機(jī)器學(xué)習(xí)進(jìn)入一個(gè)新時(shí)代。以最近火熱的ChatGPT為例,它是美國(guó)人工智能研究實(shí)驗(yàn)室OpenAI開(kāi)發(fā)的一種全新聊天機(jī)器 人模型,它能夠通過(guò)學(xué)習(xí)和理解人類的語(yǔ)言來(lái)進(jìn)行對(duì)話,還能根據(jù)聊天的上下文進(jìn)行互動(dòng)并協(xié)助人類完成一系列任務(wù)。它的發(fā)展可謂是機(jī)器學(xué)習(xí)的巨大飛躍,甚至可以視為人類邁向真人工智能的巨大跨越。隨著機(jī)器學(xué)習(xí)技術(shù)的發(fā)展以及在各行各業(yè)的應(yīng)用,可以說(shuō)機(jī)器學(xué)習(xí)現(xiàn)在與我們每個(gè)人都息息相關(guān)。作為一名大學(xué)教師,我的主要研究領(lǐng)域?yàn)槿斯ぶ悄芎蜕疃葘W(xué)習(xí),目前為研究生講授《模式識(shí)別》等課程;同時(shí)也參與了多個(gè)與機(jī)器學(xué)習(xí)相關(guān)的科研項(xiàng)目,對(duì)機(jī)器學(xué)習(xí)的工程應(yīng)用有豐富的經(jīng)驗(yàn)。當(dāng)看到《Python機(jī)器學(xué)習(xí)項(xiàng)目實(shí)戰(zhàn)》時(shí),我感覺(jué)非常有必要將其翻譯出來(lái)并讓更多的人學(xué)習(xí)到其中的內(nèi)容。本書(shū)是一本針對(duì)機(jī)器學(xué)習(xí)與聚焦實(shí)踐經(jīng)驗(yàn)的實(shí)用指南,適用于對(duì)數(shù)據(jù)科學(xué)感興趣并需要快速獲得有用和可重用經(jīng)驗(yàn)(針對(duì)數(shù)據(jù)和數(shù)據(jù)問(wèn)題)的相關(guān)開(kāi)發(fā)人員。建議大家在學(xué)習(xí)本書(shū)時(shí),除了逐字逐句地認(rèn)真閱讀外,還必須要付諸實(shí)踐。衷心希望讀者能夠通過(guò)本書(shū)成為機(jī)器學(xué)習(xí)的高手和大師。
本書(shū)讀者對(duì)象本書(shū)是為能夠編程并能快速掌握Python基本知識(shí)的人編寫(xiě)的。讀者不需要有任何機(jī)器學(xué)習(xí)的經(jīng)驗(yàn)。理想讀者是愿意從事機(jī)器學(xué)習(xí)工作的軟件工程師。然而,需要為學(xué)習(xí)和業(yè)余項(xiàng)目編寫(xiě)代碼的積極向上的大學(xué)生閱讀本書(shū)后同樣會(huì)受益匪淺。此外,那些已經(jīng)在使用機(jī)器學(xué)習(xí)但想了解更多的人也會(huì)發(fā)現(xiàn)本書(shū)很有幫助。許多已經(jīng)擔(dān)任數(shù)據(jù)科學(xué)家和數(shù)據(jù)分析師的人都表示,本書(shū)對(duì)他們很有幫助,特別是關(guān)于部署的章節(jié)。本書(shū)組織結(jié)構(gòu)本書(shū)一共包含9章內(nèi)容,共研究了4個(gè)不同的項(xiàng)目。● 第1章討論傳統(tǒng)軟件工程與機(jī)器學(xué)習(xí)的區(qū)別;介紹組織機(jī)器學(xué)習(xí)項(xiàng)目的過(guò)程,涵蓋從最初了解業(yè)務(wù)需求到最后部署模型的步驟;還詳細(xì)地介紹過(guò)程中的建模步驟并討論應(yīng)該如何評(píng)估模型和選擇最好的模型。為說(shuō)明該章中的概念,運(yùn)用了垃圾郵件檢測(cè)案例。● 第2章給出第一個(gè)項(xiàng)目預(yù)測(cè)一輛汽車的價(jià)格。我們將學(xué)習(xí)如何對(duì)其使用線性回歸。首先準(zhǔn)備一個(gè)數(shù)據(jù)集并做一些數(shù)據(jù)清理。接下來(lái),進(jìn)行探索性數(shù)據(jù)分析,以更好地理解數(shù)據(jù)。然后用NumPy建立一個(gè)線性回歸模型,以了解機(jī)器學(xué)習(xí)模型內(nèi)部運(yùn)轉(zhuǎn)機(jī)制。最后討論正則化和模型質(zhì)量評(píng)估等話題。● 第3章解決客戶流失預(yù)測(cè)問(wèn)題。該章假設(shè)我們?cè)谝患译娦殴竟ぷ鳎胍_定哪些客戶可能很快停止使用我們的服務(wù)。這是一個(gè)用邏輯回歸來(lái)解決的分類問(wèn)題。我們從特征重要性分析入手,了解哪些因素對(duì)這個(gè)問(wèn)題最為重要。然后討論作為處理分類變量(性別、合同類型等因素)方式的獨(dú)熱編碼。最后,用Scikit-Learn訓(xùn)練一個(gè)邏輯回歸模型,以了解哪些客戶即將流失。● 第4章采用第3章建立的模型并對(duì)其性能進(jìn)行評(píng)估。該章涵蓋最重要的分類評(píng)估指標(biāo):準(zhǔn)確度、查準(zhǔn)率和查全率。我們討論了混淆矩陣,然后具體講述ROC分析和AUC計(jì)算。該章最后討論K折交叉驗(yàn)證。● 第5章將客戶流失預(yù)測(cè)模型作為一個(gè)Web服務(wù)進(jìn)行部署。這是整個(gè)過(guò)程中的一個(gè)重要步驟,因?yàn)槿绻皇鼓P妥兊每捎茫敲此鼘?duì)任何人都沒(méi)有用處。首先介紹用于創(chuàng)建Web服務(wù)的Python框架Flask。然后用Pipenv和Docker進(jìn)行依賴項(xiàng)管理并在AWS上完成服務(wù)的部署。● 第6章介紹一個(gè)關(guān)于風(fēng)險(xiǎn)評(píng)分的項(xiàng)目。我們想了解銀行的客戶是否會(huì)有還貸問(wèn)題。為此,我們學(xué)習(xí)決策樹(shù)的工作原理并用Scikit-learn訓(xùn)練一個(gè)簡(jiǎn)單的模型。然后,轉(zhuǎn)向更復(fù)雜的基于樹(shù)的模型,如隨機(jī)森林和梯度提升。● 第7章構(gòu)建一個(gè)圖像分類項(xiàng)目。我們將訓(xùn)練一個(gè)模型,將服裝圖像分為T(mén)恤、衣服、褲子等10個(gè)類別。我們使用TensorFlow和Keras來(lái)訓(xùn)練模型,此外介紹遷移學(xué)習(xí)的內(nèi)容,因?yàn)樗軌蛴孟鄬?duì)較小的數(shù)據(jù)集訓(xùn)練模型。● 第8章采用第7章中訓(xùn)練的服裝分類模型,并且用TensorFlow Lite和AWS Lambda進(jìn)行部署。● 第9章部署服裝分類模型,但在第一部分使用Kubernetes和TensorFlow Serving,在第二部分使用Kubeflow和Kubeflow Serving。為幫助你更好地閱讀本書(shū)以及了解Python和它的庫(kù),我們提供了5個(gè)附錄。● 附錄A介紹如何設(shè)置針對(duì)本書(shū)的環(huán)境,展示如何安裝Anaconda和Python、如何運(yùn)行Jupyter Notebook、如何安裝Docker以及如何創(chuàng)建AWS賬戶。● 附錄B介紹Python的基礎(chǔ)知識(shí)。● 附錄C涵蓋NumPy的基本知識(shí),并且簡(jiǎn)要介紹機(jī)器學(xué)習(xí)所需的最重要的線性代數(shù)概念:矩陣乘法和矩陣求逆。● 附錄D介紹Pandas。● 附錄E解釋如何在AWS SageMaker上獲得帶有GPU的Jupyter Notebook。這些附錄是選讀的,但它們都很有幫助,尤其是若你之前沒(méi)使用過(guò)Python或AWS。你不必從頭至尾地閱讀本書(shū)。為幫助你導(dǎo)航,可以使用下列指南。其中第2、3章的內(nèi)容最重要,其余章節(jié)的內(nèi)容都基于這兩章。閱讀完第2、3章的內(nèi)容后,可以跳到第5章學(xué)習(xí)模型部署、到第6章學(xué)習(xí)基于樹(shù)的模型或者到第7章學(xué)習(xí)圖像分類。第4章講解的評(píng)估指標(biāo)基于第3章的內(nèi)容:評(píng)估第3章的客戶流失預(yù)測(cè)模型的質(zhì)量。第8、9章將部署圖像分類模型,因此在此之前先閱讀第7章是很有幫助的。每一章幾乎都包括練習(xí)。做這些練習(xí)很重要,它們會(huì)幫助你更好地記住相關(guān)內(nèi)容。
Alexey Grigorev與家人居住在柏林。他是一名經(jīng)驗(yàn)豐富的軟件工程師,專注于機(jī)器學(xué)習(xí)。他在OLX集團(tuán)擔(dān)任首席數(shù)據(jù)科學(xué)家,幫助同事們將機(jī)器學(xué)習(xí)應(yīng)用于生產(chǎn)。工作之余,Alexey還運(yùn)營(yíng)著DataTalks.Club一個(gè)由喜歡數(shù)據(jù)科學(xué)和機(jī)器學(xué)習(xí)的愛(ài)好者組成的社區(qū)。他還出版過(guò)另外兩本著作:Mastering Java for Data Science和TensorFlow Deep Learning Projects。
第1章 機(jī)器學(xué)習(xí)簡(jiǎn)介 11.1 機(jī)器學(xué)習(xí) 11.1.1 機(jī)器學(xué)習(xí)與基于規(guī)則的方法 31.1.2 當(dāng)機(jī)器學(xué)習(xí)不起作用時(shí) 61.1.3 監(jiān)督機(jī)器學(xué)習(xí) 61.2 機(jī)器學(xué)習(xí)過(guò)程 71.2.1 問(wèn)題理解 81.2.2 數(shù)據(jù)理解 91.2.3 數(shù)據(jù)準(zhǔn)備 91.2.4 建模 91.2.5 評(píng)估 91.2.6 部署 101.2.7 迭代 101.3 建模和模型驗(yàn)證 101.4 本章小結(jié) 14第2章 用于回歸的機(jī)器學(xué)習(xí) 152.1 汽車價(jià)格預(yù)測(cè)項(xiàng)目 152.2 探索性數(shù)據(jù)分析 172.2.1 探索性數(shù)據(jù)分析工具箱 172.2.2 讀取和準(zhǔn)備數(shù)據(jù) 192.2.3 目標(biāo)變量分析 212.2.4 檢查缺失值 232.2.5 驗(yàn)證框架 242.3 機(jī)器學(xué)習(xí)之回歸 272.3.1 線性回歸 272.3.2 訓(xùn)練線性回歸模型 332.4 預(yù)測(cè)價(jià)格 352.4.1 基本解決方案 352.4.2 RMSE:評(píng)估模型質(zhì)量 372.4.3 驗(yàn)證模型 402.4.4 簡(jiǎn)單的特征工程 412.4.5 處理分類變量 432.4.6 正則化 472.4.7 使用模型 502.5 后續(xù)步驟 512.5.1 練習(xí) 512.5.2 其他項(xiàng)目 522.6 本章小結(jié) 522.7 習(xí)題答案 53第3章 用于分類的機(jī)器學(xué)習(xí) 553.1 客戶流失預(yù)測(cè)項(xiàng)目 553.1.1 電信客戶流失數(shù)據(jù)集 563.1.2 初始數(shù)據(jù)準(zhǔn)備 563.1.3 探索性數(shù)據(jù)分析 633.1.4 特征重要性 663.2 特征工程 733.3 機(jī)器學(xué)習(xí)之分類 763.3.1 邏輯回歸 763.3.2 訓(xùn)練邏輯回歸 793.3.3 模型解釋 823.3.4 使用模型 883.4 后續(xù)步驟 903.4.1 練習(xí) 903.4.2 其他項(xiàng)目 903.5 本章小結(jié) 903.6 習(xí)題答案 91第4章 分類的評(píng)估指標(biāo) 934.1 評(píng)估指標(biāo) 934.1.1 分類準(zhǔn)確度 944.1.2 虛擬基線 964.2 混淆矩陣 974.2.1 混淆矩陣介紹 974.2.2 用NumPy計(jì)算混淆矩陣 994.2.3 查準(zhǔn)率和查全率 1034.3 ROC曲線和AUC分?jǐn)?shù) 1054.3.1 真正例率和假正例率 1064.3.2 在多個(gè)閾值下評(píng)估模型 1074.3.3 隨機(jī)基線模型 1094.3.4 理想模型 1114.3.5 ROC曲線 1144.3.6 AUC 1184.4 參數(shù)調(diào)優(yōu) 1204.4.1 K折交叉驗(yàn)證 1204.4.2 尋找最佳參數(shù) 1224.5 后續(xù)步驟 1244.5.1 練習(xí) 1244.5.2 其他項(xiàng)目 1254.6 本章小結(jié) 1254.7 習(xí)題答案 126第5章 部署機(jī)器學(xué)習(xí)模型 1275.1 客戶流失預(yù)測(cè)模型 1275.1.1 使用模型 1275.1.2 使用Pickle保存和加載模型 1295.2 模型服務(wù)化 1325.2.1 Web服務(wù) 1325.2.2 Flask 1335.2.3 使用Flask將流失模型服務(wù)化 1355.3 管理依賴項(xiàng) 1375.3.1 Pipenv 1375.3.2 Docker 1415.4 部署 1445.5 后續(xù)步驟 1485.5.1 練習(xí) 1485.5.2 其他項(xiàng)目 1485.6 本章小結(jié) 148第6章 決策樹(shù)與集成學(xué)習(xí) 1496.1 信用風(fēng)險(xiǎn)評(píng)分項(xiàng)目 1496.1.1 信用評(píng)分?jǐn)?shù)據(jù)集 1506.1.2 數(shù)據(jù)清理 1506.1.3 準(zhǔn)備數(shù)據(jù)集 1556.2 決策樹(shù) 1576.2.1 決策樹(shù)分類器 1586.2.2 決策樹(shù)學(xué)習(xí)算法 1606.2.3 決策樹(shù)的參數(shù)調(diào)優(yōu) 1666.3 隨機(jī)森林 1686.3.1 訓(xùn)練隨機(jī)森林 1706.3.2 隨機(jī)森林的參數(shù)調(diào)優(yōu) 1716.4 梯度提升 1746.4.1 XGBoost:極限梯度提升 1756.4.2 模型性能監(jiān)控 1766.4.3 XGBoost的參數(shù)調(diào)優(yōu) 1786.4.4 測(cè)試最終模型 1836.5 后續(xù)步驟 1846.5.1 練習(xí) 1846.5.2 其他項(xiàng)目 1856.6 本章小結(jié) 1856.7 習(xí)題答案 185第7章 神經(jīng)網(wǎng)絡(luò)與深度學(xué)習(xí) 1877.1 服裝分類 1877.1.1 GPU與CPU 1887.1.2 下載服裝數(shù)據(jù)集 1887.1.3 TensorFlow和Keras 1907.1.4 加載圖像 1917.2 卷積神經(jīng)網(wǎng)絡(luò) 1927.2.1 使用預(yù)訓(xùn)練模型 1927.2.2 獲得預(yù)測(cè) 1957.3 模型的內(nèi)部結(jié)構(gòu) 1957.3.1 卷積層 1967.3.2 致密層 1987.4 訓(xùn)練模型 2017.4.1 遷移學(xué)習(xí) 2017.4.2 加載數(shù)據(jù) 2017.4.3 創(chuàng)建模型 2027.4.4 訓(xùn)練模型 2057.4.5 調(diào)整學(xué)習(xí)速率 2077.4.6 保存模型和設(shè)置檢查點(diǎn) 2107.4.7 添加更多的層 2117.4.8 正則化和dropout 2137.4.9 數(shù)據(jù)增強(qiáng) 2167.4.10 訓(xùn)練更大的模型 2207.5 使用模型 2217.5.1 加載模型 2217.5.2 評(píng)估模型 2227.5.3 獲得預(yù)測(cè) 2237.6 后續(xù)步驟 2247.6.1 練習(xí) 2257.6.2 其他項(xiàng)目 2257.7 本章小結(jié) 2257.8 習(xí)題答案 226第8章 無(wú)服務(wù)器深度學(xué)習(xí) 2278.1 AWS Lambda 2278.1.1 TensorFlow Lite 2288.1.2 將模型轉(zhuǎn)換為T(mén)F Lite格式 2298.1.3 準(zhǔn)備圖像 2298.1.4 使用TensorFlow Lite模型 2318.1.5 lambda函數(shù)的代碼 2328.1.6 準(zhǔn)備Docker鏡像 2348.1.7 將鏡像推送到AWS ECR 2358.1.8 創(chuàng)建lambda函數(shù) 2368.1.9 創(chuàng)建API Gateway 2398.2 后續(xù)步驟 2438.2.1 練習(xí) 2438.2.2 其他項(xiàng)目 2448.3 本章小結(jié) 244第9章 使用Kubernetes和Kubeflow將模型服務(wù)化 2459.1 Kubernetes和Kubeflow 2459.2 使用TensorFlow Serving來(lái)服務(wù)模型 2469.2.1 服務(wù)架構(gòu)概述 2469.2.2 saved_model格式 2479.2.3 本地運(yùn)行TensorFlow Serving 2489.2.4 從Jupyter調(diào)用TF Serving模型 2499.2.5 創(chuàng)建Gateway服務(wù) 2529.3 使用Kubernetes部署模型 2559.3.1 Kubernetes簡(jiǎn)介 2559.3.2 在AWS上創(chuàng)建Kubernetes集群 2569.3.3 準(zhǔn)備Docker鏡像 2589.3.4 部署到 Kubernetes 2609.3.5 測(cè)試服務(wù) 2659.4 使用Kubeflow部署模型 2669.4.1 準(zhǔn)備模型:上傳到S3 2679.4.2 使用KFServing部署TensorFlow模型 2679.4.3 訪問(wèn)模型 2689.4.4 KFServing轉(zhuǎn)換器 2709.4.5 測(cè)試轉(zhuǎn)換器 2719.4.6 刪除EKS集群 2729.5 后續(xù)步驟 2729.5.1 練習(xí) 2729.5.2 其他項(xiàng)目 2739.6 本章小結(jié) 273附錄A 環(huán)境準(zhǔn)備 275附錄B Python簡(jiǎn)介 301附錄C Numpy簡(jiǎn)介 315附錄D Pandas簡(jiǎn)介 339附錄E AWS SageMaker 359