登入帳戶  | 訂單查詢  | 購物車/收銀台( 0 ) | 在線留言板  | 付款方式  | 聯絡我們  | 運費計算  | 幫助中心 |  加入書簽
會員登入 新註冊 | 新用戶登記
HOME新書上架暢銷書架好書推介特價區會員書架精選月讀2023年度TOP分類閱讀雜誌 香港/國際用戶
最新/最熱/最齊全的簡體書網 品種:超過100萬種書,正品正价,放心網購,悭钱省心 送貨:速遞 / EMS,時效:出貨後2-3日

2024年10月出版新書

2024年09月出版新書

2024年08月出版新書

2024年07月出版新書

2024年06月出版新書

2024年05月出版新書

2024年04月出版新書

2024年03月出版新書

2024年02月出版新書

2024年01月出版新書

2023年12月出版新書

2023年11月出版新書

2023年10月出版新書

2023年09月出版新書

『簡體書』Python程序设计:人工智能案例实践

書城自編碼: 3623281
分類: 簡體書→大陸圖書→教材研究生/本科/专科教材
作 者: [美]保罗·戴特尔 [Paul,J.Deitel] [美]哈
國際書號(ISBN): 9787111678458
出版社: 机械工业出版社
出版日期: 2021-04-01

頁數/字數: /
書度/開本: 16开 釘裝: 平装

售價:NT$ 864

我要買

share:

** 我創建的書架 **
未登入.



新書推薦:
读书是一辈子的事(2024年新版)
《 读书是一辈子的事(2024年新版) 》

售價:NT$ 352.0
乐道文库·什么是秦汉史
《 乐道文库·什么是秦汉史 》

售價:NT$ 367.0
汉娜·阿伦特与以赛亚·伯林 : 自由、政治与人性
《 汉娜·阿伦特与以赛亚·伯林 : 自由、政治与人性 》

售價:NT$ 500.0
女性与疯狂(女性主义里程碑式著作,全球售出300万册)
《 女性与疯狂(女性主义里程碑式著作,全球售出300万册) 》

售價:NT$ 500.0
药食同源中药鉴别图典
《 药食同源中药鉴别图典 》

售價:NT$ 305.0
设计中的比例密码:建筑与室内设计
《 设计中的比例密码:建筑与室内设计 》

售價:NT$ 398.0
冯友兰和青年谈心系列:看似平淡的坚持(哲学大师冯友兰和年轻人谈心,为人处事)
《 冯友兰和青年谈心系列:看似平淡的坚持(哲学大师冯友兰和年轻人谈心,为人处事) 》

售價:NT$ 254.0
汉字理论与汉字阐释概要 《说解汉字一百五十讲》作者李守奎新作
《 汉字理论与汉字阐释概要 《说解汉字一百五十讲》作者李守奎新作 》

售價:NT$ 347.0

建議一齊購買:

+

NT$ 270
《 职业生涯规划与就业创业指导(第2版)(21世纪通识教育系列教材) 》
+

NT$ 594
《 图论导引(原书第2版)典藏版 》
+

NT$ 767
《 内科学(第9版/本科临床/配增值) 》
+

NT$ 590
《 基础护理学(第6版/本科护理) 》
+

NT$ 359
《 电路(第5版)(换封面加十二五标) 》
+

NT$ 488
《 生理学(第9版/本科临床/配增值) 》
編輯推薦:
配套代码获取方式:
1、微信关注“华章计算机”
2、在后台回复关键词:67845


