编辑推荐

★数据科学流程概览,并通过Julia实现一个示例,说明了其中的关键点。
★JuliaIDE的选择。
★程序结构与函数。
★数据工程中的任务,如数据导入、数据清理、数据格式化和数据存储,以及如何执行数据预处理。
★数据可视化,以及一些简单但非常强大的用来进行数据探索的方法。
★数据降维和特征评价。
★各种机器学习方法,从非监督式学习(不同类型的聚类方法)到监督式学习(决策树、随机森林、
基础神经网络、回归树和极限学习机)。
★图分析,包括找出不同实体之间的联系以及如何对其进行挖掘以获取有用的知识。
Julia数据科学应用》主要内容包括:
Julia数据科学应用》的目标是教你如何使用Julia语言来应对现实世界中数据科学的艰巨挑战。在介绍了Julia对于数据科学社区的重要性和若干数据科学基本准则之后,《Julia数据科学应用》讲解了Julia基础知识,包括如何安装Julia及其功能强大的程序库。《Julia数据科学应用》通过丰富的示例展示了如何使用Julia命令、数据集和函数。
Julia数据科学应用》介绍并描述了专用的脚本和软件包。针对在数据科学流程中经常会遇到的问题,《Julia数据科学应用》提供了有代表性的实用示例,并引导你通过Julia使用公开的数据集来解决这些问题。在很多情况下,使用现成的软件包和内置函数就可以完成任务。
Julia数据科学应用》每一章都包括一些思考题和练习,来帮助你加强学习效果,指导你使用Julia从头开始创建一个数据科学应用。

内容简介

数据科学通过各种统计学和机器学习的技术与方法,将数据转换为有用的信息或知识。Julia是一种在数据科学领域逐渐流行起来的语言。
《Julia数据科学应用》会提出一系列在数据科学流程中常见的、有代表性的实际问题,并指导读者使用Julia去解决这些问题。《Julia数据科学应用》共13章,涵盖了Julia基础知识、工作环境搭建、语言基础和高级内容、数据科学应用、数据可视化、机器学习方法(包括无监督式学习方法和监督式学习方法)、图分析方法等重要的话题。附录部分给出了学习和使用Julia的一些有用的参考资料,还给出了各章的思考题的答案。
Julia数据科学应用》适合对数据科学的知识和应用方法感兴趣的读者阅读,特别适合有志于学习Julia并从事数据科学相关工作的人员学习参考。

作者简介

ZachariasVoulgaris博士出生于希腊雅典。他就读于克里特理工大学生产工程与管理专业,后转而学习计算机科学,在伦敦城市大学获得了信息系统与技术的硕士学位,此后,又研究数据科学,在伦敦大学获得了机器学习博士学位。他曾经在佐治亚理工大学工作并任研究员,他还担任过SEO经理、数据科学家,还做过Microsoft公司的程序经理,负责Bing的数据分析流程。除了数据科学,他对新技术、文学和音乐抱有浓厚的兴趣。

目录

第1章Julia简介1
1.1Julia如何提高数据科学水平2
1.1.1数据科学工作流程3
1.1.2Julia被数据科学社区接受的过程5
1.2Julia扩展6
1.2.1包的质量6
1.2.2找到新的包6
1.3关于《Julia数据科学应用》7
第2章建立数据科学工作环境9
2.1JuliaIDE9
2.1.1Juno10
2.1.2IJulia11
2.1.3其他IDE12
2.2Julia扩展包13
2.2.1找到并选择扩展包13
2.2.2安装扩展包14
2.2.3使用扩展包15
2.2.4破解扩展包16
2.3IJulia基础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.1print()和println()46
3.4.2typemax()和typemin()46
3.4.3collect()47
3.4.4show()47
3.4.5linspace()48
3.5数学函数48
3.5.1round()48
3.5.2rand()和randn()49
3.5.3sum()52
3.5.4mean()53
3.6数组与字典函数53
3.6.1in53
3.6.2append!()54
3.6.3pop!()54
3.6.4push!()55
3.6.5splice!()55
3.6.6insert!()56
3.6.7sort()和sort!()57
3.6.8get()57
3.6.9keys()和values()58
3.6.10length()和size()58
3.7其他函数59
3.7.1time()59
3.7.2条件语句59
3.7.3string()61
3.7.4map()62
3.7.5versioin()62
3.8运算符、循环语句与条件语句62
3.8.1运算符63
3.8.2循环语句64
3.8.3break命令66
3.9小结66
3.10思考题67
第4章Julia进阶68
4.1字符串处理68
4.1.1split()69
4.1.2join()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.5KRUSKAL-WALLIS检验147
7.4.6T-检验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中使用PCA162
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.4F1指标181
9.2.5误判成本181
9.2.6受试者工作特征(ROC)曲线及相关指标182
9.3回归问题的性能指标185
9.3.1MSE及其变种RMSE186
9.3.2SSE187
9.3.3其他指标187
9.4K折交叉验证(KFCV)188
9.4.1在Julia中应用KFCV189
9.4.2KFCV小提示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.1DBSCAN算法199
10.3.2在Julia中应用DBSCAN200
10.4层次聚类201
10.4.1在Julia中使用层次聚类201
10.4.2何时使用层次聚类203
10.5聚类的验证方式203
10.5.1Silhouettes203
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中使用ELM224
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中实现MST249
12.8.2用文件保存和加载图250
12.9Julia在图分析中的作用251
12.10小结252
12.11思考题254
第13章更上一层楼255
13.1Julia社区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.3Julia在数据科学中的未来262
附录A下载安装Julia与IJulia264
附录B与Julia相关的一些常用站点266
附录C《Julia数据科学应用》所用的扩展包268
附录DJulia与其他平台的集成269
D.1Julia与R的集成269
D.1.1在R中运行Julia脚本269
D.1.2在Julia中运行R脚本270
D.2Julia与Python的集成270
D.2.1在Python中运行Julia脚本270
D.2.2在Julia中运行Python脚本271
附录EJulia中的并行处理272
附录F各章思考题答案275

其他推荐