[套装书]R语言机器学习(原书第2版)+高级R语言编程指南(2册)

作者
[印度] 卡西克·拉玛苏布兰马尼安(Karthik Ramasubramanian)[印度] 阿布舍克·辛格(Abhishek Singh)(美)哈德利·威克汉姆(Hadley Wickham)
丛书名
智能科学与技术丛书
出版社
机械工业出版社
ISBN
9781912091036
简要
简介
内容简介书籍计算机书籍 ---------------------------R语言机器学习(原书第2版)--------------------------- 本书是介绍机器学习技术的综合指南,从基础的统计学原理和R语言编程知识,到核心的机器学习理论和算法分析,以及机器学习模型的评估和改进方法,再到机器学习技术在大数据平台上的应用,书中都有详细介绍。 ---------------------------高级R语言编程指南--------------------------- 本书为解决各种R语言编程问题提供了非常有用的工具和技术,帮助你少走弯路。书中阐释了R语言简洁、优美以及灵活的核心特点,展示了许多必备的技巧,通过它们可以创建在各个场景中使用的优质代码。 本书主要内容 ·R语言基础知识,包括标准数据类型和函数。 ·将函数式编程作为有用的框架来解决多类问题。 ·元编程的优点与缺点。 ·编写快速及节省内存的程序。 本书展示了R的特别之处,为R软件使用者成为R程序员奠定了基础。中级R程序员则可以通过本书更深入地研究R语言,学习新策略来解决各种问题。而其他语言的程序员可以通过本书细致地了解R语言并理解R语言的运行方式。 .
目录



---------------------------R语言机器学习(原书第2版)---------------------------


