使用Python進行數(shù)據(jù)分析與可視化是十分便利且高效的,因此Python被認為是最優(yōu)秀的數(shù)據(jù)分析工具之一。本書從理論和實戰(zhàn)兩個角度對數(shù)據(jù)分析與可視化和Python工具進行了介紹。本書采用理論分析和Python編程實戰(zhàn)相結(jié)合的形式,按照數(shù)據(jù)分析與可視化的基本步驟,數(shù)據(jù)分析與可視化的基本理論知識和相應的Python庫進行了詳細的介紹,讓讀者能夠在了解基本理論知識的同時快速上手實現(xiàn)數(shù)據(jù)分析與可視化的程序。
第1章數(shù)據(jù)分析是什么1
1.1數(shù)據(jù)分析與數(shù)據(jù)挖掘的關(guān)系1
1.2機器學習與數(shù)據(jù)分析的關(guān)系1
1.3數(shù)據(jù)分析的基本步驟2
1.4Python和數(shù)據(jù)分析2
1.5本章小結(jié)3
第2章Python——從了解Python開始4
2.1Python及pandas、scikit-learn、Matplotlib的安裝4
2.1.1Windows操作系統(tǒng)下Python的安裝4
2.1.2macOS下Python的安裝5
2.1.3pandas、scikit-learn和Matplotlib的安裝5
2.1.4使用科學計算發(fā)行版Python進行快速安裝5
2.2Python基礎(chǔ)知識6
2.2.1縮進6
2.2.2模塊化的系統(tǒng)7
2.2.3注釋7
2.2.4語法7
2.3重要的Python庫7
2.3.1pandas7
2.3.2scikit-learn8
2.3.3Matplotlib8
2.3.4其他8
2.4Jupyter9
2.5本章小結(jié)9
第3章數(shù)據(jù)預處理——不了解數(shù)據(jù),一切都是空談10
3.1了解數(shù)據(jù)10
3.2數(shù)據(jù)質(zhì)量12
3.2.1完整性12
3.2.2一致性13
3.2.3準確性14
3.2.4及時性14
3.3數(shù)據(jù)清洗14
3.4特征工程16
3.4.1特征選擇16
3.4.2特征構(gòu)建16
3.4.3特征提取17
3.5本章小結(jié)17
第4章NumPy——數(shù)據(jù)分析基礎(chǔ)工具18
4.1多維數(shù)組對象:ndarray對象18
4.1.1ndarray對象的創(chuàng)建19
4.1.2ndarray對象的數(shù)據(jù)類型21
4.2ndarray對象的索引、切片和迭代21
4.3ndarray對象的shape操作23
4.4ndarray對象的基礎(chǔ)操作23
4.5本章小結(jié)25
第5章pandas——處理結(jié)構(gòu)化數(shù)據(jù)26
5.1基本數(shù)據(jù)結(jié)構(gòu)26
5.1.1Series26
5.1.2DataFrame28
5.2基于pandas的Index對象的訪問操作32
5.2.1pandas的Index對象33
5.2.2索引的不同訪問方式35
5.3數(shù)學統(tǒng)計和計算工具38
5.3.1統(tǒng)計函數(shù):協(xié)方差、相關(guān)系數(shù)、排序38
5.3.2窗口函數(shù)40
5.4數(shù)學聚合和分組運算45
5.4.1agg函數(shù)的聚合操作47
5.4.2transform函數(shù)的轉(zhuǎn)換操作48
5.4.3apply函數(shù)的一般操作49
5.5本章小結(jié)49
第6章數(shù)據(jù)分析與知識發(fā)現(xiàn)——一些常用的方法50
6.1分類分析50
6.1.1邏輯回歸51
6.1.2線性判別分析51
6.1.3支持向量機51
6.1.4決策樹52
6.1.5k近鄰53
6.1.6樸素貝葉斯54
6.2關(guān)聯(lián)分析54
6.2.1基本概念54
6.2.2經(jīng)典算法55
6.3聚類分析60
6.3.1k均值算法60
6.3.2DBSCAN61
6.4回歸分析62
6.4.1線性回歸分析63
6.4.2支持向量回歸63
6.4.3k近鄰回歸63
6.5本章小結(jié)64
第7章scikit-learn——實現(xiàn)數(shù)據(jù)的分析65
7.1分類方法65
7.1.1邏輯回歸65
7.1.2支持向量機66
7.1.3近鄰67
7.1.4決策樹68
7.1.5隨機梯度下降68
7.1.6高斯過程分類69
7.1.7多層感知器69
7.1.8樸素貝葉斯70
7.2回歸方法71
7.2.1小二乘法71
7.2.2嶺回歸71
7.2.3Lasso回歸72
7.2.4貝葉斯嶺回歸72
7.2.5決策樹回歸73
7.2.6高斯過程回歸73
7.2.7近鄰回歸74
7.3聚類方法75
7.3.1k均值75
7.3.2相似性傳播76
7.3.3均值漂移76
7.3.4譜聚類77
7.3.5層次聚類77
7.3.6DBSCAN78
7.3.7BIRCH79
7.4本章小結(jié)80
第8章Matplotlib——交互式圖表繪制81
8.1基本布局對象81
8.2圖表樣式的修改以及圖表裝飾項接口84
8.3基礎(chǔ)圖表繪制88
8.3.1直方圖88
8.3.2散點圖89
8.3.3餅圖91
8.3.4柱狀圖92
8.3.5折線圖95
8.3.6表格96
8.3.7不同坐標系下的圖像97
8.4matplot3D98
8.5Matplotlib與Jupyter結(jié)合99
8.6本章小結(jié)101
第9章實戰(zhàn):影評數(shù)據(jù)分析與電影推薦102
9.1明確目標與數(shù)據(jù)準備102
9.1.1明確目標102
9.1.2數(shù)據(jù)采集與處理102
9.1.3工具選擇103
9.2初步分析104
9.2.1用戶角度分析104
9.2.2電影角度分析107
9.3電影推薦110
9.4本章小結(jié)111
第10章實戰(zhàn):汽車貸款違約的數(shù)據(jù)分析112
10.1數(shù)據(jù)分析常用的Python庫112
10.2數(shù)據(jù)樣本分析113
10.2.1初步分析樣本的所有變量113
10.2.2變量類型分析114
10.2.3Python代碼實踐115
10.3數(shù)據(jù)分析的預處理116
10.3.1目標變量探索116
10.3.2X變量初步探索117
10.3.3連續(xù)變量的缺失值處理118
10.3.4分類變量的缺失值處理120
10.4數(shù)據(jù)分析的模型建立與模型評估122
10.4.1數(shù)據(jù)預處理與訓練集劃分122
10.4.2采用回歸模型進行數(shù)據(jù)分析123
10.4.3采用決策樹模型進行數(shù)據(jù)分析125
10.4.4采用隨機森林模型優(yōu)化決策樹模型127
10.5本章小結(jié)128
第11章實戰(zhàn):Python表格數(shù)據(jù)分析129
11.1背景介紹129
11.2前期準備與基本操作130
11.2.1基本術(shù)語概念說明130
11.2.2安裝openpyxl并創(chuàng)建一個工作簿130
11.2.3從Excel工作簿中讀取數(shù)據(jù)131
11.2.4迭代訪問數(shù)據(jù)133
11.2.5修改與插入數(shù)據(jù)135
11.3進階內(nèi)容137
11.3.1為Excel工作簿添加公式137
11.3.2為Excel工作簿添加條件格式139
11.3.3為Excel工作簿添加圖表142
11.4數(shù)據(jù)分析實例145
11.4.1背景與前期準備145
11.4.2使用openpyxl讀取數(shù)據(jù)并將其轉(zhuǎn)化為Dataframe對象145
11.4.3繪制數(shù)值列直方圖146
11.4.4繪制相關(guān)性矩陣147
11.4.5繪制散布矩陣149
11.4.6將可視化結(jié)果插入Excel工作簿中150
11.5本章小結(jié)151
第12章實戰(zhàn):利用手機的購物評論分析手機特征152
12.1項目介紹152
12.2從Kaggle上下載數(shù)據(jù)152
12.3篩選想要的數(shù)據(jù)156
12.4分析數(shù)據(jù)159
12.4.1算法介紹159
12.4.2算法應用160
12.5本章小結(jié)171
第13章實戰(zhàn):基于k近鄰模型預測葡萄酒種類的數(shù)據(jù)分析與可視化172
13.1機器學習的模型和數(shù)據(jù)172
13.2k近鄰模型的介紹與初步建立173
13.2.1k近鄰模型的初步建立173
13.2.2使用專業(yè)庫建立k近鄰模型178
13.2.3使用scikit-learn182
13.3數(shù)據(jù)可視化183
13.4本章小結(jié)185
第14章實戰(zhàn):美國波士頓房價預測186
14.1數(shù)據(jù)清洗187
14.2數(shù)據(jù)分析195
14.3分析結(jié)果199
14.4本章小結(jié)199