编辑推荐
★ 数据科学流程概览,并通过Julia实现一个示例,说明了其中的关键点。
★ Julia IDE的选择。
★ 程序结构与函数。
★ 数据工程中的任务,如数据导入、数据清理、数据格式化和数据存储,以及如何执行数据预处理。
★ 数据可视化,以及一些简单但非常强大的用来进行数据探索的方法。
★ 数据降维和特征评价。
★ 各种机器学习方法,从非监督式学习(不同类型的聚类方法)到监督式学习(决策树、随机森林、
基础神经网络、回归树和极限学习机)。
★ 图分析,包括找出不同实体之间的联系以及如何对其进行挖掘以获取有用的知识。
本书主要内容包括:
本书的目标是教你如何使用Julia语言来应对现实世界中数据科学的艰巨挑战。在介绍了Julia对于数据科学社区的重要性和若干数据科学基本准则之后,本书讲解了Julia基础知识,包括如何安装Julia及其功能强大的程序库。本书通过丰富的示例展示了如何使用Julia命令、数据集和函数。
本书介绍并描述了专用的脚本和软件包。针对在数据科学流程中经常会遇到的问题,本书提供了有代表性的实用示例,并引导你通过Julia使用公开的数据集来解决这些问题。在很多情况下,使用现成的软件包和内置函数就可以完成任务。
本书每一章都包括一些思考题和练习,来帮助你加强学习效果,指导你使用Julia从头开始创建一个数据科学应用。
内容简介
数据科学通过各种统计学和机器学习的技术与方法,将数据转换为有用的信息或知识。Julia是一种在数据科学领域逐渐流行起来的语言。
《Julia数据科学应用》会提出一系列在数据科学流程中常见的、有代表性的实际问题,并指导读者使用Julia去解决这些问题。全书共13章,涵盖了Julia基础知识、工作环境搭建、语言基础和高 级内容、数据科学应用、数据可视化、机器学习方法(包括无监督式学习方法和监督式学习方法)、图分析方法等重要的话题。附录部分给出了学习和使用Julia的一些有用的参考资料,还给出了各章的思考题的答案。
本书适合对数据科学的知识和应用方法感兴趣的读者阅读,特别适合有志于学习Julia并从事数据科学相关工作的人员学习参考。
作者简介
Zacharias Voulgaris博士出生于希腊雅典。他就读于克里特理工大学生产工程与管理专业,后转而学习计算机科学,在伦敦城市大学获得了信息系统与技术的硕士学位,此后,又研究数据科学,在伦敦大学获得了机器学习博士学位。他曾经在佐治亚理工大学工作并任研究员,他还担任过SEO经理、数据科学家,还做过Microsoft公司的程序经理,负责Bing的数据分析流程。除了数据科学,他对新技术、文学和音乐抱有浓厚的兴趣。
目录
第 1章 Julia简介 1
1.1 Julia如何提高数据科学水平 2
1.1.1 数据科学工作流程 3
1.1.2 Julia被数据科学社区接受的过程 5
1.2 Julia 扩展 6
1.2.1 包的质量 6
1.2.2 找到新的包 6
1.3 关于本书 7
第 2章 建立数据科学工作环境 9
2.1 Julia IDE 9
2.1.1 Juno 10
2.1.2 IJulia 11
2.1.3 其他IDE 12
2.2 Julia扩展包 13
2.2.1 找到并选择扩展包 13
2.2.2 安装扩展包 14
2.2.3 使用扩展包 15
2.2.4 破解扩展包 16
2.3 IJulia基础 16
2.3.1 文件处理 16
2.3.2 在.jl文件中组织代码 19
2.3.3 引用代码 20
2.3.4 工作目录 20
2.4 要使用的数据集 21
2.4.1 数据集描述 21
2.4.2 下载数据集 23
2.4.3 加载数据集 24
2.5 在Julia中实现一个简单的机器学习算法 25
2.5.1 算法描述 26
2.5.2 算法实现 27
2.5.3 算法测试 30
2.6 将工作区保存到数据文件 32
2.6.1 将数据保存为分隔值文件 32
2.6.2 将数据保存为Julia数据文件 33
2.6.3 将数据保存为文本文件 35
2.7 帮助 36
2.8 小结 36
2.9 思考题 37
第3章 Julia入门 39
3.1 数据类型 39
3.2 数组 42
3.2.1 数组基础 42
3.2.2 在数组中引用多个元素 43
3.2.3 多维数组 44
3.3 字典 44
3.4 基本命令与函数 45
3.4.1 print()和println() 46
3.4.2 typemax()和typemin() 46
3.4.3 collect() 47
3.4.4 show() 47
3.4.5 linspace() 48
3.5 数学函数 48
3.5.1 round() 48
3.5.2 rand()和randn() 49
3.5.3 sum() 52
3.5.4 mean() 53
3.6 数组与字典函数 53
3.6.1 in 53
3.6.2 append!() 54
3.6.3 pop!() 54
3.6.4 push!() 55
3.6.5 splice!() 55
3.6.6 insert!() 56
3.6.7 sort()和sort!() 57
3.6.8 get() 57
3.6.9 keys()和values() 58
3.6.10 length()和size() 58
3.7 其他函数 59
3.7.1 time() 59
3.7.2 条件语句 59
3.7.3 string() 61
3.7.4 map() 62
3.7.5 versioin() 62
3.8 运算符、循环语句与条件语句 62
3.8.1 运算符 63
3.8.2 循环语句 64
3.8.3 break命令 66
3.9 小结 66
3.10 思考题 67
第4章 Julia进阶 68
4.1 字符串处理 68
4.1.1 split() 69
4.1.2 join() 70
4.1.3 正则表达式函数 70
4.2 定制函数 74
4.2.1 函数结构 74
4.2.2 匿名函数 75
4.2.3 多分派 75
4.2.4 函数示例 76
4.3 实现简单算法 77
4.4 创建完整解决方案 79
4.5 小结 83
4.6 思考题 84
第5章 Julia数据科学应用概述 85
5.1 数据科学工作流程 85
5.2 数据工程 88
5.2.1 数据准备 88
5.2.2 数据探索 90
5.2.3 数据表示 92
5.3 数据建模 93
5.3.1 数据发现 93
5.3.2 数据学习 94
5.4 信息萃取 96
5.4.1 数据产品创建 96
5.4.2 知识、交付物与可视化产品 97
5.5 保持开放型思维 99
5.6 在实际问题中应用数据科学流程 99
5.6.1 数据准备 99
5.6.2 数据探索 100
5.6.3 数据表示 101
5.6.4 数据发现 101
5.6.5 数据学习 102
5.6.6 数据产品创建 102
5.6.7 知识、交付物和可视化产品 103
5.7 小结 103
5.8 思考题 105
第6章 Julia数据工程 106
6.1 数据框 106
6.1.1 创建并填充数据框 107
6.1.2 数据框基础 108
6.1.3 引用数据框中的特定变量 109
6.1.4 探索数据框 109
6.1.5 筛选数据框 110
6.1.6 在数据框变量上应用函数 111
6.1.7 使用数据框进行工作 111
6.1.8 修改数据框 113
6.1.9 对数据框的内容进行排序 113
6.1.10 数据框的一些补充建议 114
6.2 导入与导出数据 115
6.2.1 使用.json数据文件 115
6.2.2 保存数据到.json文件 115
6.2.3 将数据文件加载到数据框 116
6.2.4 保存数据框到数据文件 116
6.3 数据清洗 117
6.3.1 数值型数据的清洗 117
6.3.2 文本型数据的清洗 118
6.4 数据格式化与转换 119
6.4.1 数值型数据的格式化 119
6.4.2 文本数据的格式化 119
6.4.3 数据类型的重要性 120
6.5 对数值型数据进行转换 120
6.5.1 标准化 121
6.5.2 离散化(分箱)与二值化 122
6.5.3 二值变量转换为连续型变量(仅对于二值分类问题) 123
6.5.4 文本数据转换 124
6.5.5 大小写标准化 124
6.5.6 向量化 124
6.6 初步的特征评价 126
6.6.1 回归 126
6.6.2 分类 126
6.6.3 特征评价补充说明 127
6.7 小结 128
6.8 思考题 129
第7章 探索数据集 130
7.1 倾听数据 130
本章要使用的扩展包 131
7.2 计算基本统计量和相关性 131
7.2.1 变量概要 133
7.2.2 变量之间的相关性 134
7.2.3 两个变量之间的可比性 136
7.3 绘制统计图 136
7.3.1 图形语法 137
7.3.2 为可视化准备数据 137
7.3.3 箱线图 138
7.3.4 条形图 138
7.3.5 折线图 139
7.3.6 散点图 140
7.3.7 直方图 143
7.3.8 导出统计图到文件 144
7.4 假设检验 145
7.4.1 检验的基础知识 145
7.4.2 错误类型 146
7.4.3 灵敏度与特异度 146
7.4.4 显著性水平与检验力 146
7.4.5 KRUSKAL-WALLIS检验 147
7.4.6 T-检验 147
7.4.7 卡方检验 149
7.5 其他检验 151
7.6 统计检验附加说明 151
7.7 案例研究:探索OnlineNewsPopularity数据集 151
7.7.1 变量统计 152
7.7.2 可视化 153
7.7.3 假设 154
7.7.4 奇妙的T-SNE方法 155
7.7.5 结论 156
7.8 小结 156
7.9 思考题 159
第8章 构建数据空间 160
8.1 主成分分析 161
8.1.1 在Julia中使用PCA 162
8.1.2 独立成分分析:主成分分析的常用替代方法 164
8.2 特征评价与选择 165
8.2.1 方法论概述 165
8.2.2 在Julia中使用余弦相似度进行特征评价与选择 166
8.2.3 在Julia中使用DID进行特征评价与选择 168
8.2.4 特征评价与选择方法的优缺点 170
8.3 其他数据降维技术 170
8.3.1 其他降维方法概述 171
8.3.2 何时使用高 级降维方法 172
8.4 小结 172
8.5 思考题 173
第9章 数据抽样与结果评价 175
9.1 抽样技术 175
9.1.1 基本抽样 176
9.1.2 分层抽样 176
9.2 分类问题的性能指标 177
9.2.1 混淆矩阵 177
9.2.2 准确度 178
9.2.3 精 确度与召回度 180
9.2.4 F1指标 181
9.2.5 误判成本 181
9.2.6 受试者工作特征(ROC)曲线及相关指标 182
9.3 回归问题的性能指标 185
9.3.1 MSE及其变种RMSE 186
9.3.2 SSE 187
9.3.3 其他指标 187
9.4 K折交叉验证(KFCV) 188
9.4.1 在Julia中应用KFCV 189
9.4.2 KFCV小提示 189
9.5 小结 190
9.6 思考题 192
第 10章 无监督式机器学习 193
10.1 无监督式学习基础知识 193
10.1.1 聚类的类型 194
10.1.2 距离的度量 195
10.2 使用K-均值算法分组数据 196
10.2.1 使用Julia实现K-均值聚类 197
10.2.2 对K-均值算法的使用建议 198
10.3 密度和DBSCAN算法 199
10.3.1 DBSCAN算法 199
10.3.2 在Julia中应用DBSCAN 200
10.4 层次聚类 201
10.4.1 在Julia中使用层次聚类 201
10.4.2 何时使用层次聚类 203
10.5 聚类的验证方式 203
10.5.1 Silhouettes 203
10.5.2 关于聚类验证的一些建议 204
10.6 关于有效进行聚类的一些建议 204
10.6.1 处理高维数据 205
10.6.2 标准化 205
10.6.3 可视化建议 205
10.7 小结 206
10.8 思考题 207
第 11章 监督式机器学习 209
11.1 决策树 210
11.1.1 在Julia中使用决策树 211
11.1.2 关于决策树的一些建议 214
11.2 回归树 214
11.2.1 在Julia中实现回归树 215
11.2.2 关于回归树的一些建议 216
11.3 随机森林 216
11.3.1 在Julia中使用随机森林进行分类 216
11.3.2 在Julia中使用随机森林进行回归 218
11.3.3 关于随机森林的一些建议 219
11.4 基本神经网络 220
11.4.1 在Julia中使用神经网络 221
11.4.2 关于神经网络的一些建议 223
11.5 极限学习机 224
11.5.1 在Julia中使用ELM 224
11.5.2 关于ELM的一些建议 226
11.6 用于回归分析的统计模型 227
11.6.1 在Julia中使用统计回归 227
11.6.2 关于统计回归的一些建议 230
11.7 其他监督式学习系统 230
11.7.1 提升树 230
11.7.2 支持向量机 230
11.7.3 直推式系统 231
11.7.4 深度学习系统 232
11.7.5 贝叶斯网络 232
11.8 小结 233
11.9 本章思考题 235
第 12章 图分析 236
12.1 图的重要性 237
12.2 定制数据集 239
12.3 图的统计量 240
12.4 环的检测 242
用Julia检测环 243
12.5 连通子图 244
12.6 团 245
12.7 图的路径 246
12.8 生成树 248
12.8.1 在Julia中实现MST 249
12.8.2 用文件保存和加载图 250
12.9 Julia在图分析中的作用 251
12.10 小结 252
12.11 思考题 254
第 13章 更上一层楼 255
13.1 Julia社区 255
13.1.1 与其他Julia用户进行交流 255
13.1.2 代码库 256
13.1.3 视频文件 256
13.1.4 新闻 257
13.2 学以致用 257
13.2.1 从这些特征开始 258
13.2.2 关于这个项目的一些思考 259
13.3 在数据科学中使用Julia的思考 260
13.3.1 不断提高Julia编程水平 260
13.3.2 贡献Julia项目 261
13.3.3 Julia在数据科学中的未来 262
附录A 下载安装Julia与IJulia 264
附录B 与Julia相关的一些常用站点 266
附录C 本书所用的扩展包 268
附录D Julia与其他平台的集成 269
D.1 Julia与R的集成 269
D.1.1 在R中运行Julia脚本 269
D.1.2 在Julia中运行R脚本 270
D.2 Julia与Python的集成 270
D.2.1 在Python中运行Julia脚本 270
D.2.2 在Julia中运行Python脚本 271
附录E Julia中的并行处理 272
附录F 各章思考题答案 275
Julia数据科学应用 下载 mobi epub pdf txt 电子书 格式