当前位置:主页 > 书籍配套资源 > Python配套资源
《Python程序设计:人工智能案例实践》源代码

《Python程序设计:人工智能案例实践》源代码

  • 更新:2021-12-11
  • 大小:6.4 MB
  • 类别:Python
  • 作者:[美]保罗·戴特尔、(Paul、Deitel)、、哈维·戴特尔(Harvey、Deitel)
  • 出版:机械工业出版社
  • 格式:PDF

  • 资源介绍
  • 相关推荐

Python程序设计:人工智能案例实践》共16章。第1~10章介绍Python编程,涉及人工智能、基本描述统计、集中趋势和分散度量、模拟、静态和动态可视化、使用CSV文件、用于数据探索和数据整理的Pandas、时间序列和简单线性回归。第11~16章提供多种实践案例研究,涉及自然语言处理、Twitter数据挖掘、IBM Watson认知计算、包含分类和回归的有监督机器学习、聚类无监督机器学习、卷积神经网络深度学习、递归神经网络深度学习、包含Hadoop/Spark/NoSQL/物联网的大数据等。

封面图

目录

  • 审稿人评论
  • 译者序
  • 前言
  • 作者简介
  • 开始阅读本书之前
  • 第一部分Python基础知识快速入门
  • 第1章Python及大数据概述2
  • 1.1简介2
  • 1.2快速回顾面向对象技术的基础知识3
  • 1.3Python5
  • 1.4Python库7
  • 1.4.1Python标准库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.4print函数、单引号和双引号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.3if语句49
  • 3.4if...else和if...elif...else语句50
  • 3.5while语句53
  • 3.6for语句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.12break和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.6Python标准库79
  • 4.7math模块中的函数80
  • 4.8在IPython中使用制表符自动补全81
  • 4.9默认参数值82
  • 4.10关键字参数83
  • 4.11不定长参数列表83
  • 4.12方法:属于对象的函数84
  • 4.13作用域规则85
  • 4.14import:深入讨论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.8NumPy计算方法167
  • 7.9通用函数168
  • 7.10索引和切片170
  • 7.11视图:浅拷贝171
  • 7.12视图:深拷贝173
  • 7.13重塑和转置174
  • 7.14数据科学入门:pandas Series和DataFrame176
  • 7.14.1Series177
  • 7.14.2DataFrame181
  • 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.1re模块与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.2try语句226
  • 9.8.3在一条except子句中捕获多个异常229
  • 9.8.4一个函数或方法引发了什么异常229
  • 9.8.5try子句的语句序列中应该书写什么代码229
  • 9.9finally子句229
  • 9.10显式地引发一个异常231
  • 9.11(选学)堆栈展开和回溯232
  • 9.12数据科学入门:使用CSV文件234
  • 9.12.1Python标准库模块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.2Account类的定义246
  • 10.2.3组合:对象引用作为类的成员248
  • 10.3属性访问控制248
  • 10.4用于数据访问的property249
  • 10.4.1试用Time类249
  • 10.4.2Time类的定义251
  • 10.4.3Time类定义的设计说明254
  • 10.5模拟“私有”属性255
  • 10.6案例研究:洗牌和分牌模拟257
  • 10.6.1试用Card类和DeckOfCards类257
  • 10.6.2Card类:引入类属性258
  • 10.6.3DeckOfCards类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.2Complex类的定义278
  • 10.11异常类层次结构和自定义异常279
  • 10.12具名元组280
  • 10.13Python 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.2TextBlob305
  • 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.14n元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.2Twitter API概况333
  • 12.3创建一个Twitter账户334
  • 12.4获取Twitter凭据,创建应用程序334
  • 12.5什么是推文336
  • 12.6Tweepy339
  • 12.7通过Tweepy进行Twitter身份验证340
  • 12.8获取一个Twitter账户的相关信息341
  • 12.9Tweepy 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.13Twitter流API353
  • 12.13.1创建StreamListener的子类353
  • 12.13.2启动流处理356
  • 12.14推文情感分析357
  • 12.15地理编码和映射361
  • 12.15.1获取和映射推文362
  • 12.15.2tweetutilities.py中的实用函数366
  • 12.15.3LocationListener类367
  • 12.16存储推文的方法368
  • 12.17Twitter和时间序列369
  • 12.18小结369
  • 第13章IBM Watson和认知计算370
  • 13.1简介370
  • 13.2IBM云账户和云控制台372
  • 13.3Watson服务372
  • 13.4额外的服务和工具375
  • 13.5Watson开发者云Python SDK377
  • 13.6案例研究:旅行者翻译伴侣APP377
  • 13.6.1准备工作378
  • 13.6.2运行APP379
  • 13.6.3SimpleLanguageTranslator.py脚本代码分析380
  • 13.7Watson资源390
  • 13.8小结391
  • 第14章机器学习:分类、回归和聚类392
  • 14.1简介392
  • 14.1.1scikit-learn393
  • 14.1.2机器学习的类别394
  • 14.1.3scikit-learn中内置的数据集396
  • 14.1.4典型的数据科学研究的步骤396
  • 14.2案例研究:用k近邻算法和Digits数据集进行分类(第1部分)397
  • 14.2.1k近邻算法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.2k折交叉验证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.3Keras资源450
  • 15.2Keras内置数据集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.8ConvnetJS:基于浏览器的深度学习训练和可视化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.1books数据库493
  • 16.2.2SELECT查询497
  • 16.2.3WHERE子句497
  • 16.2.4ORDER BY子句498
  • 16.2.5从多个表中合并数据:INNER JOIN499
  • 16.2.6INSERT INTO语句500
  • 16.2.7UPDATE语句501
  • 16.2.8DELETE FROM语句502
  • 16.3NoSQL和NewSQL大数据数据库简述502
  • 16.3.1NoSQL键-值数据库503
  • 16.3.2NoSQL文档数据库503
  • 16.3.3NoSQL列式数据库504
  • 16.3.4NoSQL图数据库504
  • 16.3.5NewSQL数据库505
  • 16.4案例研究:MongoDB JSON文档数据库506
  • 16.4.1创建MongoDB Atlas集群506
  • 16.4.2将推文存入MongoDB中507
  • 16.5Hadoop515
  • 16.5.1概述516
  • 16.5.2通过MapReduce汇总Romeo-AndJuliet.txt中的单词长度518
  • 16.5.3在Microsoft Azure HDInsight中创建Apache Hadoop集群518
  • 16.5.4Hadoop流520
  • 16.5.5实现映射器520
  • 16.5.6实现归约器521
  • 16.5.7准备运行MapReduce示例522
  • 16.5.8运行MapReduce作业523
  • 16.6Spark525
  • 16.6.1概述525
  • 16.6.2Docker和Jupyter Docker堆栈526
  • 16.6.3使用Spark的单词计数529
  • 16.6.4Microsoft Azure上的Spark单词计数532
  • 16.7Spark流:使用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

资源下载

资源下载地址1:https://pan.baidu.com/s/1HOauWUY_DyxAFy-mkAuwlA

相关资源

网友留言