本书将机器学习背后的基本理论与应用实践联系起来,通过这种方式让读者聚焦于如何正确地提出问题、解决问题。书中讲解了如何使用Python的核心元素以及强大的机器学习库,同时还展示了如何正确使用一系列统计模型。
2 w5 C2 M" q1 S# E! b' P/ }% o 在本书第1版的基础上,作者对第2版进行了大量更新和扩展,纳入*近的开源技术,包括scikit-learn、Keras和TensorFlow,提供了使用Python构建高效的机器学习与深度学习应用的必要知识与技术。) w2 f4 B: t! i |5 K! @" E
通过阅读本书,你将学到:/ R; D1 Q* R8 m5 Y, d+ L! a
; 探索并理解数据科学、机器学习与深度学习的主要框架; 通过机器学习模型与神经网络对你的数据提出新的疑问; 在机器学习中使用*近Python开源库的强大功能; 掌握如何使用TensorFlow库来实现深度神经网络; 在可访问的Web应用中嵌入你的机器学习模型; 使用回归分析预测连续目标的结果" ~7 n/ I0 M' R+ ~
; 使用聚类发现数据中的隐藏模式与结构0 P5 |$ `" M6 i
; 使用深度学习技术分析图片1 |' X: N8 K; i# q
; 使用情感分析深入研究文本与社交媒体数据
8 {* {, ?) p+ e/ E9 @ 内容简介
0 e L0 f" a9 u% F$ ^4 x 机器学习与预测分析正在改变企业和其他组织的运作方式,本书将带领读者进入预测分析的世界。全书共16章,除了简要介绍机器学习及Python在机器学习中的应用,还系统讲述了数据分类、数据预处理、模型优化、集成学习、回归、聚类、神经网络、深度学习等内容。本书将机器学习背后的基本理论与应用实践联系起来,通过这种方式让读者聚焦于如何正确地提出问题、解决问题。本书讲解了如何使用Python的核心元素以及强大的机器学习库,同时还展示了如何正确使用一系列统计模型。本书可作为学习数据科学的初学者及想进一步拓展数据科学领域认识的读者的参考书。同样,本书也适合计算机等相关专业的本科生、研究生阅读。! p0 H2 l/ [2 t- b
作者简介
9 ?) e7 B' ^* X2 `! \1 b 塞巴斯蒂安·拉施卡(Sebastian Raschka)
* r+ | J) `3 v' w R" Y5 } 密歇根州立大学博士,他在计算生物学领域提出了几种新的计算方法,还被科技博客Analytics Vidhya评为GitHub上*具影响力的数据科学家。他在Python编程方面积累了丰富经验,曾为如何实际应用数据科学、机器学习和深度学习做过数次讲座,包括在SciPy(重要的Python科学计算会议)上做的机器学习教程。正是因为Sebastian在数据科学、机器学习以及Python等领域拥有丰富的演讲和写作经验,他才有动力完成本书的撰写,以帮助那些不具备机器学习背景的人设计出有数据驱动的解决方案。他因其工作和贡献获得了2016-2017学年系杰出研究生奖,以及《ACM 计算评论》 2016年度*佳奖。
8 W, ]& ]5 Z8 C+ m1 `' E* i 瓦希德·米尔贾利利(Vahid Mirjalili)( ?) u/ t" Z9 L8 g( U' t. G5 y# `
密歇根州立大学计算机视觉与机器学习研究员,致力于把机器学习应用到各种计算机视觉研究项目。他在学术和研究生涯中积累了丰富的Python编程经验,其主要研究兴趣为深度学习和计算机视觉应用。% ~1 ^. z, ~9 ?
目录0 Z- j, B4 b& x2 F0 W8 Q
译者序& B" N7 U+ L/ R* M
关于作者
" `6 A [. z1 n9 \( {; K 关于审校人员
; S& R5 b* F2 M8 V- o3 n) q 前言
4 @. O: { T2 }& G8 M 第1章 赋予计算机从数据中学习的能力 1
# N* k+ J$ b' c; p! B 1.1 构建把数据转换为知识的智能机器 1
* X+ s& |( [" w" _ 1.2 三种不同类型的机器学习 1
, _9 e4 y! v; H C% j 1.2.1 用有监督学习预测未来 2
) V$ ]4 z/ Y5 Q, n9 B% m# @ 1.2.2 用强化学习解决交互问题 3
5 q: K( v6 ~1 B6 |, A* N* o 1.2.3 用无监督学习发现隐藏结构 4
2 y9 }$ b8 [! L H( x( u# y 1.3 基本术语与符号 4; g/ S8 @: p. I3 L1 Y
1.4 构建机器学习系统的路线图 6
/ n; J! }, ~+ U* ^1 T8 W/ r 1.4.1 预处理—整理数据 63 g. P4 \) J; t
1.4.2 训练和选择预测模型 7
6 r8 Z: e+ G4 G; f" ~. S: [6 X 1.4.3 评估模型和预测新样本数据 7
+ S; ^$ |8 d0 \* H( J+ P0 q 1.5 用Python进行机器学习 78 c$ G2 ?: G1 N4 U/ W p7 p
1.5.1 从Python包索引安装Python和其他包 81.5.2 采用Anaconda Python和软件包管理器 81.5.3 科学计算、数据科学和机器学习软件包 81.6 小结 9
7 n; x7 P8 i) J+ g 第2章 训练简单的机器学习分类算法 10! [6 P6 W6 J) O2 k+ _
2.1 人工神经元—机器学习早期历史一瞥 10( n9 |: A6 E* i3 S4 K( r4 ]; M
2.1.1 人工神经元的正式定义 11
$ @+ |$ w7 W, z$ r+ F0 l- E8 ~. z 2.1.2 感知器学习规则 127 e- Q/ p- B$ A! ?0 |& C
2.2 在Python中实现感知器学习算法 14! p9 J& q8 t. `$ P3 n8 [
2.2.1 面向对象的感知器API 14
) S/ W5 a# K: G9 { 2.2.2 在鸢尾花数据集上训练感知器模型 16$ ?0 v N8 Q/ K/ P! b# c8 N
2.3 自适应神经元和学习收敛 20' }* _6 U( r- Q. `# d' }
2.3.1 梯度下降为最小代价函数 21
f6 `% Y, }4 v# r; w0 p9 l 2.3.2 用Python实现Adaline 22; [# F5 D3 Z. c6 ?5 _. H1 P. X
2.3.3 通过调整特征大小改善梯度下降 25
* @' X4 \1 D" O4 y% S7 e: | 2.3.4 大规模机器学习与随机梯度下降 278 u" M( b1 w& \& E9 V3 X
2.4 小结 30
1 w; [7 h* k8 N' J) r1 d( e: k 第3章 scikit-learn机器学习分类器一览 32
, Y5 e; y7 X/ e3 i 3.1 选择分类算法 32: s* q# Y$ t/ ]7 v+ B
3.2 了解scikit-learn软件库的第一步—训练感知器 323.3 基于逻辑回归的分类概率建模 37
7 }0 Z7 c0 N& C% C. s 3.3.1 逻辑回归的直觉与条件概率 375 K1 N' w0 H( s& i2 @
3.3.2 学习逻辑代价函数的权重 39
" @% o [) p6 S9 c4 y- k a 3.3.3 把转换的Adaline用于逻辑回归算法 413.3.4 用scikit-learn训练逻辑回归模型 44
) Q' D. M8 j7 c 3.3.5 通过正则化解决过拟合问题 454 `! n7 ~, T: u* \7 V5 x
3.4 支持向量机的最大余量分类 47
1 |3 O# x; @7 ?7 h 3.4.1 最大边际的直觉 48
+ s# `4 U+ h2 l- Z 3.4.2 用松弛变量处理非线性可分 48
: D8 K2 i4 ^& f 3.4.3 其他的scikit-learn 实现 50
3 p9 j* [" P P, P! y 3.5 用核支持向量机求解非线性问题 501 ]9 W a; |7 n* Y* H, N3 H6 ]+ v
3.5.1 处理线性不可分数据的核方法 50; _' o4 ^6 u3 n7 M
3.5.2 利用核技巧,发现高维空间的分离超平面 523.6 决策树学习 55
{5 G5 h/ p! Q- z 3.6.1 最大限度地获取信息—获得最大收益 553.6.2 构建决策树 58
' D+ T' S' |* c) c8 a+ W5 w 3.6.3 通过随机森林组合多个决策树 61: J- V! @6 Z# ?& v9 ]
3.7 K-近邻—一种懒惰的学习算法 63& u: L4 K8 U v$ e5 }& k6 W
3.8 小结 655 D- }; O7 m! q+ y( a0 }# z
第4章 构建良好的训练集——预处理 66' _/ S% f9 i# c. m
4.1 处理缺失数据 66
- Q" e. [; ]& a7 K, Q0 O 4.1.1 识别数据中的缺失数值 66
: b: J1 L! d- z z8 Z 4.1.2 删除缺失的数据 67: {& r, @$ ^" z: a4 |5 A
4.1.3 填补缺失的数据 68
4 \$ b& s$ g+ z; N+ j# W; V 4.1.4 了解scikit-learn评估器API 68
+ P4 O2 `) H" W9 y1 y 4.2 处理分类数据 69
( F# B1 ]( K+ J9 \ 4.2.1 名词特征和序数特征 69# P5 v3 C; [% O! m ?
4.2.2 映射序数特征 70/ x) b& }, I! o/ ?6 r
4.2.3 分类标签编码 70
( d- v# ~ b9 @6 ~2 u 4.2.4 为名词特征做热编码 71
# v, \0 L- X2 G3 t% F* f, r 4.3 分裂数据集为独立的训练集和测试集 73$ K. o! q' K! u8 U/ o" Y
4.4 把特征保持在同一尺度上 752 @ T& X! i. z1 C" D3 @" }# s" r
4.5 选择有意义的特征 76
% [! R( e5 M" ^4 v$ [ 4.5.1 L1和L2正则化对模型复杂度的惩罚 76' N$ U' @& k' J) N6 k( m
4.5.2 L2正则化的几何解释 778 y, @' L; E( M1 ^2 Y
4.5.3 L1正则化的稀疏解决方案 78& | m2 h+ L8 s9 h0 @" u9 a3 o& \
4.5.4 为序数特征选择算法 80
0 f2 x! r) r4 b* f 4.6 用随机森林评估特征的重要性 841 |- N5 E: U3 }
4.7 小结 87
. z; j- }4 W% F& D+ C% S 第5章 通过降维压缩数据 882 o$ @+ h8 C |# j
5.1 用主成分分析实现无监督降维 88
* x }5 {$ e' Z$ { r, ? 5.1.1 主成分分析的主要步骤 88: q% c5 |$ v6 O; P. p8 N( V6 V1 H8 M
5.1.2 逐步提取主成分 89
% P: D7 h; H+ T 5.1.3 总方差和解释方差 91% m' Z2 x4 p7 s! c5 W" t
5.1.4 特征变换 92% f" r5 {, t$ a5 C+ G6 b
5.1.5 scikit-learn的主成分分析 93+ |4 P7 X5 C" h
5.2 基于线性判别分析的有监督数据压缩 96; g1 S" E1 k6 q9 M- z6 E0 g
5.2.1 主成分分析与线性判别分析 96* o( ~( W- G. B8 B$ h
5.2.2 线性判别分析的内部逻辑 97: F* J( R* t: n+ A/ W+ I
5.2.3 计算散布矩阵 97
: E; N, T/ K% x6 z$ e 5.2.4 在新的特征子空间选择线性判别式 99$ d! W% K- ]- e* J9 Z& [0 M% A1 j- I
5.2.5 将样本投影到新的特征空间 101+ ?' w! D) ]7 E8 B" t
5.2.6 用scikit-learn实现的LDA 101
! G" n" m& _9 b# F, j; V 5.3 非线性映射的核主成分分析 102
- Z" f# C5 ~# s+ X7 f 5.3.1 核函数与核技巧 1037 I/ {. s' ~* T/ x2 i
5.3.2 用Python实现核主成分分析 106
; X3 ] D6 w) q/ O 5.3.3 投影新的数据点 111& ], _) o* @9 s m0 _
5.3.4 scikit-learn的核主成分分析 113# |8 F2 ]8 b- k6 b
5.4 小结 114
6 x2 m: I {* U7 K) v+ q 第6章 模型评估和超参数调优的最佳实践 1156.1 用管道方法简化工作流 115" w$ r( w( J$ O$ F; P; \1 \
6.1.1 加载威斯康星乳腺癌数据集 115/ N. Y/ }9 e% _. V y8 K: [# _/ I
6.1.2 集成管道中的转换器和评估器 116: i) D5 C8 I4 E3 R
6.2 使用k折交叉验证评估模型的性能 118
6 q7 l g1 Q) g 6.2.1 抵抗方法 118
+ `2 ]4 p2 i5 S 6.2.2 k折交叉验证 119" {) ?6 Z2 w- m8 q( U2 D1 Z
6.3 用学习和验证曲线调试算法 122
$ `7 K1 J0 ~2 r3 F1 H 6.3.1 用学习曲线诊断偏差和方差问题 122
4 A: S- M: s$ O) u* o2 k3 H 6.3.2 用验证曲线解决过拟合和欠拟合问题 1246.4 通过网格搜索为机器学习模型调优 126 F C4 B1 e" } X ] p1 ]; e/ A
6.4.1 通过网格搜索为超参数调优 126
/ g$ A" B* Y' T4 j) a 6.4.2 以嵌套式交叉验证来选择算法 127
" Z" c e6 }. X' |( ~8 b' \ v 6.5 比较不同的性能评估指标 128! R C. w" G/ s% G- i; p
6.5.1 含混矩阵分析 1280 f) ~* N( Q/ ?4 c" f A( d4 J
6.5.2 优化分类模型的准确度和召回率 129
$ i3 t' v* } C d% @ 6.5.3 绘制受试者操作特性图 130" h( A- s( T! n
6.5.4 多元分类评分指标 133 R+ i& z% U) p* {; Y7 y, z& ^0 y
6.6 处理类的不平衡问题 133
c1 F3 l2 a2 Y 6.7 小结 135/ G' W: \$ I: J* u1 {5 X
第7章 综合不同模型的组合学习 136/ Y9 D. I2 T6 H3 L9 I H
7.1 集成学习 1362 K4 d: d; a9 b0 k; p, H4 b% T' R2 H
7.2 采用多数票机制的集成分类器 139
) @+ v# S& G& H1 S: K 7.2.1 实现基于多数票的简单分类器 139* D: \( p. |; p1 @0 X
7.2.2 用多数票原则进行预测 143! k4 Z' o9 b P) Z8 [1 Q8 Q, B2 m
7.2.3 评估和优化集成分类器 145
0 ` A$ x- v, l 7.3 套袋—基于导引样本构建分类器集成 1497.3.1 套袋简介 150
2 G7 l3 W+ g1 _0 a% Z 7.3.2 应用套袋技术对葡萄酒数据集中的样本分类 1517.4 通过自适应增强来利用弱学习者 153
5 U- k' H4 p8 W+ D+ y( N 7.4.1 增强是如何实现的 154/ U2 H! T5 u. \$ {, _
7.4.2 用scikit-learn实现AdaBoost 156
" r; q% S( X$ Q% a 7.5 小结 158
& f& W; }: a) |) t- B 第8章 应用机器学习于情感分析 1599 L% E: K, n. T/ d4 E( K' j, I
8.1 为文本处理预备好IMDb电影评论数据 1598.1.1 获取电影评论数据集 159
: X; c: h8 m% L/ W! { 8.1.2 把电影评论数据预处理成更方便格式的数据 1608.2 词袋模型介绍 161( W- S4 A5 a; ?
8.2.1 把词转换成特征向量 161
9 A# k, n9 Y% I' k1 l# \2 { 8.2.2 通过词频逆反文档频率评估单词相关性 1628.2.3 清洗文本数据 164
- r- ]% p2 \! |: l! P 8.2.4 把文档处理为令牌 165: i s: j& A& W/ R' ]1 a5 U3 C0 W5 [
8.3 训练文档分类的逻辑回归模型 166# w c! K: D3 Q8 K
8.4 处理更大的数据集—在线算法和核心学习 1688.5 具有潜在狄氏分配的主题建模 171- c: N# a% l3 X" X% _- k/ {" W0 \9 A
8.5.1 使用LDA分解文本文档 171" X$ \3 |, Z' o2 x I ^, _
8.5.2 LDA与scikit-learn 172# l% @! K# j7 M5 S4 D
8.6 小结 1749 _7 c5 m: a$ B* N% x. g0 ?
第9章 将机器学习模型嵌入网络应用 1756 h( B# M; C. F0 L
9.1 序列化拟合scikit-learn评估器 175( j& Z' a: k* B" U5 ~+ K
9.2 搭建SQLite数据库存储数据 177
" M7 h3 ~( z0 o5 X 9.3 用Flask开发网络应用 1797 ]) p( g- u" L6 k4 n% }
9.3.1 第一个Flask网络应用 179% g8 q+ G" `/ b8 N
9.3.2 表单验证与渲染 181$ H9 l' u9 M" h9 B6 x9 d u! _: s. ~
9.4 将电影评论分类器转换为网络应用 1847 c- z" e! v7 i, Q
9.4.1 文件与文件夹—研究目录树 185: }, _7 F7 i) \8 }0 h1 A( d
9.4.2 实现主应用app.py 1861 q* @, m& M z8 k0 T! i# V* f
9.4.3 建立评论表单 188
; a/ J9 u6 {1 d! {% a4 ]& S 9.4.4 创建一个结果页面的模板 189
- t' e |+ _$ t5 _9 C+ @ q& q 9.5 在面向公众的服务器上部署网络应用 1909.5.1 创建PythonAnywhere账户 190
* U( v2 k7 ~3 b 9.5.2 上传电影分类应用 191
6 }5 T9 O {$ w: T3 V; G# G% f# `. Z% v 9.5.3 更新电影分类器 191
h r% r m; ^ 9.6 小结 193' `) R3 I. D: M1 Q- I5 q- t
第10章 用回归分析预测连续目标变量 194* b* J& b9 o0 q; H: s4 m
10.1 线性回归简介 194% v7 n- h; q3 B5 \3 J% d R2 F
10.1.1 简单线性回归 194. a% ]/ u, V" w* Q: U3 j7 w. ]
10.1.2 多元线性回归 195, C ?* A. ~' d; b& i( g
10.2 探索住房数据集 1964 x0 ~3 j# C% A4 A7 D9 c7 X
10.2.1 加载住房数据 196; d4 C* | s. v, K
10.2.2 可视化数据集的重要特点 1973 Y9 O8 P8 a/ d3 T1 T9 N
10.2.3 用关联矩阵查看关系 198( r9 } {# ~ n3 v' F0 [; ]: V! E2 ~
10.3 普通最小二乘线性回归模型的实现 200$ @2 E' ~1 m @7 J' f
10.3.1 用梯度下降方法求解回归参数 200
# \) u* Z/ l5 o* a3 R f, ]# i* t/ u 10.3.2 通过scikit-learn估计回归模型的系数 20310.4 利用RANSAC拟合稳健的回归模型 205* h) D9 M# j5 W$ g8 W
10.5 评估线性回归模型的性能 206$ I1 d" c( T7 i5 ~2 @6 o- |
10.6 用正则化方法进行回归 209# h6 x% p! } X8 Q2 ^( E) B' c
10.7 将线性回归模型转换为曲线—多项式回归 21010.7.1 用scikit-learn增加多项式的项 2109 { c4 A! T# c9 Y
10.7.2 为住房数据集中的非线性关系建模 21110.8 用随机森林处理非线性关系 214
4 S! t3 R# G# u1 ], T 10.8.1 决策树回归 2148 m$ j' F: _) Y/ Y9 P. m
10.8.2 随机森林回归 215
1 E7 U& x4 l! ?! ~ 10.9 小结 217
* A6 ^8 ?$ W6 T- Q) C 第11章 用聚类分析处理无标签数据 218 g* ]1 U! W9 G0 Y
11.1 用k-均值进行相似性分组 218
# ]0 k X) C6 }4 t/ S; _" F& { 11.1.1 scikit-learn的k-均值聚类 218
. T( k# H% g h7 s4 I# ? 11.1.2 k-均值++—更聪明地设置初始聚类中心的方法 22111.1.3 硬聚类与软聚类 222+ E7 _& ~6 R' ~! G" C9 M4 `8 Y! h
11.1.4 用肘法求解最佳聚类数 223
' E+ T2 m0 X$ s* t- D) z( v 11.1.5 通过轮廓图量化聚类质量 224
% b# S7 n" k: H, f! x {/ e 11.2 把集群组织成有层次的树 2281 Z4 C% W0 [, X. B* i, \% g7 u0 o
......; @. P3 g8 C3 o& {) t
前言/序言
. S, i; D# v( n, M4 c 通过新闻媒体的报道,你可能已经了解到机器学习已经成为当代最激动人心的技术。像谷歌、Facebook、苹果、Amazon和IBM这样的大公司基于各自的考虑,已经在机器学习的研究和应用方面投入了巨资。机器学习似乎已经成为流行词,但这绝不是昙花一现。这个激动人心的领域开启了许多新的可能性,已经在日常生活中不可或缺。智能手机的语音助手、为客户推荐合适的产品、防止信用卡欺诈、过滤垃圾邮件、检测和诊断疾病等都是明证。% z0 ~! f0 y. n; g' L
如果有志于从事深度学习,想更好地解决问题或开展深度学习方面的研究,那么这本书就是为你而写。然而,深度学习背后的理论概念可能艰深难懂。但近几年已经出版了许多机器学习方面的著作,阅读它们有助于通过研发强大的机器学习算法走上机器学习之路。
; W8 L' A' s; u7 K5 f2 S 熟悉机器学习的示例代码及应用是深入该领域的捷径。通过具体的示例学以致用有助于阐明宽泛的概念。请记住,能力越大责任越大!除了用Python和基于Python的机器学习软件库掌握实践经验外,本书还介绍了机器学习算法背后的数学概念,这对于成功地使用机器学习必不可少。这使得本书有别于其他的纯实战书籍。本书将对机器学习概念的必要细节进行讨论,同时对机器学习算法的工作原理、使用方法以及最为重要的如何避免掉入最常见的陷阱,提供直观且翔实的解释。: T) [1 y- U/ [8 N# s5 c* w
如果在谷歌专业网站以“机器学习”作为关键词进行搜索,结果会找到180万个出版物。当然我们无法对过去60年来所出现的各种不同算法和应用逐一进行考证。然而,本书将开始一个激动人心的旅程,涵盖所有重要的主题和概念,让你在该领域捷足先登。如果你发现所提供的知识还不能解渴,没关系,本书还引用了许多其他有用的资源,供你追踪该领域的精要突破。
$ u7 a3 J+ Y# P$ M$ E 如果已经详细研究了机器学习理论,那么本书可以教你如何把知识付诸实践。如果以前用过机器学习技术,想更深入地了解其工作原理,那么本书就是为你而备。如果机器学习对你是全新的领域,那么不必担心,你更有理由为此感到兴奋。我保证机器学习将会改变你解决问题的思路,并让你看到如何通过释放数据的力量来解决问题。
, j5 t# a. n$ ~1 s# S! m. W: F 在深入机器学习领域之前,先回答一个最重要的问题:“为什么要用Python?”答案很简单:Python功能强大且易于取得。Python已成为数据科学最常用的编程语言,因为它可以让我们忘记编程的冗长乏味,同时提供了可以把想法落地、概念直接付诸行动的环境。7 @$ F7 [7 E2 o' N# M0 b6 d
我们认为,对机器学习的研究使我们成为更好的科学家、思想家和问题解决者。本书将与你分享这些知识。知识是要靠学习获得的。学习的关键在于热情,而要真正掌握技能只能通过实践。前面的路或许崎岖不平,有些话题可能颇具挑战性,但我们希望你能抓住这个机会,更多地考虑本书所带来的回报。请记住,我们共同踏上这个旅程,本书将为你的军火库添加许多强大的武器,让你以数据驱动的方式来解决最棘手的问题。) L. G: Q& B- w- c0 E8 P/ Q# t
本书内容
" A: P8 E9 B( y/ h 第1章介绍了机器学习在解决不同问题时的主要应用领域。另外,还讨论了构建典型的机器学习模型所需要的基本步骤,从而形成一条导引后续各章节的管道。
/ ?( A& O% G) ~ _, O 第2章追溯了机器学习的起源,介绍了二元感知器、分类器和自适应线性神经元。对模式分类的基本原理作了简单介绍,同时关注算法优化和机器学习的交互。
7 T/ Q+ Z5 b; k4 k; p 第3章描述了基本的机器学习分类算法,并用最流行和全面的开源机器学习软件库scikit-learn提供了实际案例。
0 @( N, J+ G7 N1 W 第4章讨论了如何解决未处理数据集中最常见的问题,如数据缺失。也讨论了用来识别数据集中信息量最大特性的几种方法,并教你如何将不同类型的变量作为机器学习算法的适当输入。4 g" W7 {* U/ e& h1 D) g
第5章描述了减少数据集中的特征数,同时保留大部分有用和识别性信息的基本技术。讨论了基于主成分分析的标准降维方法,并将其与有监督学习和非线性变换技术进行了比较。
7 y. j6 _/ a; @+ ]1 C0 v5 J 第6章讨论了在预测模型的性能评价中该做和不该做什么。此外,还讨论了模型性能评估的不同度量以及优化机器学习算法的技术。/ w7 v% q+ R6 q$ Q' j7 i
第7章介绍了有效结合多种学习算法的不同概念,讲解了如何建立专家小组来克服个别学习者的弱点,从而产生更准确更可靠的预测。+ [; f$ V( \$ s0 F$ ^
第8章讨论了将文本数据转换为有意义的机器学习算法,以根据文本内容预测人们意见的基本步骤。: Z F B5 o3 ?/ Q, o- x$ k
第9章继续使用前一章中的预测模型,并介绍了使用嵌入式机器学习模型开发网络应用的基本步骤。
# ]% r d( \: u& N& } 第10章讨论根据目标和响应变量之间的线性关系建模,从而进行连续预测的基本技术。在介绍了不同的线性模型之后,还讨论了多项式回归和基于树的建模方法。" {3 i( x1 ?% E
第11章将焦点转移到机器学习的其他子领域,即无监督学习。 用来自于三个基本聚类家族的算法来寻找一组拥有一定程度相似性的对象。
: Q, j0 K+ P$ ^ m6 H) B 第12章扩展了基于梯度的优化概念,该概念在第2章中介绍过,用来在Python中构建基于常见的强大的多层神经网络的反向传播算法。
' Q+ s7 [5 b; w% R5 z% U 第13章基于前一章的知识,为更有效地训练神经网络提供实用指南。 该章的重点是TensorFlow,这是一个开源的Python 软件库,允许我们充分利用现代的多核GPU。
7 {6 B4 w( ]8 _) A0 ^ 第14章更详细地介绍了TensorFlow的计算图和会话的核心概念。 另外,该章还介绍了如何保存会话以及可视化神经网络图等主题。& A7 e9 V/ H. i% l* {* Y
游客,本下载内容需要支付 1共享币,购买后显示下载链接立即支付
9 I& C0 s% ~/ b2 t1 ~4 S, j5 c: c; B- M5 A/ m! R
|