1、便于自学。全书包含160个图表讲解,形象生动;在1-10章的每章结尾都提供数据科学入门案例,让你边学边用。易错知识点有特别提示。动态可视化效果提供更好的学习反馈。
2、标识清晰。关键术语加粗显示,Python代码以特殊字体显示;
3、示例全面。包括代码段和案例研究形式的538个实操示例;
4、Python知识覆盖范围广:控制语句、函数、字符串、文件、JSON序列化、CSV、异常;
5、数据科学入门:人工智能、基础统计、模拟、动画、随机变量、数据整理、回归;
6、人工智能、云和大数据案例研究:自然语言处理、Twitter数据挖掘、IBM Watson、机器学习、深度学习、计算机视觉、Hadoop、Spark、NoSQL、IoT。
內容簡介:
通过学习本书提供的500多个实际示例,读者将学会使用交互式IPython解释器和Jupyter Notebook并快速掌握Python编码方法。在学习完第1~5章的Python基础知识以及第6和7章的一些关键内容之后,读者将能够处理第11~16章中有关人工智能案例的重要实操内容,包括自然语言处理,用于情感分析的Twitter数据挖掘,使用IBM Watson 的认知计算,利用分类和回归进行的有监督机器学习,通过聚类进行的无监督机器学习,基于深度学习和卷积神经网络的计算机视觉,基于递归神经网络的深度学习,基于Hadoop、Spark和NoSQL数据库的大数据处理,物联网等。读者还将直接或间接使用基于云的服务,如Twitter、Google Translate、IBM Watson、Microsoft Azure、OpenMapQuest、PubNub等。
關於作者:
保罗·戴特尔
Deitel&Associates公司首席执行官兼首席技术官,毕业于麻省理工学院,拥有38年的计算经验。保罗是世界上有经验的编程语言培训师之一,自1992年以来一直针对软件开发人员教授专业课程。他服务过的国际客户包括思科、IBM、西门子、Oracle、戴尔、富达、美国国家航空航天局肯尼迪航天中心等。他也是国际上畅销的编程语言经典图书的撰写者,如C How to program、C How to program、Java How to program、Visual C# How to Program,等等。
目錄
审稿人评论
译者序
前言
作者简介
开始阅读本书之前
部分 Python基础知识快速入门
第1章 Python及大数据概述2
1.1 简介2
1.2 快速回顾面向对象技术的基础知识3
1.3 Python5
1.4 Python库7
1.4.1 Python标准库7
1.4.2 数据科学库8
1.5 试用IPython和Jupyter Notebook9
1.5.1 使用IPython交互模式作为计算器10
1.5.2 使用IPython 解释器执行Python程序11
1.5.3 在Jupyter Notebook中编写和执行代码12
1.6 云和物联网16
1.6.1 云16
1.6.2 物联网17
1.7 大数据有多大18
1.7.1 大数据分析22
1.7.2 数据科学和大数据正在带来改变:用例23
1.8 案例研究:大数据移动应用程序24
1.9 数据科学入门:人工智能——计算机科学与数据科学的交叉学科26
1.10 小结28
第2章 Python程序设计概述29
2.1 简介29
2.2 变量和赋值语句30
2.3 算术运算31
2.4 print函数、单引号和双引号34
2.5 三引号字符串36
2.6 从用户处获取输入37
2.7 决策:if语句和比较运算符39
2.8 对象和动态类型43
2.9 数据科学入门:基础的描述性统计44
2.10 小结46
第3章 控制语句48
3.1 简介48
3.2 控制语句概述49
3.3 if语句49
3.4 if...else和if...elif...else语句50
3.5 while语句53
3.6 for语句54
3.6.1 可迭代对象、列表和迭代器55
3.6.2 内置函数range55
3.7 增强赋值56
3.8 序列控制迭代和格式化字符串56
3.9 边界值控制的迭代57
3.10 内置函数range:深入讨论59
3.11 使用Decimal类型处理货币金额59
3.12 break和continue语句63
3.13 布尔运算符and、or和not63
3.14 数据科学入门:集中趋势度量—均值、中值和众数66
3.15 小结67
第4章 函数69
4.1 简介69
4.2 函数定义70
4.3 多参数函数72
4.4 随机数生成74
4.5 案例研究:一个运气游戏76
4.6 Python标准库79
4.7 math模块中的函数80
4.8 在IPython中使用制表符自动补全81
4.9 默认参数值82
4.10 关键字参数83
4.11 不定长参数列表83
4.12 方法:属于对象的函数84
4.13 作用域规则85
4.14 import:深入讨论87
4.15 向函数传递参数:深入讨论88
4.16 递归91
4.17 函数式编程93
4.18 数据科学入门:离中趋势度量95
4.19 小结96
第5章 序列:列表和元组97
5.1 简介97
5.2 列表98
5.3 元组102
5.4 序列解包104
5.5 序列切片106
5.6 使用del声明108
5.7 将列表传递给函数109
5.8 列表排序110
5.9 序列搜索111
5.10 列表的其他方法113
5.11 使用列表模拟堆栈115
5.12 列表推导式116
5.13 生成器表达式118
5.14 过滤、映射和归约118
5.15 其他的序列处理函数120
5.16 二维列表122
5.17 数据科学入门:模拟和静态可视化124
5.17.1 掷600、60,000、6,000,000次骰子的图例124
5.17.2 实现掷骰子中不同点数出现次数和百分比的可视化126
5.18 小结132
第二部分 Python数据结构、字符串和文件
第6章 字典和集合136
6.1 简介136
6.2 字典137
6.2.1 创建字典137
6.2.2 遍历字典138
6.2.3 基本的字典操作138
6.2.4 字典的keys和values方法140
6.2.5 字典的比较141
6.2.6 示例:学生成绩字典142
6.2.7 示例:单词计数143
6.2.8 字典的update方法144
6.2.9 字典推导式145
6.3 集合146
6.3.1 集合的比较147
6.3.2 集合的数学运算148
6.3.3 集合的可变运算符和方法150
6.3.4 集合推导式151
6.4 数据科学入门:动态可视化151
6.4.1 动态可视化的工作原理152
6.4.2 实现动态可视化154
6.5 小结156
第7章 使用NumPy进行面向数组的编程158
7.1 简介158
7.2 从现有数据创建数组159
7.3 数组属性160
7.4 用特定值填充数组162
7.5 从范围创建数组162
7.6 列表与数组的性能比较:引入%timeit164
7.7 数组运算符165
7.8 NumPy计算方法167
7.9 通用函数168
7.10 索引和切片170
7.11 视图:浅拷贝171
7.12 视图:深拷贝173
7.13 重塑和转置174
7.14 数据科学入门:pandas Series和DataFrame176
7.14.1 Series177
7.14.2 DataFrame181
7.15 小结188
第8章 字符串:深入讨论190
8.1 简介190
8.2 格式化字符串191
8.2.1 表示类型191
8.2.2 字段宽度和对齐方式193
8.2.3 数字格式化193
8.2.4 字符串的format方法194
8.3 拼接和重复字符串195
8.4 去除字符串中的空白字符196
8.5 字符大小写转换196
8.6 字符串的比较运算符197
8.7 查找子字符串197
8.8 替换子字符串199
8.9 字符串拆分和连接199
8.10 字符串测试方法201
8.11 原始字符串202
8.12 正则表达式介绍202
8.12.1 re模块与fullmatch函数203
8.12.2 替换子字符串和拆分字符串207
8.12.3 其他搜索功能、访问匹配207
8.13 数据科学入门:pandas、正则表达式和数据治理210
8.14 小结214
第9章 文件和异常215
9.1 简介215
9.2 文件216
9.3 文本文件处理217
9.3.1 向文本文件中写入数据:with语句的介绍217
9.3.2 从文本文件中读取数据218
9.4 更新文本文件220
9.5 使用JSON进行序列化221
9.6 关注安全:pickle序列化和反序列化224
9.7 关于文件的附加说明224
9.8 处理异常225
9.8.1 被零除和无效输入226
9.8.2 try语句226
9.8.3 在一条except子句中捕获多个异常229
9.8.4 一个函数或方法引发了什么异常229
9.8.5 try子句的语句序列中应该书写什么代码229
9.9 finally子句229
9.10 显式地引发一个异常231
9.11 (选学)堆栈展开和回溯232
9.12 数据科学入门:使用CSV文件234
9.12.1 Python标准库模块csv234
9.12.2 将CSV文件数据读入pandas DataFrame中236
9.12.3 读取泰坦尼克号灾难数据集237
9.12.4 用泰坦尼克号灾难数据集做简单的数据分析238
9.12.5 乘客年龄直方图239
9.13 小结240
第三部分 Python高级主题
第10章 面向对象编程242
10.1 简介242
10.2 自定义Account类244
10.2.1 试用Account类245
10.2.2 Account类的定义246
10.2.3 组合:对象引用作为类的成员248
10.3 属性访问控制248
10.4 用于数据访问的property249
10.4.1 试用Time类249
10.4.2 Time类的定义251
10.4.3 Time类定义的设计说明254
10.5 模拟“私有”属性255
10.6 案例研究:洗牌和分牌模拟257
10.6.1 试用Card类和DeckOfCards类257
10.6.2 Card类:引入类属性258
10.6.3 DeckOfCards类260
10.6.4 利用Matplotlib显示扑克牌图像262
10.7 继承:基类和子类265
10.8 构建继承层次结构:引入多态性267
10.8.1 基类CommissionEmployee267
10.8.2 子类SalariedCommission-Employee270
10.8.3 以多态方式处理Commission-Employee和SalariedComm-issionEmployee273
10.8.4 关于基于对象和面向对象编程的说明274
10.9 鸭子类型和多态性274
10.10 运算符重载276
10.10.1 试用Complex类277
10.10.2 Complex类的定义278
10.11 异常类层次结构和自定义异常279
10.12 具名元组280
10.13 Python 3.7的新数据类简介281
10.13.1 创建Card数据类282
10.13.2 使用Card数据类284
10.13.3 数据类相对于具名元组的优势286
10.13.4 数据类相对于传统类的优势286
10.14 使用文档字符串和doctest进行单元测试286
10.15 命名空间和作用域290
10.16 数据科学入门:时间序列和简单线性回归293
10.17 小结300
第四部分 人工智能、云和大数据案例研究
第11章 自然语言处理304
11.1 简介304
11.2 TextBlob305
11.2.1 创建一个TextBlob对象307
11.2.2 将文本标记为句子和单词307
11.2.3 词性标注308
11.2.4 提取名词短语309
11.2.5 使用TextBlob的默认情感分析器进行情感分析309
11.2.6 使用NaiveBayesAnalyzer进行情感分析310
11.2.7 语言检测与翻译311
11.2.8 变形:复数化和单数化312
11.2.9 拼写检查和拼写校正313
11.2.10 规范化:词干提取和词形还原314
11.2.11 词频314
11.2.12 从WordNet中获取单词定义、同义词和反义词315
11.2.13 删除停用词317
11.2.14 n元318
11.3 使用柱状图和词云可视化词频319
11.3.1 使用pandas可视化词频319
11.3.2 使用词云可视化词频321
11.4 使用Textatistic库进行可读性评估324
11.5 使用spaCy命名实体识别326
11.6 使用spaCy进行相似性检测327
11.7 其他NLP库和工具328
11.8 机器学习和深度学习自然语言应用328
11.9 自然语言数据集329
11.10 小结329
第12章 Twitter数据挖掘331
12.1 简介331
12.2 Twitter API概况333
12.3 创建一个Twitter账户334
12.4 获取Twitter凭据,创建应用程序334
12.5 什么是推文336
12.6 Tweepy339
12.7 通过Tweepy进行Twitter身份验证340
12.8 获取一个Twitter账户的相关信息341
12.9 Tweepy Cursor简介:获得一个账户的关注者和朋友343
12.9.1 确定一个账户的关注者343
12.9.2 确定一个账户的关注对象345
12.9.3 获取一个用户的推文345
12.10 搜索的推文346
12.11 热门话题发现:Twitter热门话题API348
12.11.1 有热门话题的地点348
12.11.2 获取热门话题列表349
12.11.3 根据热门话题创建词云351
12.12 推文分析前的清理或预处理352
12.13 Twitter流API353
12.13.1 创建StreamListener的子类353
12.13.2 启动流处理356
12.14 推文情感分析357
12.15 地理编码和映射361
12.15.1 获取和映射推文362
12.15.2 tweetutilities.py中的实用函数366
12.15.3 LocationListener类367
12.16 存储推文的方法368
12.17 Twitter和时间序列369
12.18 小结369
第13章 IBM Watson和认知计算370
13.1 简介370
13.2 IBM云账户和云控制台372
13.3 Watson服务372
13.4 额外的服务和工具375
13.5 Watson开发者云Python SDK377
13.6 案例研究:旅行者翻译伴侣APP377
13.6.1 准备工作378
13.6.2 运行APP379
13.6.3 SimpleLanguageTranslator.py脚本代码分析380
13.7 Watson资源390
13.8 小结391
第14章 机器学习:分类、回归和聚类392
14.1 简介392
14.1.1 scikit-learn393
14.1.2 机器学习的类别394
14.1.3 scikit-learn中内置的数据集396
14.1.4 典型的数据科学研究的步骤396
14.2 案例研究:用k近邻算法和Digits数据集进行分类(第1部分)397
14.2.1 k近邻算法398
14.2.2 加载数据集399
14.2.3 可视化数据402
14.2.4 拆分数据以进行训练和测试404
14.2.5 创建模型405
14.2.6 训练模型405
14.2.7 预测数字类别406
14.3 案例研究:利用k近邻算法和Digits数据集进行分类(第2部分)407
14.3.1 模型准确性指标407
14.3.2 k折交叉验证410
14.3.3 运行多个模型以找到模型411
14.3.4 超参数调整413
14.4 案例研究:时间序列和简单线性回归413
14.5 案例研究:基于加利福尼亚房价数据集的多元线性回归418
14.5.1 加载数据集418
14.5.2 使用pandas探索数据420
14.5.3 可视化特征422
14.5.4 拆分数据以进行训练和测试426
14.5.5 训练模型426
14.5.6 测试模型427
14.5.7 可视化预测房价和期望房价427
14.5.8 回归模型指标428
14.5.9 选择模型429
14.6 案例研究:无监督学习(第1部分)—降维430
14.7 案例研究:无监督学习(第2部分)—k均值聚类433
14.7.1 加载Iris数据集435
14.7.2 探索Iris数据集:使用pandas进行描述性统计436
14.7.3 使用Seaborn的pairplot可视化数据集438
14.7.4 使用KMeans估计器440
14.7.5 主成分分析降维442
14.7.6 选择聚类估计器444
14.8 小结445
第15章 深度学习447
15.1 简介447
15.1.1 深度学习应用449
15.1.2 深度学习演示450
15.1.3 Keras资源450
15.2 Keras内置数据集450
15.3 自定义Anaconda环境451
15.4 神经网络452
15.5 张量454
15.6 用于视觉的卷积神经网络:使用MNIST数据集进行多分类455
15.6.1 加载MNIST数据集457
15.6.2 数据探索457
15.6.3 数据准备459
15.6.4 创建神经网络模型461
15.6.5 训练和评价模型468
15.6.6 保存和加载模型472
15.7 用TensorBoard可视化神经网络的训练过程473
15.8 ConvnetJS:基于浏览器的深度学习训练和可视化476
15.9 针对序列的递归神经网络:使用IMDb数据集进行情感分析477
15.9.1 加载IMDb影评数据集478
15.9.2 数据探索478
15.9.3 数据准备480
15.9.4 创建神经网络481
15.9.5 训练和评价模型483
15.10 调整深度学习模型484
15.11 在ImageNet上预训练的CNN模型485
15.12 小结486
第16章 大数据:Hadoop、Spark、NoSQL和IoT488
16.1 简介488
16.2 关系数据库和结构化查询语言492
16.2.1 books数据库493
16.2.2 SELECT查询497
16.2.3 WHERE子句497
16.2.4 ORDER BY子句498
16.2.5 从多个表中合并数据:INNER JOIN499
16.2.6 INSERT INTO语句500
16.2.7 UPDATE语句501
16.2.8 DELETE FROM语句502
16.3 NoSQL和NewSQL大数据数据库简述502
16.3.1 NoSQL键-值数据库503
16.3.2 NoSQL文档数据库503
16.3.3 NoSQL列式数据库504
16.3.4 NoSQL图数据库504
16.3.5 NewSQL数据库505
16.4 案例研究:MongoDB JSON文档数据库506
16.4.1 创建MongoDB Atlas集群506
16.4.2 将推文存入MongoDB中507
16.5 Hadoop515
16.5.1 概述516
16.5.2 通过MapReduce汇总Romeo-AndJuliet.txt中的单词长度518
16.5.3 在Microsoft Azure HDInsight中创建Apache Hadoop集群518
16.5.4 Hadoop流520
16.5.5 实现映射器520
16.5.6 实现归约器521
16.5.7 准备运行MapReduce示例522
16.5.8 运行MapReduce作业523
16.6 Spark525
16.6.1 概述525
16.6.2 Docker和Jupyter Docker堆栈526
16.6.3 使用Spark的单词计数529
16.6.4 Microsoft Azure上的Spark单词计数532
16.7 Spark流:使用pyspark-notebookDocker堆栈计算Twitter主题标签535
16.7.1 将推文流式传输到套接字535
16.7.2 总结推文主题标签,介绍Spark SQL538
16.8 物联网和仪表板543
16.8.1 发布和订阅545
16.8.2 使用Freeboard仪表板可视化PubNub示例实时流545
16.8.3 用Python模拟一个连接互联网的恒温器547
16.8.4 使用freeboard.io创建仪表板549
16.8.5 创建一个Python PubNub订阅服务器550
16.9 小结554
索引556
內容試閱
译者序
Python简单易学,且提供了丰富的第三方库,可以用较少的代码完成较多的工作,使开发者能够专注于如何解决问题而只花较少的时间去考虑如何编程。此外,Python还具有免费开源、跨平台、面向对象、胶水语言等优点,在系统编程、图形界面开发、科学计算、Web开发、数据分析、人工智能等方面有广泛应用。尤其是在数据分析和人工智能方面,Python已成为受开发者欢迎的编程语言之一,不仅大量计算机专业人员选择使用Python进行快速开发,许多非计算机专业人员也纷纷选择Python语言来解决专业问题。
由于Python应用广泛,关于Python的参考书目前已经有很多,但将Python编程与数据分析、人工智能等领域紧密结合的参考书尚不多见。这就导致开发者在学习Python编程时难以与实际应用结合,从而造成不知道如何应用Python去解决实际问题的状况。2019年,全球畅销的编程语言教材、专业图书作家Paul Deitel和Harvey Deitel出版了Python for Programmers一书,书中将Python编程基础知识与数据分析、人工智能案例研究有效地结合在一起,在Python编程与数据科学、人工智能之间搭建起了桥梁。通过学习本书,开发者可结合理论和实践,快速掌握应用Python解决数据分析、人工智能问题的方法。
本书由浅入深,共分为四大部分。部分为Python基础知识快速入门,由第1~5章组成,涉及计算机和Python、Python程序设计、控制语句、函数、序列(列表和元组)方面的内容。通过学习该部分,读者应掌握Python开发环境的使用方法、Python中基础数据的存储和处理方法,尤其要熟练运用模块化思想进行问题分解、通过函数实现各模块功能。第二部分为Python数据结构、字符串和文件,由第6~9章组成,涉及字典和集合、使用NumPy进行面向数组的编程、字符串、文件和异常方面的内容。通过学习该部分,读者应掌握字典和集合的适用场景、NumPy存储数据的优势和具体使用方法、字符串的常用操作、正则表达式的作用。第三部分为Python高级主题,即第10章的面向对象编程。通过学习该部分,读者应掌握面向对象的概念及面向对象程序的设计和编写方法,在实际中熟练运用面向对象的方式搭建系统。第四部分为人工智能、云和大数据案例研究,由第11~16章组成,涉及自然语言处理、Twitter数据挖掘、IBM Watson和认知计算、机器学习、深度学习、大数据方面的内容。通过学习该部分,读者应掌握运用Python解决数据分析、人工智能相关问题的方法。
除了基础理论知识之外,本书还提供了500多个实际上机操作示例,其中包括40个具有较大代码量的完整案例。除了第11~16章结合具体主题给出的案例之外,在第1~10章中,每一章后还提供了数据科学入门案例。通过研究这些案例,读者能够更好地将所学知识与实际相结合,掌握利用Python解决具体问题的方法。
本书的分工如下:王恺负责第9章、第10章、第12章、索引和其他辅助内容的翻译,并对全书进行统稿;王刚负责第1~4章、第13章的翻译;于名飞负责第5~8章的翻译;徐夏负责第11章、第14章和第15章的翻译;李涛负责第16章的翻译。
本书可以作为高校计算机专业学生和非计算机专业理工科学生学习Python和数据分析相关课程的教材,同时也可作为Python开发人员的参考手册。本书附有大量案例,因此特别适合自学者使用。
后感谢机械工业出版社华章公司的大力支持!由于时间和水平有限,译稿中难免存在疏漏之处,恳请各位同行和读者帮忙指正!