译者序
前言
第1章 机器学习和R语言入门1
1.1 了解发展历程1
1.1.1 统计学习2
1.1.2 机器学习2
1.1.3 人工智能3
1.1.4 数据挖掘3
1.1.5 数据科学4
1.2 概率与统计5
1.2.1 计数和概率的定义5
1.2.2 事件和关系7
1.2.3 随机性、概率和分布9
1.2.4 置信区间和假设检验9
1.3 R语言入门13
1.3.1 基本组成部分13
1.3.2 R语言的数据结构14
1.3.3 子集处理15
1.3.4 函数和Apply系列17
1.4 机器学习过程工作流19
1.4.1 计划20
1.4.2 探索20
1.4.3 构建20
1.4.4 评估20
1.5 其他技术21
1.6 小结21
第2章 数据准备和探索22
2.1 规划数据收集23
2.1.1 变量类型23
2.1.2 数据格式24
2.1.3 数据源的类型29
2.2 初始数据分析30
2.2.1 初步印象30
2.2.2 把多个数据源组织到一起32
2.2.3 整理数据34
2.2.4 补充更多信息37
2.2.5 重塑38
2.3 探索性数据分析38
2.3.1 摘要统计量39
2.3.2 矩42
2.4 案例研究:信用卡欺诈46
2.4.1 数据导入46
2.4.2 数据变换47
2.4.3 数据探索48
2.5 小结50
第3章 抽样与重抽样技术51
3.1 介绍抽样技术51
3.2 抽样的术语52
3.2.1 样本52
3.2.2 抽样分布52
3.2.3 总群体的均值和方差53
3.2.4 样本均值和方差53
3.2.5 汇总的均值和方差53
3.2.6 抽样点53
3.2.7 抽样误差54
3.2.8 抽样率54
3.2.9 抽样偏误54
3.2.10 无放回的抽样54
3.2.11 有放回的抽样55
3.3 信用卡欺诈:总群体的统计量55
3.3.1 数据描述55
3.3.2 总群体的均值56
3.3.3 总群体的方差56
3.3.4 汇总的均值和方差56
3.4 抽样在业务上的意义59
3.5 概率和非概率抽样60
3.6 关于抽样分布的统计理论61
3.6.1 大数定律62
3.6.2 中心极限定理64
3.7 概率抽样技术67
3.7.1 总群体的统计量67
3.7.2 简单随机抽样70
3.7.3 系统性随机抽样75
3.7.4 分层随机抽样78
3.7.5 聚类抽样83
3.7.6 自助抽样88
3.8 蒙特卡罗方法:接受-拒绝93
3.9 小结95
第4章 R语言里的数据可视化96
4.1 ggplot2组件包简介97
4.2 世界经济发展指标97
4.3 折线图97
4.4 堆叠柱状图102
4.5 散点图106
4.6 箱形图107
4.7 直方图和密度图109
4.8 饼图113
4.9 相关图114
4.10 热点图116
4.11 气泡图117
4.12 瀑布图120
4.13 系统树图122
4.14 关键字云124
4.15 桑基图126
4.16 时间序列图127
4.17 队列图129
4.18 空间图130
4.19 小结133
第5章 特征工程135
5.1 特征工程简介135
5.2 了解工作数据136
5.2.1 数据摘要137
5.2.2 因变量的属性137
5.2.3 特征的可用性:连续型或
分类型140
5.2.4 设置数据的假设141
5.3 特征排名141
5.4 变量子集的选择144
5.4.1 过滤器方法145
5.4.2 包装器方法148
5.4.3 嵌入式方法154
5.5 主成分分析158
5.6 小结161
第6章 机器学习理论和实践162
6.1 机器学习的类型163
6.1.1 有监督学习164
6.1.2 无监督学习164
6.1.3 半监督学习165
6.1.4 强化学习165
6.2 机器学习算法的类别165
6.3 实际环境的数据集168
6.3.1 房产售价168
6.3.2 购买偏好169
6.3.3 Twitter订阅和文章169
6.3.4 乳腺癌170
6.3.5 购物篮170
6.3.6 亚马逊美食评论170
6.4 回归分析171
6.5 相关分析172
6.5.1 线性回归174
6.5.2 简单线性回归175
6.5.3 多元线性回归177
6.5.4 模型诊断:线性回归180
6.5.5 多项回归190
6.5.6 逻辑回归193
6.5.7 logit变换194
6.5.8 几率比194
6.5.9 模型诊断:逻辑回归200
6.5.10 多项逻辑回归208
6.5.11 广义线性模型211
6.5.12 结论212
6.6 支持向量机213
6.6.1 线性SVM214
6.6.2 二元SVM分类模型214
6.6.3 多类别SVM216
6.6.4 结论217
6.7 决策树217
6.7.1 决策树的类型218
6.7.2 决策指标219
6.7.3 决策树学习方法221
6.7.4 集成树235
6.7.5 结论241
6.8 朴素贝叶斯方法241
6.8.1 条件概率241
6.8.2 贝叶斯定理241
6.8.3 先验概率242
6.8.4 后验概率242
6.8.5 似然和边际似然242
6.8.6 朴素贝叶斯方法243
6.8.7 结论247
6.9 聚类分析247
6.9.1 聚类方法简介248
6.9.2 聚类算法248
6.9.3 内部评估256
6.9.4 外部评估257
6.9.5 结论259
6.10 关联规则挖掘259
6.10.1 关联概念简介259
6.10.2 规则挖掘算法261
6.10.3 推荐算法267
6.10.4 结论273
6.11 人工神经网络273
6.11.1 人类认知学习273
6.11.2 感知器275
6.11.3 Sigmoid神经元276
6.11.4 神经网络的体系架构277
6.11.5 有监督与无监督的神经网络278
6.11.6 神经网络的学习算法279
6.11.7 前馈反向传播281
6.11.8 结论286
6.12 文本挖掘方法286
6.12.1 文本挖掘简介287
6.12.2 文本摘要288
6.12.3 TF-IDF289
6.12.4 词性标注291
6.12.5 关键字云295
6.12.6 文本分析:Microsoft Cognitive Services295
6.12.7 结论304
6.13 在线机器学习算法304
6.13.1 模糊C均值聚类305
6.13.2 结论308
6.14 构建模型的核对清单308
6.15 小结308
第7章 机器学习模型的评估309
7.1 数据集309
7.1.1 房产售价309
7.1.2 购买偏好311
7.2 模型性能和评估入门312
7.3 模型性能评估的目标313
7.4 总群体的稳定性指数314
7.5 连续型输出的模型评估318
7.5.1 平均绝对误差320
7.5.2 均方根误差321
7.5.3 R2322
7.6 离散型输出的模型评估325
7.6.1 分类矩阵325
7.6.2 灵敏度和特异性329
7.6.3 ROC曲线下的面积330
7.7 概率技术333
7.7.1 K折交叉验证333
7.7.2 自助抽样335
7.8 Kappa误差指标336
7.9 小结339
第8章 模型性能改进340
8.1 Caret组件包概述341
8.2 超参数简介343
8.3 超参数优化345
8.3.1 人工搜索346
8.3.2 人工网格搜索348
8.3.3 自动网格搜索349
8.3.4 最优搜索351
8.3.5 随机搜索353
8.3.6 自定义搜索354
8.4 偏误和方差权衡357
8.5 集成学习简介360
8.5.1 投票集成360
8.5.2 集成学习中的高级方法361
8.6 在R语言里演示集成技术364
8.6.1 装袋树364
8.6.2 决策树的梯度增强366
8.6.3 混合knn和rpart369
8.6.4 利用caretEnsemble进行堆叠370
8.7 高级主题:机器学习模型的贝叶斯优化374
8.8 小结379
第9章 时间序列模型380
9.1 时间序列的组成部分380
9.2 平稳性检验383
9.3 ACF和AR模型386
9.4 PACF和MA模型388
9.5 ARIMA模型391
9.6 具有AR误差的线性回归397
9.7 小结400
第10章 可扩展机器学习和相关技术402
10.1 分布式处理和存储402
10.1.1 GFS403
10.1.2 MapReduce404
10.1.3 R语言里的并行执行404
10.2 Hadoop生态系统407
10.2.1 MapReduce408
10.2.2 Hive411
10.2.3 Apache Pig414
10.2.4 HBase417
10.2.5 Spark418
10.3 在R语言环境下用Spark进行机器学习419
10.3.1 设置环境变量419
10.3.2 初始化Spark会话420
10.3.3 加载数据并运行预处理420
10.3.4 创建SparkDataFrame421
10.3.5 构建机器学习模型421
10.3.6 对测试数据进行预测422
10.3.7 终止SparkR会话423
10.4 在R语言里利用H2O进行机器学习423
10.4.1 安装组件包424
10.4.2 H2O集群的初始化424
10.5 小结425
第11章 用Keras和TensorFlow进行深度学习427
11.1 深度学习简介427
11.2 深度学习架构428
11.2.1 卷积神经网络428
11.2.2 递归神经网络429
11.2.3 生成对抗网络430
11.3 深度学习的工具集431
11.3.1 高级库431
11.3.2 后端引擎或框架431
11.3.3 硬件能力432
11.3.4 编程语言的选择432
11.3.5 云基础架构432
11.4 用例:识别Quora中的重复问题432
11.4.1 环境设置432
11.4.2 数据预处理433
11.4.3 基准模型434
11.4.4 Siamese递归架构435
11.4.5 Keras模型437
11.4.6 模型的摘要437
11.4.7 验证样本438
11.4.8 训练模型438
11.4.9 保存模型439
11.4.10 模型性能439
11.4.11 进行预测440
11.4.12 预测示例440
11.5 小结441



