發表於2024-11-10
實踐、實踐、實踐
本書通過不同的例子展示機器學習在具體項目中的應用和實踐經驗
使用 scikit-learn 作為編程框架,強調簡單、快速地建立模型
《機器學習——Python實踐》係統地講解瞭機器學習的基本知識,以及在實際項目中使用機器學習的基本步驟和方法;詳細地介紹瞭在進行數據處理、分析時怎樣選擇閤適的算法,以及建立模型並優化等方法,通過不同的例子展示瞭機器學習在具體項目中的應用和實踐經驗,是一本非常好的機器學習入門和實踐的書籍。
不同於很多講解機器學習的書籍,本書以實踐為導嚮,使用 scikit-learn 作為編程框架,強調簡單、快速地建立模型,解決實際項目問題。讀者通過對《機器學習——Python實踐》的學習,可以迅速上手實踐機器學習,並利用機器學習解決實際問題。《機器學習——Python實踐》非常適閤於項目經理、有意從事機器學習開發的程序員,以及高校相關專業在的讀學生閱讀。
魏貞原,IBM 高級項目經理,主要負責銀行客戶的復雜係統開發。同時是 IBM CIC量子計算 COE 團隊的 Python 領域專傢(Subject Matter Expert),負責量子計算應用的探索工作,對機器學習和深度學習有深入的研究,精通於運用機器學習來解決數據科學的問題。並運營“知之Python”公眾號,定期分享 Python 在機器學習和深度學習中的實踐知識。
基於大數據的人工智能如今異常火爆。 對於普通人而言,人工智能意味著自動駕駛、電腦醫生,甚至意味著許許多多人類的工作將被機器取代。而對於有誌於投身大數據和人工智能領域的傳統IT 人士來說,需要瞭解這些名詞的真正內涵,更加需要瞭解支撐這個所謂“智能時代”背後的機和原理。機器的智能當然不是天生的,需要通過從數據中學習來獲得,而 Python 是目前數據分和機器學習領域處於領先地位的編程語言。本書以初學者的視角,帶領讀者通過 Python 編程實踐,實際接觸和瞭解機器學習以及 Python 語言本身,希望在給讀者帶去知識和技能的同時,也能大傢悄悄開啓一段駕馭智能時代的旅程。
——王若平 IBM 客戶創新中心質量保證部負責人
本書麵嚮於有一定編程基礎,並且有誌於大數據分析、數據挖掘和算法的程序員、項目經理,以及相關專業的學生。本書不同於教授編程語言的普通教材,而是通過列舉很多經典實例,來幫助讀者理解 Python 語言,同時可以使讀者理解和延伸對大數據分析與挖掘的認識。未來是一個數據的世界,希望讀者通過這本書能夠很好地駕馭數據,給予我們更大的幫助!同時感謝作者的辛努力與智慧!
——李鴻飛,IBM 高級經理, Cloud Application Development Leader,Complex SI & Arch Leade
第一部分 初始
1 初識機器學習 2
1.1 學習機器學習的誤區 2
1.2 什麼是機器學習 3
1.3 Python 中的機器學習 3
1.4 學習機器學習的原則 5
1.5 學習機器學習的技巧 5
1.6 這本書不涵蓋以下內容 6
1.7 代碼說明 6
1.8 總結 6
2 Python 機器學習的生態圈 7
2.1 Python 7
2.2 SciPy 9
2.3 scikit-learn 9
2.4 環境安裝 10
2.5 總結 12
3 第一個機器學習項目 13
3.1 機器學習中的 Hello World 項目 13
3.2 導入數據 14
3.3 概述數據 15
3.4 數據可視化 18
3.5 評估算法 20
3.6 實施預測 23
3.7 總結 24
4 Python 和 SciPy 速成 25
4.1 Python 速成 25
4.2 NumPy 速成 34
4.3 Matplotlib 速成 36
4.4 Pandas 速成 39
4.5 總結 41
第二部分 數據理解
5 數據導入 44
5.1 CSV 文件 44
5.2 Pima Indians 數據集 45
5.3 采用標準 Python 類庫導入數據 46
5.4 采用 NumPy 導入數據 46
5.5 采用 Pandas 導入數據 47
5.6 總結 47
6 數據理解 48
6.1 簡單地查看數據 48
6.2 數據的維度 49
6.3 數據屬性和類型 50
6.4 描述性統計 50
6.5 數據分組分布(適用於分類算法) 51
6.6 數據屬性的相關性 52
6.7 數據的分布分析 53
6.8 總結 54
7 數據可視化 55
7.1 單一圖錶 55
7.2 多重圖錶 58
7.3 總結 61
第三部分 數據準備
8 數據預處理 64
8.1 為什麼需要數據預處理 64
8.2 格式化數據 65
8.3 調整數據尺度 65
8.4 正態化數據 67
8.5 標準化數據 68
8.6 二值數據 69
8.7 總結 70
9 數據特徵選定 71
9.1 特徵選定 72
9.2 單變量特徵選定 72
9.3 遞歸特徵消除 73
9.4 主要成分分析 75
9.5 特徵重要性 76
9.6 總結 76
第四部分 選擇模型
10 評估算法 78
10.1 評估算法的方法 78
10.2 分離訓練數據集和評估數據集 79
10.3 K 摺交叉驗證分離 80
10.4 棄一交叉驗證分離 81
10.5 重復隨機分離評估數據集與訓練數據集 82
10.6 總結 83
11 算法評估矩陣 85
11.1 算法評估矩陣 85
11.2 分類算法矩陣 86
11.3 迴歸算法矩陣 93
11.4 總結 96
12 審查分類算法 97
12.1 算法審查 97
12.2 算法概述 98
12.3 綫性算法 98
12.4 非綫性算法 101
12.5 總結 105
13 審查迴歸算法 106
13.1 算法概述 106
13.2 綫性算法 107
13.3 非綫性算法 111
13.4 總結 113
14 算法比較 115
14.1 選擇最佳的機器學習算法 115
14.2 機器學習算法的比較 116
14.3 總結 118
15 自動流程 119
15.1 機器學習的自動流程 119
15.2 數據準備和生成模型的 Pipeline 120
15.3 特徵選擇和生成模型的 Pipeline 121
15.4 總結 122
第五部分 優化模型
16 集成算法 124
16.1 集成的方法 124
16.2 裝袋算法 125
16.3 提升算法 129
16.4 投票算法 131
16.5 總結 132
17 算法調參 133
17.1 機器學習算法調參 133
17.2 網格搜索優化參數 134
17.3 隨機搜索優化參數 135
17.4 總結 136
第六部分 結果部署
18 持久化加載模型 138
18.1 通過 pickle 序列化和反序列化機器學習的模型 138
18.2 通過 joblib 序列化和反序列化機器學習的模型 140
18.3 生成模型的技巧 141
18.4 總結 141
第七部分 項目實踐
19 預測模型項目模闆 144
19.1 在項目中實踐機器學習 145
19.2 機器學習項目的 Python 模闆 145
19.3 各步驟的詳細說明 146
19.4 使用模闆的小技巧 148
19.5 總結 149
20 迴歸項目實例 150
20.1 定義問題 150
20.2 導入數據 151
20.3 理解數據 152
20.4 數據可視化 155
20.5 分離評估數據集 159
20.6 評估算法 160
20.7 調參改善算法 164
20.8 集成算法 165
20.9 集成算法調參 167
20.10 確定最終模型 168
20.11 總結 169
21 二分類實例 170
21.1 問題定義 170
21.2 導入數據 171
21.3 分析數據 172
21.4 分離評估數據集 180
21.5 評估算法 180
21.6 算法調參 184
21.7 集成算法 187
21.8 確定最終模型 190
21.9 總結 190
22 文本分類實例 192
22.1 問題定義 192
22.2 導入數據 193
22.3 文本特徵提取 195
22.4 評估算法 196
22.5 算法調參 198
22.6 集成算法 200
22.7 集成算法調參 201
22.8 確定最終模型 202
22.9 總結 203
5 數據導入
在訓練機器學習的模型時,需要用到大量數據,最常用的做法是利用曆史的數據來訓練模型。這些數據通常會以 CSV 的格式來存儲,或者能夠方便地轉化為 CSV 格式。在開始啓動機器學習項目之前,必須先將數據導入到 Python 中。下麵將介紹三種將 CSV數據導入到 Python 中的方法,以便完成對機器學習算法的訓練。
通過標準的 Python 庫導入 CSV 文件。
通過 NumPy 導入 CSV 文件。
通過 Pandas 導入 CSV 文件。
5.1 CSV 文件
CSV 文件是用逗號(,)分隔的文本文件。在數據導入之前,通常會審查一下 CSV文件中包含的內容。在審查 CSV 文件時,通常要注意以下幾個方麵。
5.1.1 文件頭
如果 CSV 的文件裏包括文件頭的信息,可以很方便地使用文件頭信息來設置讀入數據字段的屬性名稱。如果文件裏不含有文件頭信息,需要自己手動設定讀入文件的字段屬性名稱。數據導入時,設置字段屬性名稱,有助於提高數據處理程序的可讀性。
5.1.2 文件中的注釋
在 CSV 文件中,注釋行是以“井”號(#)開頭的。是否需要對讀入的注釋行做處理,取決於采用什麼方式讀入 CSV 文件。
5.1.3 分隔符
CSV 文件的標準分隔符是逗號(,),當然也可以使用 Tab 鍵或空格鍵作為自定義的分隔符。當使用這兩種分隔符時,文件讀取是要指明分隔符的。
5.1.4 引號
當有的字段值中有空白時,這些值通常都會被引號引起來,默認使用雙引號來標記這些字段值。如果采用自定義格式,那麼在文件讀取時要明確在文件中采用的自定義格式。
5.2 Pima Indians 數據集
首先介紹一下在本章和後續章節中要使用的測試數據。目前在 UCI 機器學習倉庫(http://archive.ics.uci.edu/ml/datasets.html)中有大量的免費數據,可以利用這些數據來學習機器學習,並訓練算法模型 。本章選擇的 Pima Indians 數據集就是從 UCI 中獲取的。這是一個分類問題的數據集, 主要記錄瞭印第安人最近五年內是否患糖尿病的醫療數據。
這些數據都是以數字的方式記錄的,並且輸齣結果是 0 或 1,使我們在機器學習的算法中建立模型變得非常方便。
5.3 采用標準 Python 類庫導入數據
Python 提供瞭一個標準類庫 CSV,用來處理 CSV 文件。這個類庫中的 reader()函數用來讀入 CSV 文件。當 CSV 文件被讀入後,可以利用這些數據生成一個 NumPy 數組,用來訓練算法模型。首先下載數據文件到應用目錄下,並命名文件為 pima.csv。這個文件中所有的數據都是數字,並且數據中不含有文件頭。代碼如下:
from csv import reader
import numpy as np
# 使用標準的 Python 類庫導入 CSV 數據
filename = 'pima_data.csv'
with open(filename, 'rt') as raw_data:
readers = reader(raw_data, delimiter=',')
x = list(readers)
data = np.array(x).astype('float')
print(data.shape)
執行結果如下:
(768, 9)
代碼非常簡單,就不詳細進行講解瞭。詳細內容請查閱 Python 的 API 介紹。
5.4 采用 NumPy 導入數據
也可以使用 NumPy 的 loadtxt()函數導入數據。使用這個函數處理的數據沒有文件頭,並且所有的數據結構是一樣的,也就是說,數據類型是一樣的。代碼如下:
from numpy import loadtxt
# 使用 NumPy 導入 CSV 數據
filename = 'pima_data.csv'
with open(filename, 'rt') as raw_data:
data = loadtxt(raw_data, delimiter=',')
print(data.shape)
這段代碼就比直接使用 Python 的標準類庫簡潔瞭很多,執行結果如下:
(768, 9)
5.5 采用 Pandas 導入數據
前麵介紹瞭如何通過標準的 Python 類庫和 NumPy 來導入數據。接下來會通過一個例子來演示如何通過 Pandas 導入 CSV 文件的數據。 通過 Pandas 來導入 CSV 文件要使用pandas.read_csv()函數。這個函數的返迴值是 DataFrame,可以很方便地進行下一步的處理。這個函數的名稱非常直觀,便於代碼的閱讀和後續對數據的處理。在機器學習的項目中,經常利用 Pandas 來做數據清洗與數據準備工作。因此,在導入 CSV 文件時,推薦大傢使用這個方法。代碼如下:
from pandas import read_csv
# 使用 Pandas 導入 CSV 數據
filename = 'pima_data.csv'
names = ['preg', 'plas', 'pres', 'skin', 'test', 'mass', 'pedi', 'age',
'class']
data = read_csv(filename, names=names)
print(data.shape)
這段代碼為數據補充瞭文件頭,執行結果如下:
(768, 9)
5.6 總結
本章主要介紹瞭三種導入 CSV 文件到 Python 的方法,分彆是:通過標準的 Python 類庫導入、通過 NumPy 導入和通過 Pandas 導入。在進行機器學習項目實踐時,建議采用 Pandas方式導入數據。 到目前為止, 本書已經介紹瞭在機器學習中的基本環境和相應的類庫的使用方法,以及一個簡單的機器學習的分類的例子。本章介紹瞭如何導入數據到 Python 中,接下來就通過描述統計的方式來理解導入的數據。
前言
“這是最好的時代,也是最壞的時代”,這是英國文豪狄更斯的名著《雙城記》開篇的第一句話,一百多年來不斷被人引用。這裏再次引用它來形容智能革命給我們帶來的未來社會。從 2016 年 AlphaGo 在圍棋比賽中戰勝韓國選手李世石,到 2017 年 Master 戰勝世界排名第一的圍棋選手柯潔,人工智能再一次引起瞭世人的注意。在大數據齣現之前,人工智能的概念雖然一直存在,但是計算機一直不擅長處理需要依賴人類的智慧解決的問題,現在換個思路就可以解決這些問題,其核心就是變智能問題為數據問題。由此,全世界開始瞭新一輪的技術革命——智能革命。
自從 1687 年艾薩剋·牛頓發錶瞭論文《自然定律》,對萬有引力和三大運動定律進行瞭描述,人類社會進入瞭科學時代。在此之後,瓦特通過科學原理直接改進蒸汽機,開啓瞭工業革命的篇章,由於機器的發明及運用成為這個時代的標誌,因此曆史學傢稱這個時代為“機器時代”。機器時代是利用機器代替人力,在原有的産業基礎上加上蒸汽機形成新的産業,例如馬車加上蒸汽機成為火車,改變瞭人的齣行方式;帆船加上蒸汽機成為輪船,讓貨物的運輸變得更加便捷。同時,原有的工匠被更加便宜的工人替代,社會的財富分配不均,社會進入動蕩期,如英國大約花費瞭半個世紀的時間纔完成瞭工業革命的變革。同樣,第二次工業革命和信息革命,每一次變革都讓財富更加集中,給社會帶來動蕩。第二次工業革命同樣花費瞭 機器學習 Python實踐 下載 mobi epub pdf txt 電子書 格式
機器學習 Python實踐 下載 mobi pdf epub txt 電子書 格式 2024
機器學習 Python實踐 下載 mobi epub pdf 電子書深度學習,非常經典的一本書,嗯,適閤初學者,希望能有所收獲
評分東西收到瞭,非常的好用
評分很好很好很好很好很好很好很好很好很好很好很好很好
評分此用戶未填寫評價內容
評分送貨速度還是一如既往的快,服務不錯
評分不錯,很實惠,物流速度很快
評分容易懂,看起來上手比較容易的
評分還沒怎麼看,但是應該還不錯吧,哈哈哈哈
評分看著還可以,哈哈哈哈,好好學習啊,爭取早日修成正果,啦啦啦啦啦啦啦啦,加油^0^~加油加油加油
機器學習 Python實踐 mobi epub pdf txt 電子書 格式下載 2024