译者
2020年12月
南开大学

“塔尔山上有黄金!”
欢迎阅读本书!在本书中,读者将学习当今引人注目的前沿计算技术,并使用Python进行编程。Python是世界上流行的语言之一,也是编程语言中使用人数增长快的一种。
开发者经常会很快地发现自己喜欢Python。他们会欣赏Python的表达力、可读性、简洁性和交互性,也会喜欢开源软件开发环境,这个开源环境正在为广泛的应用领域提供快速增长的可重用软件基础。
几十年来,一些趋势已经强有力地显现出来。计算机硬件已经迅速变得更快、更便宜、更小;互联网带宽已经迅速变得越来越大,同时也越来越便宜;优质的计算机软件已经变得越来越丰富,并且通过“开源”方式免费或几乎免费;很快,“物联网”将连接数以百亿计的各种可想象的设备。这将导致以快速增长的速度和数量生成大量数据。
在今天的计算技术中,的创新都是关于数据的—数据科学、数据分析、大数据、关系数据库(SQL)以及NoSQL和NewSQL数据库,我们可以通过Python编程的创新处理方式解决每一个问题。
需要数据科学技能的工作
2011年,麦肯锡全球研究院发表了报告“Big data: The next frontier for innovation, competition and productivity”。报告认为:“仅美国就面临着14万到19万深度分析人员的缺口,以及150分析大数据并可根据分析结果做决策的经理和分析师的缺口。”目前情况仍然如此。2018年8月的“LinkedIn Workforce Report”称,美国数据科学人员的缺口超过15万。来自IBM、Burning Glass Technologies和商业高等教育论坛的2017年报告称,到2020年,美国有数十万个需要数据科学技能的新工作岗位。
模块化结构
本书的模块化结构(见下图)有助于满足各种专业读者的多样化需求。