---------------------------高级R语言编程指南---------------------------


推荐序译者序第1章 简介11.1 本书的目标读者21.2 通过本书你可以学到什么21.3 元技术31.4 推荐阅读31.5 获取帮助41.6 致谢41.7 约定51.8 声明5第一部分 基础知识第2章 数据结构82.1 向量92.1.1 原子向量92.1.2 列表112.1.3 练习122.2 属性122.2.1 因子132.2.2 练习152.3 矩阵和数组152.4 数据框172.4.1 数据框构建172.4.2 类型判断与强制转换182.4.3 合并数据框182.4.4 特殊列192.4.5 练习192.5 答案19第3章 子集选取213.1 数据类型223.1.1 原子向量223.1.2 列表233.1.3 矩阵和数组233.1.4 数据框243.1.5 S3对象253.1.6 S4对象253.1.7 练习253.2 子集选取运算符263.2.1 简化与保留263.2.2 $273.2.3 缺失/超出索引边界(越界引用)283.2.4 练习283.3 子集选取与赋值293.4 应用303.4.1 查询表(字符子集选取)303.4.2 人工比对与合并(整数子集选取)303.4.3 随机样本/自助法(整数子集选取) 313.4.4 排序(整数子集选取)313.4.5 展开重复记录(整数子集选取) 323.4.6 剔除数据框中某些列(字符子集选取) 333.4.7 根据条件选取行(逻辑子集选取) 333.4.8 布尔代数与集合(逻辑和整数子集选取) 343.4.9 练习353.5 答案35第4章 常用函数与数据结构364.1 基础函数364.2 常见数据结构374.3 统计函数384.4 使用R394.5 I/O函数39第5章 R编程风格指南405.1 符号和名字405.1.1 文件名405.1.2 对象名405.2 语法415.2.1 空格415.2.2 大括号425.2.3 行的长度425.2.4 缩进425.2.5 赋值435.3 结构43第6章 函数446.1 函数组成部分456.1.1 原函数456.1.2 练习466.2 词法作用域466.2.1 名字屏蔽476.2.2 函数与变量486.2.3 重新开始486.2.4 动态查找496.2.5 练习506.3 每个运算都是一次函数调用506.4 函数参数516.4.1 函数调用526.4.2 使用参数列表来调用函数536.4.3 默认参数和缺失参数536.4.4 惰性求值546.4.5 ...参数566.4.6 练习576.5 特殊调用576.5.1 中缀函数576.5.2 替换函数586.5.3 练习596.6 返回值596.6.1 退出时616.6.2 练习626.7 答案62第7章 面向对象编程指南647.1 基础类型657.2 S3667.2.1 认识对象、泛型函数和方法667.2.2 定义类和创建对象677.2.3 创建新方法和泛型函数697.2.4 方法分派697.2.5 练习717.3 S4717.3.1 识别对象、泛型函数和方法727.3.2 定义类并创建对象737.3.3 创建新方法和泛型函数747.3.4 方法分派747.3.5 练习757.4 RC757.4.1 定义类和创建对象757.4.2 识别类和方法777.4.3 方法分派777.4.4 练习777.5 选择一个系统777.6 答案78第8章 环境798.1 环境基础798.2 环境递归838.3 函数环境858.3.1 封闭环境858.3.2 绑定环境868.3.3 执行环境878.3.4 调用环境888.3.5 练习908.4 绑定名字和数值908.5 显式环境928.5.1 避免复制938.5.2 软件包状态938.5.3 模拟hashmap938.6 答案94第9章 调试、条件处理和防御性编程959.1 调试技巧969.2 调试工具979.2.1 确定调用顺序989.2.2 查看错误999.2.3 查看任意代码1009.2.4 调用栈:traceback()、where和recover()1009.2.5 其他类型的故障1019.3 条件处理1029.3.1 使用try来忽略错误1029.3.2 使用tryCatch()处理条件1039.3.3 withCallingHandlers()1059.3.4 自定义信号类1069.3.5 练习1079.4 防御性编程1079.5 答案109第二部分 函数式编程第10章 函数式编程11210.1 动机11210.2 匿名函数11610.3 闭包11710.3.1 函数工厂11910.3.2 可变状态11910.3.3 练习12010.4 函数列表12010.4.1 将函数列表移到全局环境中12210.4.2 练习12310.5 案例研究:数值积分124第11章 泛函12711.1 第一个泛函:lapply()12811.1.1 循环模式12911.1.2 练习13011.2 for循环泛函:lapply()的相似函数13111.2.1 向量输出:sapply和vapply13111.2.2 多重输入:Map(和mapply)13311.2.3 滚动计算13411.2.4 并行化13511.2.5 练习13611.3 操作矩阵和数据框13711.3.1 矩阵和数组运算13711.3.2 组应用13811.3.3 plyr添加包13911.3.4 练习14011.4 列表操作14011.4.1 Reduce()14011.4.2 判断泛函14111.4.3 练习14111.5 数学泛函14211.6 应该保留的循环14311.6.1 原位修改14311.6.2 递归关系14411.6.3 while循环14411.7 创建一个函数系列145第12章 函数运算符14912.1 行为函数运算符15012.1.1 缓存15212.1.2 捕获函数调用15312.1.3 惰性15512.1.4 练习15512.2 输出函数运算符15612.2.1 简单修饰15612.2.2 改变函数的输出15712.2.3 练习15812.3 输入函数运算符15912.3.1 预填充函数参数:局部函数应用15912.3.2 改变输入类型15912.3.3 练习16012.4 组合函数运算符16112.4.1 函数复合16112.4.2 逻辑判断和布尔代数16312.4.3 练习163第三部分 语言计算第13章 非标准计算16613.1 表达式获取16713.2 在子集中进行非标准计算16813.3 作用域问题17113.4 从其他函数调用17313.5 替换17513.5.1 为替换提供应急方案17713.5.2 捕获未计算的表达式17713.5.3 练习17813.6 非标准计算的缺点178第14章 表达式18014.1 表达式的结构18014.2 名字18314.3 调用18414.3.1 修改调用18514.3.2 根据调用的元素来创建调用18614.3.3 练习18614.4 捕获当前调用18714.5 成对列表18914.6 解析与逆解析19114.7 使用递归函数遍历抽象语法树19214.7.1 寻找F和T19314.7.2 寻找通过赋值创建的所有变量19414.7.3 修改调用树19714.7.4 练习198第15章 领域特定语言20015.1 HTML20015.1.1 目标20115.1.2 转义20215.1.3 基本标签函数20315.1.4 标签函数20415.1.5 处理所有标签20515.1.6 练习20615.2 LaTeX20615.2.1 LaTeX 数学20615.2.2 目标20715.2.3 to_math20715.2.4 已知符号20715.2.5 未知符号20815.2.6 已知函数20915.2.7 未知函数21015.2.8 练习211第四部分 性能第16章 性能21416.1 R为什么速度慢21416.2 微测试21516.3 语言性能21616.3.1 极端动态性21616.3.2 可变环境下的名字搜索21816.3.3 惰性求值开销21916.3.4 练习21916.4 实现的性能22016.4.1 从数据框提取单一值22016.4.2 ifelse()、pmin()和pmax()22016.4.3 练习22216.5 其他的R实现222第17章 代码优化22517.1 性能测试22617.2 改进性能22917.3 组织代码22917.4 有人已经解决了这个问题吗23017.5 尽可能少做23117.6 向量化23617.7 避免复制23717.8 字节码编译23817.9 案例研究:t检验23817.10 并行化24017.11 其他技术241第18章 内存24318.1 对象大小24318.2 内存使用与垃圾回收24618.3 使用lineprof对内存进行性能分析24818.4 原地修改25018.4.1 循环25218.4.2 练习253第19章 使用Rcpp编写高性能函数25419.1 开始使用C++25519.1.1 没有输入,标量输出25619.1.2 标量输入,标量输出25619.1.3 向量输入,标量输出25719.1.4 向量输入,向量输出25819.1.5 矩阵输入,向量输出25819.1.6 使用sourceCpp25919.1.7 练习26019.2 属性和其他类26119.2.1 列表和数据框26219.2.2 函数26219.2.3 其他类型26319.3 缺失值26319.3.1 标量26319.3.2 字符串26519.3.3 布尔型26519.3.4 向量26519.3.5 练习26619.4 Rcpp 语法糖26619.4.1 算术和逻辑运算符26619.4.2 逻辑总结函数26719.4.3 向量视图26719.4.4 其他有用的函数26719.5 STL26819.5.1 使用迭代器26819.5.2 算法26919.5.3 数据结构27019.5.4 向量27019.5.5 集合27119.5.6 图27219.5.7 练习27219.6 案例研究27219.6.1 Gibbs采样器27319.6.2 R向量化与C++向量化27419.7 在添加包中应用Rcpp27519.8 更多学习资源27619.9 致谢277第20章 R的C接口27820.1 从R中调用C函数27920.2 C数据结构28020.3 创建和修改向量28120.3.1 创建向量和垃圾回收28120.3.2 缺失值和非有限值28220.3.3 访问向量数据28320.3.4 字符向量和列表28420.3.5 修改输入28420.3.6 强制转换标量28520.3.7 长向量28520.4 成对列表28620.5 输入验证28720.6 寻找一个函数的C源代码289索引292



有问题微信扫码联系

推荐

Understand China
桂ICP备20004708号-4