|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
1 i1 p( f) h& L3 I$ t( O# Y% C/ a& j8 L8 P9 D: ^
书名:《机器学习实战》8 W9 @7 O0 ~' F8 j: C% `
作者:哈林顿 (Peter Harrington) 0 ]7 k" S/ Y/ z
译者:李锐,李鹏,曲亚东,王斌) W/ K1 p" E D8 H/ b& }$ S, @
出版社:人民邮电出版社# _0 X! a2 f) f3 e9 f
出版年:第1版 (2013年6月1日)
+ d- Y d: a& ]! M4 m定价:69.00
- X7 g6 A5 d$ Q5 m1 w3 [- U2 X9 c" C装帧:平装9 _% E! x' @3 W3 n$ k, L. W
ISBN:97871153179573 r5 G: t; ~: o- [
' Y) V/ X- l6 G9 J* z8 z
7 O5 G- G; P8 w3 [+ V I购买链接:; D/ d! Z! C) E' C2 v' W" W% a# l' f) c( J
+ `+ p$ U# W" _, x3 q( p% W
亚马逊 -> 传送门
4 X# q* j8 M: t! E3 S, y2 }4 ~0 [* S& ?
当当网 -> 传送门, Z! b8 U0 N8 W" g
' t, F0 H# j! B* W; Z! E5 h京东 -> 传送门
{2 r9 i) c+ {- \' r
# Q; U$ t* t2 ]* `( [. F& t/ x天猫 -> 传送门
* i8 g% U( w# ?, Z+ v% m1 q) B1 o2 d0 V1 Q* F
/ W5 N) }' y! }* s, _/ b7 q
内容简介:
4 s2 `# l7 f/ h0 u0 F7 K; R( B/ p" y8 @) l- x
机器学习是人工智能研究领域中一个极其重要的研究方向,在现今的大数据时代背景下,捕获数据并从中萃取有价值的信息或模式,成为各行业求生存、谋发展的决定性手段,这使得这一过去为分析师和数学家所专属的研究领域越来越为人们所瞩目。
4 E J; A( X- j$ W2 V' I' T( R 《机器学习实战》主要介绍机器学习基础,以及如何利用算法进行分类,并逐步介绍了多种经典的监督学习算法,如k近邻算法、朴素贝叶斯算法、Logistic回归算法、支持向量机、AdaBoost集成方法、基于树的回归算法和分类回归树(CART)算法等。第三部分则重点介绍无监督学习及其一些主要算法:k均值聚类算法、Apriori算法、FP-Growth算法。第四部分介绍了机器学习算法的一些附属工具。
% Y/ K: Z3 h2 ]% c6 @ 《机器学习实战》通过精心编排的实例,切入日常工作任务,摒弃学术化语言,利用高效的可复用Python代码来阐释如何处理统计数据,进行数据分析及可视化。通过各种实例,读者可从中学会机器学习的核心算法,并能将其运用于一些策略性任务中,如分类、预测、推荐。另外,还可用它们来实现一些更高 级的功能,如汇总和简化等。' Z3 A* O4 s Y: \) m
1 o1 s x$ z2 E' T- m* E9 J
5 @* V* C/ ]. i5 o目录:5 O" h/ {' Y0 C- b1 z1 P+ U# J
7 N* ]# Q* y k6 B5 y
★ 第一部分 分类
( X% P* `8 l: S! ?
% }/ c; M T! ]7 \; ?第1章 机器学习基础 2 ! o) v+ t- Y ^; [0 _8 N9 b+ C1 I
1.1 何谓机器学习 3
2 r4 Z- z8 J4 [7 m4 f+ A f1.1.1 传感器和海量数据 4
% c! \9 z( T- c1 O6 T6 L1.1.2 机器学习非常重要 5
$ i2 [9 @# l1 l( _5 }- V# ^1.2 关键术语 5 ) d) v3 V+ M; V: [/ ^" U7 m
1.3 机器学习的主要任务 7 / N4 N. t9 T' R2 b. W
1.4 如何选择合适的算法 8
# C& W: g5 b. X; y7 u1.5 开发机器学习应用程序的步骤 9
$ }2 r% V3 M: L+ q7 ?8 O* A6 ]( N1.6 Python语言的优势 10
6 @/ }6 y( u8 s5 G- L9 i* D1.6.1 可执行伪代码 10
8 d9 }2 V0 Z3 ?0 h. w+ _8 ~5 y8 A1.6.2 Python比较流行 10
6 p3 l+ C+ I8 V4 @1.6.3 Python语言的特色 11 , G; c1 k- V% K" h# Q0 k# \
1.6.4 Python语言的缺点 11 B$ @* M' P1 |0 r7 S
1.7 NumPy函数库基础 12
1 b. M2 P2 g) y# H. G( O) i* J' V1.8 本章小结 13
: u0 \* [' A% I, {1 o0 v3 `5 M) P* P0 H( W& F
第2章 k—近邻算法 15
, v% d9 Y( O! k& x1 \! }2.1 k—近邻算法概述 15 6 E( J4 X* I' `5 ]6 J8 O& i4 L& D1 a
2.1.1 准备:使用Python导入数据 17
' P$ h4 k+ y8 ~, a0 x2.1.2 从文本文件中解析数据 19
8 d9 J& N) C. i* J# v' U n" B4 W2.1.3 如何测试分类器 20 8 [ f: U9 S; W
2.2 示例:使用k—近邻算法改进约会网站的配对效果 20 9 o0 ^) G4 F+ j4 H, v
2.2.1 准备数据:从文本文件中解析数据 21
2 @6 C. h/ `, Y" Z- K2.2.2 分析数据:使用Matplotlib创建散点图 23 ; v; X0 m+ U# R W" ^: z7 M; D
2.2.3 准备数据:归一化数值 25 : }# O. |! B9 Z. t$ T! L# s* k6 J
2.2.4 测试算法:作为完整程序验证分类器 26 c0 P- I3 G7 G
2.2.5 使用算法:构建完整可用系统 27 & k9 y( g: n, w
2.3 示例:手写识别系统 28
" v6 F4 u0 o f' p& Y( h1 x3 h! B2.3.1 准备数据:将图像转换为测试向量 29 7 n! F7 \$ J. V1 @* k$ t. |) e1 I2 D! t1 Q
2.3.2 测试算法:使用k—近邻算法识别手写数字 30
, S% D D) H; J6 k2 h2.4 本章小结 31
( p& H A- [9 d/ k6 W8 v, ^" m; X1 W; C) D
第3章 决策树 32
* v0 i6 w5 J% a' c( M9 R3.1 决策树的构造 33 ! \8 X1 j4 L$ O0 W& L5 m2 z! u- o
3.1.1 信息增益 35 8 Y. T- s$ y& d3 H5 K
3.1.2 划分数据集 37 7 @0 z/ i2 e) K8 J$ H! c
3.1.3 递归构建决策树 39 3 D, ^& {/ d) T& K% l" t, F& X
3.2 在Python中使用Matplotlib注解绘制树形图 42 + N+ j R+ n8 I9 m3 @+ {# W
3.2.1 Matplotlib注解 43
Y& K, d: c Z |5 [, R2 n3.2.2 构造注解树 44 ; T$ a3 S C5 v$ \: F1 m- L& X( C7 ?
3.3 测试和存储分类器 48
( ~- v- f! e2 F( S u3.3.1 测试算法:使用决策树执行分类 49 9 ^! L/ M1 \0 W* N y o7 A4 x
3.3.2 使用算法:决策树的存储 50 8 a2 }* ~ S' |% J2 @
3.4 示例:使用决策树预测隐形眼镜类型 50 / w* H( Q- X, F/ w8 N& B
3.5 本章小结 52 6 X2 Y& y/ I( A( `6 i
1 u1 q5 H% G% o' V4 L5 I0 D
第4章 基于概率论的分类方法:朴素贝叶斯 53 0 j, z, m% W5 t: L* z: W5 G
4.1 基于贝叶斯决策理论的分类方法 53
" o. i. ]- v) e" ]7 {4.2 条件概率 55
8 T# ^$ E- c) Z0 R4.3 使用条件概率来分类 56
- g: W8 Y% T; k4.4 使用朴素贝叶斯进行文档分类 57
9 {6 D1 z8 S. X) D, s9 p/ o4.5 使用Python进行文本分类 58
0 l+ ?3 L$ Y* c6 R# s4.5.1 准备数据:从文本中构建词向量 58
+ G: y5 R% D" V+ Q; Q$ C4.5.2 训练算法:从词向量计算概率 60 3 z5 J! o! s% H3 O; _
4.5.3 测试算法:根据现实情况修改分类器 62 , N* C+ X& e. k' ]8 I0 K3 u. a! [. {
4.5.4 准备数据:文档词袋模型 64 % u3 a# z/ s' \* ?* T
4.6 示例:使用朴素贝叶斯过滤垃圾邮件 64 0 s2 N3 |$ P+ u+ v( s- u0 V
4.6.1 准备数据:切分文本 65
" n- k& H: z2 ?( ?" Q/ p4.6.2 测试算法:使用朴素贝叶斯进行交叉验证 66
0 g, p1 F$ l* o& {7 F3 h4 A4.7 示例:使用朴素贝叶斯分类器从个人广告中获取区域倾向 68 ' s1 c2 ?) U! ^
4.7.1 收集数据:导入RSS源 68 & f# G2 P" Z) d7 b5 c! ^7 m1 u0 c- n
4.7.2 分析数据:显示地域相关的用词 71
( K- }/ ~" X H5 k) D5 {( j4.8 本章小结 72 + M, u! h4 h9 F0 f3 o: w1 N6 ^
0 ]7 b0 G. z" R第5章 Logistic回归 73 " A& N, X: f' `4 g
5.1 基于Logistic回归和Sigmoid函数的分类 74
& g" \1 Y5 y' d: y5.2 基于最优化方法的最佳回归系数确定 75 . Q @4 R$ H% \# \
5.2.1 梯度上升法 75 9 v* R1 D% H" q. H
5.2.2 训练算法:使用梯度上升找到最佳参数 77 / }* y4 E' ^2 k" ?6 ?5 F
5.2.3 分析数据:画出决策边界 79
# v c% O+ g4 S' `5.2.4 训练算法:随机梯度上升 80 z4 a8 X( F$ k* u. @6 F
5.3 示例:从疝气病症预测病马的死亡率 85 5 H6 h2 U- f" B2 t/ `; Z) s/ S
5.3.1 准备数据:处理数据中的缺失值 85 ( {4 u5 x* O: C3 s% g; x
5.3.2 测试算法:用Logistic回归进行分类 86 7 o A% R) M' T: C# u. `7 ?) u+ n
5.4 本章小结 88 ' y" m3 u, ]# p8 s+ Q( e
/ k- Z# g9 n Z- ~% a第6章 支持向量机 89 0 W; j& q. ~0 s, z7 a# {8 l" ?
6.1 基于最大间隔分隔数据 89 & L0 x0 Z6 a9 ]) I
6.2 寻找最大间隔 91 . r; `+ w) b# z( g" L& Q- L% c
6.2.1 分类器求解的优化问题 92
5 ^$ P0 G0 F: ?7 P6.2.2 SVM应用的一般框架 93 0 x5 C% f) x: ^! z6 u7 ^' S2 m
6.3 SMO高效优化算法 94
+ |, |% i9 W/ d& y/ ~6.3.1 Platt的SMO算法 94 * ?( O: ^; }6 H, P% s" Z
6.3.2 应用简化版SMO算法处理小规模数据集 94
6 [: z$ d6 I3 U# Y6.4 利用完整PlattSMO算法加速优化 99
. ^- C* h2 |( }8 g1 t- X6.5 在复杂数据上应用核函数 105
/ ?0 b7 F9 d9 C5 L6 d5 v6.5.1 利用核函数将数据映射到高维空间 106 : H, e- z2 W* D3 j& \) X5 X- k
6.5.2 径向基核函数 106 ' y! D9 O2 T, X* c% A+ N4 ]4 B% I! h
6.5.3 在测试中使用核函数 108 8 [/ T& \: G- g9 t# f
6.6 示例:手写识别问题回顾 111
R0 f8 A9 I ]* t5 `5 P6.7 本章小结 113
+ q6 Y6 G: ~2 e/ l& m1 |, e3 r6 d# X! D; P3 t3 s
第7章 利用AdaBoost元算法提高分类性能 115
6 e% `+ e$ A# t" u4 h& ~7 W7.1 基于数据集多重抽样的分类器 115 8 \- j' i0 i$ o) y+ l
7.1.1 bagging:基于数据随机重抽样的分类器构建方法 116
8 u4 i3 _/ p: ~( V% P$ e, {7.1.2 boosting 116 7 B* O, u+ {, ]7 Q* ~, r: u
7.2 训练算法:基于错误提升分类器的性能 117
/ a6 Y& \# G- F4 b8 Q7.3 基于单层决策树构建弱分类器 118 9 {7 j; p) _- ^% {0 x, ^! W; N- w4 D
7.4 完整AdaBoost算法的实现 122
, y& o( z9 ]& D7.5 测试算法:基于AdaBoost的分类 124
4 \, G, J4 {' u1 H7.6 示例:在一个难数据集上应用AdaBoost 125 / g# @5 |+ t: }# Z" {# B
7.7 非均衡分类问题 127 / o9 h0 Z; K9 g; J7 t
7.7.1 其他分类性能度量指标:正确率、召回率及ROC曲线 128 $ r" E3 i' e; n; |
7.7.2 基于代价函数的分类器决策控制 131
, }. R* j* T; O! N" ?& k7.7.3 处理非均衡问题的数据抽样方法 132 : F1 k1 a, i* D8 E9 S
7.8 本章小结 132 ! P: x1 n) [) [/ ?
2 {3 w1 j2 D5 z4 o1 U7 `
★ 第二部分 利用回归预测数值型数据
: A9 @, s" Q5 D, T. o7 E: z1 [- [( k! T1 w+ N+ s i( o$ j
第8章 预测数值型数据:回归 136 & H) U4 I$ q" i: O$ P9 t- @ c
8.1 用线性回归找到最佳拟合直线 136
/ Q7 Q- F' E G# h+ _8.2 局部加权线性回归 141 . V+ T1 ]9 f J# q! H H7 y j( z6 j
8.3 示例:预测鲍鱼的年龄 145
\) ^ h- s9 a& |7 r, n8.4 缩减系数来“理解”数据 146 6 {& c5 G9 q- t3 @
8.4.1 岭回归 146
+ e, c2 J, b+ H. h9 {4 v" {' b5 Y: [8.4.2 lasso 148 $ i, c* ?6 X3 P7 C7 G
8.4.3 前向逐步回归 149 ; }1 W8 |$ h. m3 N
8.5 权衡偏差与方差 152
; _ R% N8 Y# e" B, y7 o8.6 示例:预测乐高玩具套装的价格 153
& x& I& @8 k8 _) z- y8.6.1 收集数据:使用Google购物的API 153
) S) P7 r. H* B4 [7 L1 ]8.6.2 训练算法:建立模型 155 * q- K. W: N c! b3 R* O
8.7 本章小结 158 7 W6 R. q5 N* n
) s+ l0 b/ Z! G' [/ M第9章 树回归 159 9 A* _$ m: T" E3 a; ?
9.1 复杂数据的局部性建模 159
) O5 x C4 g5 m- c9 g' c1 X" J9.2 连续和离散型特征的树的构建 160
& k& m3 q( d2 z- \9.3 将CART算法用于回归 163
' D; Y! u J9 S/ x$ R4 _0 z/ R9.3.1 构建树 163 7 g1 y( ?/ R( i9 j* T
9.3.2 运行代码 165
4 N! D# k# R0 R8 u' ?/ b3 f9.4 树剪枝 167 2 k* H9 w( _7 N" F
9.4.1 预剪枝 167
) Y1 N( N( S: X' G4 D! y8 c9.4.2 后剪枝 168 ! z1 }7 [5 \( H& Y- d3 T i
9.5 模型树 170 . d3 J7 v- R& m3 T! U
9.6 示例:树回归与标准回归的比较 173 . Q/ t" r4 i2 {. h* ]
9.7 使用Python的Tkinter库创建GUI 176
! \, `* S2 a, C0 E* S/ J* g" ~9.7.1 用Tkinter创建GUI 177
0 n; u' K( c% `- F% M% \& m9.7.2 集成Matplotlib和Tkinter 179
- F( s% I9 r; t8 C9.8 本章小结 182 , S# m" ^$ \. P8 A$ ]. M w
7 F# R" ^3 I7 Z! c0 F8 I★ 第三部分 无监督学习0 F/ s; `3 p2 ?2 L7 ]4 _1 d; P' k
. X2 g6 R! \% w5 z: J$ a
第10章 利用K—均值聚类算法对未标注数据分组 184
) Y6 u! C; C; l7 j2 L- L10.1 K—均值聚类算法 185 * H; {; t. @' e; W, Z4 p
10.2 使用后处理来提高聚类性能 189 ; ~& l% ~* o+ f
10.3 二分K—均值算法 190 ( n. x, h8 U: [4 z, e1 @1 O
10.4 示例:对地图上的点进行聚类 193 5 o o" A* | C, A% g
10.4.1 Yahoo!PlaceFinderAPI 194
* L- I w: s- m! U1 ^- ~# t) Y# Z, u10.4.2 对地理坐标进行聚类 196
' b$ v; Q8 }0 ?9 z( F8 i10.5 本章小结 198
: b- g( @8 E! e5 E( Q9 g* ^
$ p0 s- L+ l. d6 O第11章 使用Apriori算法进行关联分析 200
% C3 ?) g# F3 r' S: w) d11.1 关联分析 201 $ ~4 s% e8 k/ i" ^$ t% v
11.2 Apriori原理 202
3 S& r# S8 ~) [3 B11.3 使用Apriori算法来发现频繁集 204
8 W9 H! e0 M$ z& C11.3.1 生成候选项集 204 . o/ p8 P# d) s
11.3.2 组织完整的Apriori算法 207
# g: X& O+ r r" w- |/ L6 P- N3 [11.4 从频繁项集中挖掘关联规则 209
% g" ^- w% A( V4 W11.5 示例:发现国会投票中的模式 212
, ?- i# N) ^4 V4 e11.5.1 收集数据:构建美国国会投票记录的事务数据集 213
! M6 C8 V/ f5 r* ~/ l# V3 X11.5.2 测试算法:基于美国国会投票记录挖掘关联规则 219 0 E; R6 ?( V* E4 q* X+ u
11.6 示例:发现毒蘑菇的相似特征 220
! B1 B! e* r, P1 e0 d" i [11.7 本章小结 221 - r- d& S3 o; g. j* M- Q! Y% V
" W7 W q& l% ]( i; U第12章 使用FP—growth算法来高效发现频繁项集 223
' g* ^+ |3 ?8 I- l: W6 k" z- H12.1 FP树:用于编码数据集的有效方式 224 : d$ a) r3 D) v* a' S
12.2 构建FP树 225
1 l/ O, O* a9 w) e) r/ c9 G* e12.2.1 创建FP树的数据结构 226 $ @9 C) f3 \3 w1 [$ ~. ~6 v
12.2.2 构建FP树 227 / r, R8 g8 M. L$ Y
12.3 从一棵FP树中挖掘频繁项集 231 ! g" E+ c& Z7 t- @, \7 h m
12.3.1 抽取条件模式基 231
5 n1 l5 @1 {1 @) f- E- _4 l12.3.2 创建条件FP树 232 ' ^9 ~7 ] [" H5 {
12.4 示例:在Twitter源中发现一些共现词 235
* D1 K, b, y6 K12.5 示例:从新闻网站点击流中挖掘 238 # C, G- y4 q- E" P
12.6 本章小结 239* c) W. ]: W1 S! B) f$ S7 v
6 E" x% \3 @% e5 O, G: f- h
★ 第四部分 其他工具
2 T) S/ Q: Q# V# A, O1 _4 \" v1 F1 f3 z- q1 ?7 L0 |) I7 m$ ]
第13章 利用PCA来简化数据 242
/ F8 p- C4 T# [' O13.1 降维技术 242 " v1 Z6 K) A N
13.2 PCA 243 & y, W9 t( {2 p- {2 G3 i0 L' S
13.2.1 移动坐标轴 243
2 d0 w s' k6 A5 S4 l13.2.2 在NumPy中实现PCA 246
) J/ h: o3 p8 y9 a13.3 示例:利用PCA对半导体制造数据降维 248
6 q. n9 H2 |! r13.4 本章小结 251
- a* A+ L- d; N/ \8 a
( E. M0 F8 h1 d第14章 利用SVD简化数据 252
3 z* L+ C2 R& c: ~# O14.1 SVD的应用 252 ) k" p, `) c- S5 D Q V) Y" a
14.1.1 隐性语义索引 253 2 M- n' g; z! @) s) T3 T& D7 t2 T. a
14.1.2 推荐系统 253 2 F6 E* `. @6 |( L3 W; q
14.2 矩阵分解 254 7 C: c3 }/ i; }7 c
14.3 利用Python实现SVD 255 * G: |* y0 A! u" h9 v/ X/ o/ Q
14.4 基于协同过滤的推荐引擎 257
, `7 F5 I9 G5 e$ L14.4.1 相似度计算 257
0 l# f; F6 O8 \7 d" F14.4.2 基于物品的相似度还是基于用户的相似度? 260
( [* J3 i/ t! q, N+ B, y S14.4.3 推荐引擎的评价 260
( U7 Q4 `2 O, U3 Y, B# a" u0 T14.5 示例:餐馆菜肴推荐引擎 260
8 [* V( R6 X8 b' { q2 Y14.5.1 推荐未尝过的菜肴 261
" h5 g. s R. X( p14.5.2 利用SVD提高推荐的效果 263
3 c2 V3 [- s1 @/ U9 Q3 }! m$ Q9 y14.5.3 构建推荐引擎面临的挑战 265 ) b" E2 k1 w6 y" n
14.6 基于SVD的图像压缩 266
. L4 l& p$ J: q k1 ?3 {5 E! d14.7 本章小结 268; ?, p* o# n' j9 D1 a- G1 w( j
) \! L! V! W- _& ~9 ~第15章 大数据与MapReduce 270
7 z2 n+ O) i$ i, v; c15.1 MapReduce:分布式计算的框架 271
5 Q/ n- h6 Z, y15.2 Hadoop流 273
& C. V2 q$ s5 f6 T2 n' `15.2.1 分布式计算均值和方差的mapper 273
# H" n0 m5 u7 S0 D K15.2.2 分布式计算均值和方差的reducer 274 ) A+ `9 ]# M- q4 m+ s
15.3 在Amazon网络服务上运行Hadoop程序 275 8 b; c- C4 J( _4 }1 I3 B4 [1 D( H7 z
15.3.1 AWS上的可用服务 276
2 s: l( v. t' C9 e9 W, {# L15.3.2 开启Amazon网络服务之旅 276
9 i0 Z9 e2 y4 w$ I15.3.3 在EMR上运行Hadoop作业 278 . f1 o, J( f2 M/ I) p# S
15.4 MapReduce上的机器学习 282 3 O' }! A1 s: l
15.5 在Python中使用mrjob来自动化MapReduce 283
1 R4 c/ e$ o/ k15.5.1 mrjob与EMR的无缝集成 283
; `# }& D* o8 b% ]& g15.5.2 mrjob的一个MapReduce代码剖析 284 9 r P/ q# K5 L. T
15.6 示例:分布式SVM的Pegasos算法 286
. f; M3 z$ e8 {7 [3 c; q15.6.1 Pegasos算法 287
^, r) }- Z$ V% j" w+ |15.6.2 训练算法:用mrjob实现MapReduce版本的SVM 288
. C& e( X7 i, `; H% ^: ^" a5 i15.7 你真的需要MapReduce吗? 292 ) ?4 n0 M4 S8 d( }) X9 E
15.8 本章小结 292
3 F4 A6 ]7 f3 w" }+ T6 Q2 l* \ D: `4 r- d! @- |
附录A Python入门 294
, j8 O! \2 T; M附录B 线性代数 303 . l/ P/ i: W5 L
附录C 概率论复习 309 ' ]* P& ^- l) [ o( Q" H b6 a3 k
附录D 资源 312 + _$ `, s- r5 x* o# |+ g* p
索引 313
. E! H8 v0 `, v2 Z. U- O版权声明 3166 a6 t# S2 c! ]% n3 X/ ], W |+ ?
; i" Z; [) f1 S$ E/ f5 q
|
|