第1~10章介绍Python编程。在这些章中,每一章都包括一个简短的数据科学入门部分,用于介绍人工智能、基础的描述性统计、集中趋势度量、离中趋势度量、模拟、静态和动态可视化、用于数据探索和数据整理的pandas、使用CSV文件、时间序列和简单线性回归。这些内容将帮助读者为第11~16章中数据科学、人工智能、大数据和云案例研究方面的学习做好准备,读者通过学习完整的案例研究可学会使用真实的数据集。
在学习完关于Python编程的第1~5章所有内容及第6~7章的部分关键内容之后,读者将能够理解第11~16章中的大部分案例研究。前言后面的“章节依赖性”部分将帮助教师在本书独特的结构背景下规划他们的专业课程。
第11~16章充满了酷炫、强大、新颖的例子,提供了多种主题的实践案例研究,如自然语言处理,Twitter数据挖掘,IBM Watson认知计算,包括分类和回归在内的有监督机器学习,聚类无监督机器学习,卷积神经网络深度学习,递归神经网络深度学习,包括Hadoop、Spark、NoSQL、物联网在内的大数据等。在此过程中,读者将掌握广泛的数据科学术语和概念,从简短的定义到在小型、中型和大型程序中使用的概念。通过浏览本书详细的目录和索引能够了解本书所覆盖的内容。
主要特点
保持简单(KIS)、保持小规模(KIS)、保持前沿(KIS)
保持简单—在本书的每个方面,我们都力求简洁明了。例如,当介绍自然语言处理时,我们使用简单直观的TextBlob库而不是更复杂的NLTK。在深度学习中,我们使用Keras而不是TensorFlow。通常,当可以使用多个库来执行类似的任务时,我们使用简单的那一个。
保持小规模—本书538个示例中的大多数都规模很小,通常只有几行代码,且后面跟着IPython的即时交互式运行结果。书中也包含了40个较大的脚本和深入的案例研究。
保持前沿—我们阅读了大量的Python编程和数据科学书籍,浏览、阅读或观看了大约15,000篇文章、研究论文、白皮书、视频、博客文章、论坛帖子和文档片段。这使我们能够掌握Python、计算机科学、数据科学、人工智能、大数据和云社区的“脉搏”。
即时反馈:用IPython探索、发现和实验
学习本书的理想方法是,在阅读的同时运行代码示例。在整本书中,我们始终使用IPython解释器,它提供了友好的即时反馈交互模式,以便快速探索、发现和实验Python及其大量的库。
大多数代码都是在小型交互式IPython会话中呈现的。对于每个代码段,IPython会立即读取、执行并输出运行结果。这种即时反馈有助于保持读者的注意力、促进学习、促进快速原型化并加速软件开发过程。
本书始终强调实时代码方法,专注于具有实时输入和输出的、完整的、能正常运行的程序。IPython的“神奇之处”在于,当读者每输入一行代码时,代码都会被实时地执行,这对学习和提高编程实验效果都有积极作用。
Python编程基础
本书全面覆盖了Python编程基础知识。
讨论了Python的编程模型,包括过程编程、函数式编程和面向对象编程。
使用实践方式,强调当前的习惯用法。
全书都使用了函数式编程风格。4.17节中的表列出了Python函数式编程的大部分关键功能,以及介绍它们的章。
538个代码示例
通过538个真实例子(从单个代码段到大量的计算机科学、数据科学、人工智能和大数据案例),读者将看到富有挑战性和趣味性的关于Python的生动介绍。
读者将使用人工智能、大数据、云技术(如自然语言处理、Twitter数据挖掘、机器学习、深度学习、Hadoop、MapReduce、Spark、IBM Watson),以及关键数据科学库(NumPy、pandas、SciPy、NLTK、TextBlob、spaCy、Textatistic、Tweepy、scikit-learn、Keras)、关键可视化库(Matplotlib、Seaborn、Folium)等来完成重要任务。
避免烦琐的数学,倾向于文字解释
关注数学的概念本质,并将其用于例子中。通过使用诸如statistics、NumPy、SciPy、pandas以及其他许多库来实现这一点,这些库隐藏了数学本身的复杂性。因此,读者可以直接利用线性回归等数学技术解决问题,而无须了解其背后的数学知识。在机器学习和深度学习的例子中,我们专注于创建用于数学运算但隐藏数学细节的对象。
可视化
67个静态、动态、动画和交互式可视化数据(图表、图形、图片、动画等),可帮助读者理解概念。
聚焦于Matplotlib、Seaborn、pandas和Folium(用于交互式地图)所产生的高级可视化效果,而不包括对低级图形编程的处理。
使用可视化作为教学工具。例如,通过动态模具轧制模拟和条形图使大数定律更加生动形象。随着卷数的增加,读者将看到每个面占总卷数的百分比逐渐接近16.667%(1/6),并且代表百分比的条形的大小逐渐均衡。
可视化对于大数据中的数据探索和展示可重复的研究结果至关重要,其中数据项的数量可以是数百万、数十亿甚至更多。一个常见的说法是,一图胜千言—在大数据中,一个可视化结果相当于数据库中数十亿、数万亿甚至更多的数据项。可视化使读者能够“在4万公里的高空看数据”,即以更宏观的方式查看并了解这些数据。描述性统计对掌握数据概况有所帮助,但可能会产生误导。例如,Anscombe的四重奏通过可视化展示出:显著不同的数据集可能具有几乎相同的描述性统计结果。
展示了可视化和动画化代码,以便读者可以实现自己的代码。本书还在源代码文件和Jupyter Notebook中提供动画,因此读者可以方便地自定义代码和动画化参数,重新执行动画并查看更改的效果。
数据实验
第11~16章的数据科学入门和案例研究部分提供了丰富的数据实验。
读者将使用许多真实数据集和数据源。可以在线获得各种各样的免费开源数据集以进行相关实验。书中引用的一些网站列出了数百或数千个数据集。
读者可以将使用的许多库与热门数据集捆绑在一起,以方便进行实验。
读者将学习如何进行下列操作:数据获取和分析前的数据准备,使用多种技术分析数据,调整模型并有效地展示结果(尤其是通过可视化),等等。
GitHub
GitHub是查找开源代码以将其合并到你的项目中(以及将代码贡献给开源社区)的绝佳场所。它也是软件开发者库中的一个关键元素,其中包含版本控制工具,可帮助开发者团队管理开源(和私有)项目。
读者将使用各种免费、开源的Python库和数据科学库,以及软件和云服务的免费版、免费试用版和免费增值服务。许多库都托管在GitHub上。
云计算实践
大部分的大数据分析都发生在云端,可以轻松地动态扩展应用程序所需的硬件和软件数量。读者将使用各种基于云的服务(直接的或间接的),包括Twitter、Google Translate、IBM Watson、Microsoft Azure、OpenMapQuest、geopy、Dweet.io和PubNub。
我们鼓励读者使用免费、免费试用或免费增值云服务。我们更喜欢那些不需要使用信用卡支付的服务,因为这样不会存在意外收到大笔账单的风险。如果读者决定使用需要信用卡支付的服务,请确保免费升级的服务不会自动跳转到付费升级。
数据库、大数据和大数据基础设施
根据IBM(2016年11月)的报道,世界上90%的数据都是在过去两年中创建的。证据表明,数据创建的速度正在迅速加快。
根据AnalyticsWeek 2016年3月的文章,五年内将有超过500亿台设备连接到互联网。到2020年,我们将为地球上的每个人每秒生成1.7MB的新数据!
本书包含使用SQLite处理关系数据库和SQL的内容。
数据库是对待处理的大量数据进行存储和操作的关键大数据基础设施。关系数据库用于处理结构化数据,而不适用于大数据应用程序中的非结构化和半结构化数据。因此,随着大数据的发展,NoSQL和NewSQL数据库被创建,以有效地处理这些数据。本书包括关于NoSQL和NewSQL的概述以及使用MongoDB JSON文档数据库的实际案例研究。MongoDB是受欢迎的NoSQL数据库。
第16章将讨论大数据硬件和软件基础设施。
人工智能案例研究
在第11~15章的案例研究中,给出了人工智能主题的内容,包括自然语言处理、通过Twitter数据挖掘做情感分析、使用IBM Watson进行认知计算、有监督机器学习、无监督机器学习和深度学习。第16章介绍了大数据硬件和软件基础设施,使计算机科学家和数据科学家能够实施基于AI的尖端解决方案。
内置类型:列表、元组、集合、字典
目前大多数应用程序开发人员都没有自己创建数据结构的必要。本书用两章篇幅对Python的内置数据结构(列表、元组、字典和集合)进行了详细介绍,使用这些数据结构可以完成大多数任务。
使用NumPy数组和pandas的Series、DataFrame进行面向数组的编程
我们还关注来自开源库的三个关键数据结构,包括NumPy数组、pandas Series和pandas DataFrame。它们被广泛用于数据科学、计算机科学、人工智能和大数据。NumPy提供的数组比内置Python列表在性能上高出两个数量级。
第7章对NumPy数组进行了详细介绍。许多库(如pandas)都是基于NumPy构建的。第7~9章中的数据科学入门部分介绍了pandas的Series和DataFrame,在其他章节中它们会与NumPy数组组合使用来解决一些问题。
文件处理和序列化
第9章介绍了文本文件处理,然后展示了如何使用流行的JSON(JavaScript Object Notation,JavaScript对象表示法)格式序列化对象。JSON在数据科学章节中会被频繁使用。
许多数据科学库提供内置的文件处理功能,用于将数据集加载到Python程序中。除了纯文本文件之外,我们还使用Python标准库的csv模块和pandas数据科学库的功能,以流行的CSV(逗号分隔数据值)格式处理文件。
基于对象的编程
我们强调使用Python开源社区已经打包到行业标准类库中的大量有价值的类。 读者将专注于了解有什么库可以使用、选择应用程序所需要的库、根据已有的类创建对象(通常使用一行或两行代码),并使它们在程序中发挥作用。基于对象的编程使读者能够快速、简洁地构建功能强大的应用程序,这是Python所具有的主要吸引力之一。
使用这种方法,读者将能够使用机器学习、深度学习和其他人工智能技术快速解决各种有趣的问题,包括认知计算挑战,如语音识别和计算机视觉。
面向对象编程
开发自定义类是一项关键的面向对象编程技能,同时还包括继承、多态性和鸭子类型。第10章将讨论这些问题。
第10章包括关于使用doctest做单元测试的讨论,以及一个有趣的洗牌和分牌模拟的问题。
第11~16章只需要定义一些简单的自定义类。在Python中,读者可能会使用更多的基于对象的编程方法,而不是完全面向对象的编程。
可重复性
在一般的科学研究,特别是数据科学研究中,需要复现实验和研究的结果,并结合这些结果进行有效的交流。Jupyter Notebook是实现这一目标的方法。
我们将在整本书中讨论编程技术和软件(如Jupyter Notebook和Docker)的可重复性。
性能
在几个示例中,我们使用%timeit分析工具比较不同方法执行相同任务的性能。其他性能相关的讨论包括生成器表达式、NumPy数组与Python列表、机器学习和深度学习模型的性能,以及Hadoop和Spark分布式计算性能。
大数据和并行化
在本书中,读者不必编写自己的并行化代码,而是让像Keras这样的库运行在TensorFlow上,让Hadoop和Spark这样的大数据工具自动为你进行并行化操作。在这个大数据/人工智能时代,为了满足海量数据应用程序的处理需求,需要利用多核处理器、图形处理单元(GPU)、张量处理单元(TPU)和云中的大型计算机集群提供的真正并行性。一些大数据任务可以在数千个处理器上并行处理,以便快速完成大量数据的分析

 

 

書城介紹  | 合作申請 | 索要書目  | 新手入門 | 聯絡方式  | 幫助中心 | 找書說明  | 送貨方式 | 付款方式 香港用户  | 台灣用户 | 海外用户
megBook.com.tw
Copyright (C) 2013 - 2024 (香港)大書城有限公司 All Rights Reserved.