新書推薦:
《
算法经济 : 商业逻辑与人类生活的智能演进(生动呈现AI与算法的创新应用与商业价值)
》
售價:NT$
359.0
《
家书中的百年史
》
售價:NT$
359.0
《
偏爱月亮
》
售價:NT$
207.0
《
生物安全与环境
》
售價:NT$
255.0
《
泥土:文明的侵蚀(城市与生态文明丛书)
》
售價:NT$
380.0
《
医用化学(第三版)
》
售價:NT$
259.0
《
别怕,试一试
》
售價:NT$
307.0
《
人才基因(凝聚30年人才培育经验与智慧)
》
售價:NT$
468.0
|
編輯推薦: |
执利器而守重镇Python*强大的领域在数据科学
窥全貌而知路径整合Linux|Python|SQL|Hadoop|Hive|Spark|数据挖掘|机器学习|深度学习
知原理而致应用全栈数据既指数据技术,也指业务数据,生产环境是*终的检验场。
立平台而生数据建设强大数据平台,是支撑产品也业务的必由之路。
|
內容簡介: |
本书以数据分析领域*热的Python语言为主要线索,介绍了数据分析库numpy、Pandas与机器学习库scikit-learn,使用了可视化环境Orange 3来理解算法的一些细节。对于机器学习,既有常用算法KNN与Kmeans的应用,决策树与*森林的实战,还涉及常用特征工程与深度学习中的自动编程器。在大数据Hadoop与Hive环境的基础之上,使用Spark的MLMLlib库集成了前面的各部分内容,让分布式机器学习更容易。大量的工具与技能实战的介绍将各部分融合成一个全栈的数据科学内容。
|
關於作者: |
作者一直工作在数据处理与数据挖掘的第一线,具有丰富的理论知识和实践经验,且精通多种数据挖掘与分析的工具的使用,文笔也不错,相信能为读者奉献一本质量上乘的佳作。
|
目錄:
|
目录
前言 自强不息,厚德载物 XIX
0x1 Linux,自由之光 001
0x10 Linux,你是我的眼 001
0x11 Linux基础,从零开始 003
01 Linux之门 003
02 文件操作 004
03 权限管理 006
04 软件安装 008
05 实战经验 010
0x12 Sed与 Grep,文本处理 010
01 文本工具 010
02 grep的使用 011
03 grep家族 013
04 sed的使用 014
05 综合案例 016
0x13 数据工程,必备 Shell 018
01 Shell分析 018
02 文件探索 019
03 内容探索 020
04 交差并补 020
05 其他常用的命令 021
06 批量操作 022
07 结语 025
0x14 Shell 快捷键,Emacs 之门 025
01 提高效率 025
02 光标移动 026
03 文本编辑 027
04 命令搜索 028
05 Emacs 入门 029
06 Emacs 思维 031
0x15 缘起Linux,一入Mac 误终身 032
01 开源生万物 032
02 有钱就换Mac 032
03 程序员需求 033
04 非程序员需求 034
05 一入Mac 误终身 035
0x16 大成就者,集群安装 036
01 离线安装 036
02 Host 与SSH 配置 037
03 sudo 与JDK 环境 039
04 准备Hadoop 包 040
05 开启HTTP 与配置源 041
06 安装ambari-server 041
07 后续服务安装 042
08 结语 044
0x2 Python,道法自然 045
0x20 Python,灵犀一指 045
0x21 Python 基础,兴趣为王 047
01 第一语言 047
02 数据结构 047
03 文件读写 049
04 使用模块 050
05 函数式编程 052
06 一道面试题 053
07 兴趣驱动 055
0x22 喜新厌旧,2迁移 3 056
01 新旧交替 056
02 基础变化 057
03 编码问题 058
04 其他变化 058
05 2to3脚本 060
06 PySpark配置 061
07 喜新厌旧 062
0x23 Anaconda,IPython 062
01 Anaconda 062
02 安装与配置 063
03 pip与源 064
04 IPython与 Jupyter 065
05 结语 067
0x24 美不胜收,Python工具 067
01 缘起 067
02 调试与开发 068
03 排版与格式化 070
04 辅助工具 072
05 实用推荐 074
0x25 numpy基础,线性代数 075
01 numpy的使用 075
02 索引与切片 076
03 变形与统计 078
04 矩阵运算 080
05 实用方法 083
06 结语 085
0x26 numpy实战,PCA降维 085
01 PCA介绍 085
02 数据均值化 086
03 协方差矩阵 087
04 特征值与向量 088
05 数据映射降维 089
06 sklearn 实现 090
0x3 大数据,其大无外 093
0x30 太大数据,极生两仪 093
0x31 神象住世,Hadoop 095
01 Hadoop 095
02 HDFS 096
03 角色与管理 097
04 文件操作 098
05 结语 100
0x32 分治之美,MapReduce 100
01 map 与reduce 函数 100
02 分而治之 102
03 Hello,World 103
04 Streaming 接口 105
0x33 Hive 基础,蜂巢与仓库 106
01 引言 106
02 Hive 接口 107
03 分区建表 108
04 分区机制 110
05 数据导入 导出 111
06 Hive-QL 112
07 结语 114
0x34 Hive 深入,实战经验 115
01 排序与分布式 115
02 多表插入与mapjoin 116
03 加载map-reduce 脚本 117
04 使用第三方UDF 119
05 实战经验 120
06 生成唯一ID 121
0x35 HBase库,实时业务 122
01 理论基础 122 02 Shell操作 123 03 关联 Hive表 126 04 数据导入 128 05 实用经验 130
0x36 SQL与 NoSQL,Sqoop为媒 130
01 SQL与 NOSQL 130 02 从 MySQL导入 HDFS 131 03 增量导入 134 04 映射到 Hive 135 05 导入 Hive表 136 06 从 HDFS导出到 MySQL 137 07 从 Hive导出到 MySQL 138
0x4 数据分析,见微知著 141
0x40 大数据分析,鲁班为祖师 141 0x41 SQL技能,必备 MySQL 143
01 SQL工具 143 02 基础操作 144 03 查询套路 145 04 join查询 146 05 union与 exists 149 06 实战经验 151
0x42 快刀 awk,斩乱数据 152
01 快刀 152 02 一二三要点 152 03 一个示例 154 04 应用与统计 154 05 斩乱麻 156
0x43 Pandas,数据之框 157
01 数据为框 157
02 加载数据 158
03 行列索引 159
04 行列操作 161
05 合并聚合 163
06 迭代数据 164
07 结语 165
0x44 Zeppelin,一统江湖 166
01 心潮澎湃 166
02 基本使用 168
03 SQL 与可视化 169
04 安装Zeppelin 172
05 配置Zeppelin 173
06 数据安全 174
07 使用心得 176
0x45 数据分组,聚合窗口 177
01 MySQL 聚合 177
02 Spark 聚合 178
03 非聚合字段 179
04 Hive 实现 180
05 group_concat 181
06 Hive 窗口函数 183
07 DataFrame 窗口 184
08 结语 185
0x46 全栈分析,六层内功 186
01 引言 186
02 MySQL 版本 186
03 awk 版本 187
04 Python 版本 188
05 Hive 版本 189
06 map-reduce 版本 190
07 Spark 版本 190
08 结语 191
0x5 机器学习,人类失控 193
0x50 机器学习,琅琊论断 193 0x51 酸酸甜甜,Orange 195
01 可视化学习 195 02 数据探索 196 03 模型与评估 199 04 组件介绍 200 05 与 Python进行整合 202 06 结语 204
0x52 sklearn,机器学习 205
01 sklearn介绍 205 02 数据预处理 206 03 建模与预测 207 04 模型评估 209 05 模型持久化 210 06 三个层次 210
0x53 特征转换,量纲伸缩 211
01 特征工程 211 02 独热编码 212 03 sklearn示例 213 04 标准化与归一化 215 05 sklearn与 Spark实现 216 06 结语 219
0x54 描述统计,基础指标 220
01 描述性统计 220 02 Pandas实现 222 03 方差与协方差 223 04 Spark-RDD实现 224 05 DataFrame实现 226 06 Spark-SQL实现 227 07 结语 227
0x55 模型评估,交叉验证 228
01 测试与训练 228
02 评价指标 229
03 交叉验证 231
04 验证数据 232
05 OOB 数据 233
0x56 文本特征,词袋模型 234
01 自然语言 234
02 中文分词 235
03 词袋模型 236
04 词频统计 237
05 TF-IDF 238
06 结语 239
0x6 算法预测,占天卜地 241
0x60 命由己做,福自己求 241
0x61 近朱者赤,相亲kNN 243
01 朴素的思想 243
02 算法介绍 243
03 分类与回归 244
04 k 与半径 245
05 优化计算 246
06 实例应用 247
0x62 物以类聚,Kmeans 248
01 算法描述 248
02 建立模型 249
03 理解模型 251
04 距离与相似性 252
05 降维与可视化 253
06 无监督学习 255
0x63 很傻很天真,朴素贝叶斯 257
01 朴素思想 257
02 概率公式 257
03 三种实现 258
04 sklearn 示例 260
05 朴素却不傻 262
0x64 菩提之树,决策姻缘 263
01 缘起 263 02 Orange演示 264 03 scikit-learn模拟 266 04 熵与基尼指数 267 05 决策过程分析 268 06 Spark模拟 270 07 结语 271
0x65 随机之美,随机森林 271
01 树与森林 271 02 处处随机 273 03 sklearn示例 274 04 MLlib示例 275 05 特点与应用 276
0x66 自编码器,深度之门 277
01 深度学习 277 02 特征学习 278 03 自动编码器 280 04 Keras代码 282 05 抗噪编码器 283
0x7 Spark,唯快不破 285
0x70 人生苦短,快用 Spark 285 0x71 PySpark之门,强者联盟 287
01 全栈框架 287 02 环境搭建 288 03 分布式部署 289 04 示例分析 290 05 两类算子 292 06 map与 reduce 293 07 AMPLab的野心 294
0x72 RDD 算子,计算之魂 295
01 算子之道 295
02 获取数据 296
03 过滤与排序 297
04 聚合数据 298
05 join 连接 299
06 union 与zip 300
07 读写文件 301
08 结语 303
0x73 分布式SQL,蝶恋飞舞 304
01 SQL 工具 304
02 命令行CLI 304
03 读Hive 数据 305
04 将结果写入Hive 306
05 读写MySQL 数据 307
06 读写三种文件 308
0x74 DataFrame,三角之恋 310
01 DataFrame 310
02 生成数据框 311
03 合并与join 313
04 select 操作 314
05 SQL 操作 315
06 自定义UDF 316
07 三角之恋 318
0x75 神器之父,Scala 入世 319
01 Spark 与Scala 319
02 Scala REPL 320
03 编译Scala 321
04 sbt 编译 322
05 示例分析 323
06 编译提交 325
0x76 机器之心,ML 套路 326
01 城市套路深 326
02 算法与特征工程 327 03 管道工作流 328 04 OneHotEncoder示例 329 05 ML回归实战 331 06 特征处理与算法 332 07 拟合与评估 334
0x8 数据科学,全栈智慧 337
0x80 才高八斗,共分天下 337 0x81 自学数据,神蟒领舞 339
01 机器学习 339 02 语言领域 339 03 Python数据生态 340 04 相关资料 341 05 书籍推荐 342 06 性感的职业 343
0x82 数据科学,七大技能 343
01 七大技能 343 02 SQL与 NoSQL技能 344 03 Linux工具集 344 04 Python或者 R语言生态 345 05 Hadoop与 Spark生态 345 06 概率、统计与线性代数 34
|
內容試閱:
|
0x00 自序
慈悲为怀大数据,云中仙游戒为师。这是自己从几年前一直沿用到现在的签名,几年之后的今天,再来体会这句话,不一样的处境,不一样的心境,却依然有着同样的追求。曾想出世修行,渴望每日有高山流水相伴,能过着青灯古佛的生活。终因现实残酷只得入世而求存,在多少次碌碌无为中坚定了技术这条路。技术之路,注定会一波三折。在下也经历了从安全测试、安全分析,到大数据分析,再到 APP后端开发,直至数据分析、机器学习与深度学习之后,技术之栈才得以完全确立。技术之路漫长而曲折,需要不断修行,目前我也仅仅是入得门内,自此方有机会窥探神秘数据世界之一二而已。少年不识愁滋味,为赋新词强说愁。而今识尽愁滋味,却道天凉好个秋。学无止境。曾经以为学会 Linux便够了,殊不知,这仅仅是系统的基础;后来学了 Python,以为这便是编程的全部;殊不知, Python最强大的领域在数据科学;直到接触大数据与机器学习,才发现,原来种种际遇,都只是为数据科学而铺设的套路。
本书并非从入门到精通的讲解,只是想通过浅显易懂的语言让读者了解全栈数据的全貌。阅读本书时,如果其中某个知识点,让你入了门,我甚感欣慰;如果其中某节内容,让你得到了提高,我备受鼓舞。另外,入门之路千千万,用时下流行的话来说,只希望本书不会导致你从入门到放弃。
全栈数据,主要想尽可能多地涉及数据科学中的主题。任何复杂的技术,都是一点点积累起来的,数据科学也不例外。如果能将本书中涉及的全栈数据技术,如 Linux、Python、SQL、Hadoop、Hive、Spark、数据挖掘、机器学习与深度学习进行系统性整合,则全栈数据之技可成也。
诗词歌赋,是诗人与词人对人生的情感寄托;技术写作,也是技术人员对技术的情感寄托。
然术业有专攻,每个人的知识都是有限的,写书的目的,并非要证明自己,而是把自己所知所想记录下来,让读者能有哪怕一小点的收获即可。
全栈并非全能,钱都不是万能的,何况技术乎?在数据领域,都懂一点,生活会更美好。
全栈是一种修行,数据技术如此,人生亦如是:
阅读本书,不能让你立刻走上人生巅峰、出任 CEO但至少可以达到以下几点:
本书是一本无固定主题的技术文集合体,围绕数据这个主线,进行了大量的展开,从不同的侧面去靠近全栈数据技能,去靠近数据科学这个大主题。因内容宽泛,且作者水平有限,不足之处甚多,若读者发现书中的问题,还望不吝指正。可以通过我的微信公众号 yunjie-talk反馈问题,我将不胜感激。
最后,本书得以成册出版,必须要感谢电子工业出版社计算机出版分社的张春雨老师,伯乐张老师于杂乱文字中,发现了闪光之处,促成了本书的问世。世人皆说本书体裁太乱,无章法可言,唯张伯乐以无招胜有招接下,众皆信服。
本书在写作过程中,得益于爱妻梁玉霞女士的大力支持,常于深夜端茶倒水,询问进度,并且照顾家庭与小孩,让我可以抽出大量时间来书写,感激之情在心,在此道谢。与此同时,也感谢全力支持我写作的父母,他们帮忙照顾小孩与生活,对我学业、事业与写作的支持,让我感恩。
另外,本书在写作过程中,得到好友司旭鹏的很多支持与建议,在初稿审校过程中,得到好友尹高峰、卢西、彭玺锦的很多建议与修改,在此一并感谢。因为你们的付出,让本书质量得到了提升,非常感谢。
在写作本书的约一年时间之内,还得到了其他很多朋友、同事的大量建议,在此虽不一一提名,但必须要感谢你们的支持。
云戒2016.11.11 于成都
前言 自强不息,厚德载物
本书共有 8个章节的内容,涉及数据科学中的相关基础知识与内容,但内容的编排并非完全从易到难,有部分文章的内容,是需要用到其他章节的知识的。
相对来说,第 1、2、3章,内容比较单一,涉及基础的 Linux、Python与 Hadoop知识。如果对这三章中的某些知识不熟悉,建议先阅读。第 4章比较特殊,其内容也是数据科学中比较重要的,不仅需要前 3章的知识,也需要部分 Spark的知识,因为 Spark的特殊性,单独放到机器学习之后了。
第 5、6章,涉及数据科学中最重要的主题:机器学习与算法,介绍了机器学习的常用环境、概念、方法以及几个典型的算法应用。这两章是本书的难点,如果不熟悉,必须单独攻克。
第 7章,Spark本身就是一个全栈框架,无论是在分布式计算还是在机器学习领域,都大有用处。因此最好有前面章节的基础知识,方能更好地理解本章的内容,尤其是 MLlibML库,必须有机器学习算法的知识。
最后一章,反而是最简单的,因为基本不涉及技术细节,但对整个数据科学的理解,以及技术积累都是非常重要的。
本书章节的编排,在一定程度上参考了知识的由易到难,另外一个方面,也参考了《易经》的乾坤两个卦象。不需要读者熟悉乾坤两个卦象,下面会将其中乾坤两个卦的爻辞进行粗略的解释。不需要读者完全理解,只求有个概念上的认识即可。
全栈数据,其中的数据既指数据技术,也指业务数据。只有将技术应用到业务中,才能在实际的生产环境中发挥作用。
介绍卦象的时候,是由低层次向高层次渐渐提升的,对应的技能与业务也一样。从 Linux走向数据科学,就是一个技能提升的过程,类似的,从数据采集到数据应用也是对业务从入门到应用的一个过程。
01 全栈技能,自强不息
乾坤为一体,况且一阴一阳之谓道。世界上不可能只有男人而没有女人,正如不可能只有女神而没有女汉子一样。因此,和纯阳卦乾卦相对的便是纯阴卦坤卦了。
乾卦,正是天行健,君子以自强不息。下面先用乾卦来说全栈技术。
1.1 Linux,潜龙勿用
初九爻,爻辞为:潜龙勿用。
乾卦每一爻都代表了一条龙,初九爻为潜龙。潜字很有意思,是叫你要藏起来,不要露面,那能干什么呢?
刚接触 Linux,觉得 Linux非常自由。此时刚开始入门,兴趣最重要,这一阶段,需要打好各种系统与命令行的基础。
要做好数据科学,不学 Linux不行,不论你喜欢与否。后续的 Python、 Spark、Hadoop、数据挖掘等都需要用到大量基础的 Linux知识。勿用的意思是,时候不到就不要用,当准备好了,就要用。
Linux只是一个基础系统,必须要结合实际的业务来更好地应用,勿用到最后就是为了要用,此时就进入了第二阶段。
1.2 Python,见龙在田
九二爻,爻辞为:见龙在田,利见大人。
见(xin)通现,意为展现,要能在工作中快速解决问题,学习 Python,就可以让你快速展现出业绩来。由 Python入门数据分析与数据挖掘,这算是程序员入行数据挖掘最好的方法了, Python目前最火的领域,就是在数据科学领域。况且 Python语法优美,第三方库庞大且高效,专门用于快速解决问题。
Python是一条巨龙,一旦展现在田野,必须拿出一点实力来表现自己,对上面的大人有利。从 Linux过来,将 Python应用到业务中,快速地解决了问题,业绩自然来了,其利也自现了。
在数据科学中,学了 Python的开发与数据分析,这还只是基础,还有另外一个工程领域的技能大数据,需要学习。此时,进入九三爻。
1.3 大数据,终日乾乾
所有的事件都会进入第三阶段,即九三爻,爻辞为:君子终日乾乾,夕惕若,厉无咎。
君子,指有志气、有抱负的人。整天都很努力地学习,是会被人嫉妒的,所以言行都要小心。
工作中,必须要兢兢业业,努力做好工作。太阳下山之后,更需要警惕,时刻告诫自己,三天不学习,可能就赶不上曾经比自己差的人了。必须要利用业余时间学习新技术,而以 Hadoop为代表的大数据,正是近年来火得一塌糊涂的技术,况且网上的学习资料已经非常多了。
这是一门在学校很难学到的技术,因此必须自己利用业余时间,每天厉兵秣马,努力让自己的数据科学技能更加完善。
1.4 机器学习,或跃在渊
有些人和事,是没有第四阶段的,因为他们可能一辈子就留在第三阶段。进入第四阶段,即九四爻:或跃在渊,无咎。
学习了前面三种技术( Linux、Python和大数据)后,要想再深入,此时必须往数据挖掘与机器学习方面发展。数据挖掘与数据分析还是有一定区别的,数据挖掘更偏向于使用算法解决问题,而分析更多是偏统计与业务(包括运营、产品)层面的。
尤其是机器学习,要看得懂 scikit-learn的文档,必须辅助以相应的理论基础,涉及数学、统计学、计算机等多个领域。
一部分人在此阶段向机器学习方向跳跃,可是没有坚定的信念,最后就真应了那句从入门到放弃的话了。
机器学习,因其特殊的学科领域,由程序员转过来的占很大一部分,要想跃上去,必须坚定信念,不忘初心。对码农而言,其难,就难在理论。下足工夫,坚持苦修,一定会有所成就。
1.5 Spark,飞龙在天
过了九四阶段,到九五阶段也容易。而九五阶段也是最舒服的阶段,我们常说的九五至尊便是这个阶段。爻辞为:飞龙在天,利见大人。
有了前面的基础,再学习 Spark技术,相对就很容易了。再面对 Spark中的机器学习库 ML或 MLlib,也就不会束手无策了。 Spark可以说是前面技能的集大成者,需要 HDFS文件的支持,能天生支持 Hive的数据,能使用 Python的 API接口,以前在 Python中能用的那些库,在 Spark中,通通都能用,而且效率更高。
技能到了,境界也差不了多少,浑身散发的数据气场也很强。此阶段也可以认为是第二阶段的见龙眼中的大人了,行事也需要有大人的风范才行。
1.6 数据科学,亢龙有悔
做技术的人,其实比较希望停留在九五阶段,可却经常事与愿违啊!而且物极必反的道理相信你也懂,事物的发展是不会停止的。过了九五阶段,还有九六阶段。九六爻爻辞为:亢龙有悔。
有的人感觉自己领悟了整个数据科学的技能与本质,其实也还只是一些皮毛,若此时停止不前,甚至转向管理,那么技术也就基本荒废了。
正确的做法应该是,回头再去加深领悟各个阶段的技术与技能,将其更好地应用到业务中去。回想曾经犯
|
|