Python中文网

推荐编程书籍:机器学习即服务:将Python机器学习创意快速转变为云端Web应用程序 [Monetizing Machine Learning: Quickly Turn Python M],由机械工业出版社2019-06-01月出版发行,本书编译以及作者信息 为:[美] 曼纽尔·阿米纳特吉(Manuel Amunategui) 著,刘世民,山金孝,史天,肖力 译,此次为第1次发行, 国际标准书号为:9787111627036,品牌为机工出版, 这本书采用平装开本为16开,纸张采为胶版纸,全书共有343页字数20万9000字,是本Python 编程相关非常不错的书。

此书内容摘要

本书涵盖Kubernetes架构、部署、核心资源类型、系统扩缩容、存储卷、网络插件与网络本书由浅入深地介绍了一系列常见的Python数据科学问题。书中介绍的实践项目简单明了,可作为模板快速启动其他类似项目。通过本书,你将学习如何构建一个Web应用程序以进行数值或分类预测,如何理解文本分析,如何创建强大的交互界面,如何对数据访问进行安全控制,以及如何利用Web插件实现信用卡付款和捐赠。

每章都遵循三个步骤:以正确的方式建模,设计和开发本地Web应用程序,部署到流行且可靠的无服务器计算云平台(AWS、微软、谷歌和PythonAnywhere)上。本书各章之间是独立的,你可以根据需求跳转至特定主题。


关于此书作者

曼纽尔·阿米纳特吉(Manuel Amunategui)

曼纽尔·阿米纳特吉(Manuel Amunategui) 是SpringML(谷歌云和Salesforce的优选合作伙伴)的数据科学副总裁,拥有预测分析和国际管理硕士学位。在过去20年中,他在科技行业内实施了数百种端到端客户解决方案。在机器学习、医疗健康建模等方面有着丰富的咨询经验。他在华尔街金融行业工作了6年,在微软工作了4年,这些经历使他意识到应用数据科学教育和培训材料的缺乏。为了帮助缓解这一问题,他一直在通过文字博客、视频博客和教育材料传播应用数据科学知识。


迈赫迪·洛佩伊(Mehdi Roopaei)迈赫迪·洛佩伊(Mehdi Roopaei) 是IEEE、AIAA和ISA的高级成员。2011年获Shiraz大学计算机工程博士学位,研究方向为动态系统的智能控制。2012年至2018年夏季,他在得克萨斯大学圣安东尼奥分校从事博士后研究工作;2018年秋季,他在威斯康星大学普拉特维尔分校担任助理教授。他的研究兴趣包括人工智能驱动的控制系统、数据驱动决策、机器学习和物联网(IoT),以及沉浸式分析。他是IEEE Access的副主编,也是IoT Elsevier杂志的编委会成员。他还是IoT Elsevier特刊《IoT Analytics for Data Streams》的兼职编辑,出版了《Applied Cloud Deep Semantic Recognition: Advanced Anomaly Detection》(CRC Press, 2018)一书。他于2018年1月至7月在圣安东尼奥担任IEEE联合通信和信号处理社区分会主席。他发表了60多篇备受同行好评的技术论文,在多个会议上担任项目委员会成员,并担任多个期刊的技术审稿人。

译者简介


刘世民(Sammy Liu)

现任易建科技云服务事业群总经理兼技术总监,易建科技技术委员会首席专家,具有十几年IT从业经验,曾就职于IBM和EMC,担任过云计算创业公司CTO。他也是云计算技术爱好者、实践者及推广者,乐于总结和分享,维护有“世民谈云计算”技术博客和微信公众号。个人微信号Sammy605475。


山金孝(Warrior)

现就职于招商银行,曾就职于IBM,在云计算、大数据、容器及其编排技术、机器学习和人工智能领域有丰富的研究和实践经验。国内较早接触OpenStack的一线技术专家,长期致力于OpenStack私有云的研究、实践和布道,OpenStack社区金融工作组成员,著有畅销书《OpenStack高可用集群(上、下册)》《企业私有云建设指南》。曾参与移动、电信、联通、招行、国家电网和长安汽车等多家大中型国有企业的高可用业务系统和私有云计算平台的设计与实施,在企业私有云建设、系统容灾和高可用集群建设上具有多年的项目实施经验。此外,他还是IBM认证的高级技术专家、DB2高级DBA,Oracle认证的OCP以及RedHat认证的系统工程师,在国内外核心期刊发表CVPR论文多篇。


史天

AWS解决方案架构师。曾在世纪互联、惠普等知名公司任职,拥有丰富的云计算、大数据经验,目前致力于数据科学、机器学习、无服务器等领域的研究和实践。


肖力

新钛云服技术副总裁,云技术社区创始人,《深度实践KVM》作者,《运维前线》系列图书策划人。曾就职于盛大、金山,有19年运维经验。维护有订阅号“云技术”。个人微信号xiaolikvm。


编辑们的推荐

适读人群 :云计算工程师、Python工程师、 初创及小规模企业人员、希望学习和尽早发布自己创意的学生、渴望进阶的数据科学专业人士、其他对机器学习和云计算感兴趣的人员

1)将机器学习、统计、通过Web应用程序进行原型设计三种不同的知识组合在一起,并与云服务提供商合作。

2)提供一个简单的、云相关的、技术无限的指南,帮助你尽可能快地将Python建模工作推广到世界各地。

3)讨论了在Web上快速进行统计和建模工作原型设计的艺术。

4)可以在Jupyter Notebook和代码存储库GitHub获取本书代码,方便读者动手验证和自定义实践。


机器学习即服务:将Python机器学习创意快速转变为云端Web应用程序 [Monetizing Machine Learning: Quickly Turn Python M]图书的目录

Contents 目录

译者序1

译者序2

译者序3

关于作者

关于技术审校者

前言

第1章无服务器计算介绍1

1.1一个简单的本地Flask应用程序1

1.2在微软Azure上使用无服务器计算4

1.2.1操作步骤5

1.2.2结论和附加信息12

1.3在谷歌云上使用无服务器计算12

1.3.1操作步骤13

1.3.2结论和附加信息18

1.4在Amazon AWS上使用无服务器计算19

1.4.1操作步骤19

1.4.2结论和附加信息24

1.5在PythonAnywhere上托管应用程序24

1.5.1操作步骤25

1.5.2结论和附加信息26

1.6本章小结26

第2章在Azure上进行共享单车回归模型智能预测27

2.1共享单车租赁需求回归系数分析28

2.2探索共享单车原始数据集28

2.2.1下载UCI机器学习库数据集29

2.2.2Jupyter Notebook配置使用29

2.2.3数据集探索31

2.2.4预测结果变量分析33

2.2.5量化特征与租赁统计34

2.2.6分类特征研究35

2.3数据建模准备工作36

2.3.1回归建模37

2.3.2简单线性回归37

2.3.3简单线性回归模型37

2.4特征工程试验39

2.4.1多项式建模39

2.4.2创建分类数据虚拟特征40

2.4.3非线性模型试验41

2.4.4使用时间序列复杂特征42

2.5简约模型44

2.5.1简单模型中的回归系数提取44

2.5.2R-Squared44

2.5.3基于回归系数的新数据预测46

2.6共享单车租赁需求交互式Web应用设计48

2.6.1代码可读性与扩展性摘要48

2.6.2构建本地Flask应用49

2.6.3下载运行GitHub共享单车代码50

2.6.4Web应用程序调试最佳实践51

2.7在微软Azure上运行Web应用程序54

2.7.1使用Git托管项目代码54

2.7.2微软Azure命令行接口工具使用56

2.7.3资源清理59

2.7.4故障排查60

2.7.5步骤回顾62

2.8Web应用程序脚本及技术分析62

2.8.1main.py文件分析63

2.8.2/static/文件夹分析64

2.8.3/templates/index.html文件及脚本分析64

2.9本章小结66

2.10附加资源66

第3章在GCP上基于逻辑回归实现实时智能67

3.1规划Web应用68

3.2数据处理68

3.2.1处理分类型数据71

3.2.2从分类型数据创建虚拟特征75

3.3建模75

3.3.1训练和测试数据集拆分76

3.3.2逻辑回归77

3.3.3预测幸存率78

3.4准备上云78

3.4.1函数startup()79

3.4.2函数submit_new_profile()79

3.4.3使用HTML表单实现交互79

3.4.4创建动态图像80

3.4.5下载Titanic代码81

3.5部署到谷歌云上82

3.5.1Google App Engine82

3.5.2在Google App Engine上进行部署83

3.5.3问题排查86

3.5.4收尾工作87

3.6代码回顾87

3.6.1main.py87

3.6.2app.yaml88

3.6.3appengine_config.py文件与lib文件夹89

3.6.4requirements.txt89

3.7步骤回顾90

3.8本章小结90

第4章在AWS上使用Gradient Boosting Machine进行预训练91

4.1Web应用程序规划92

4.2探索葡萄酒品质数据集92

4.3处理不平衡的类别95

4.4使用Gradient Boosting Classifier97

4.4.1评估模型98

4.4.2持久化模型101

4.4.3新数据预测101

4.5设计Web应用程序以交互评估葡萄酒品质103

4.6Ajax—服务器端动态Web渲染104

4.7在虚拟环境中工作:一个方便实验、更加安全和纯净的沙箱104

4.8AWS Elastic Beanstalk105

4.8.1为Elastic Beanstalk创建一个访问账户106

4.8.2Elastic Beanstalk108

4.8.3EB Command Line Interface108

4.8.4修复WSGIApplication-Group110

4.8.5创建EB应用程序111

4.8.6查看应用程序111

4.9资源清理112

4.10步骤回顾114

4.11故障排查115

4.11.1查看日志115

4.11.2SSH登录到实例115

4.12本章小结116

第5章案例研究1:在Web和移动浏览器上预测股票市场117

5.1配对交易策略118

5.2下载和准备数据119

5.2.1准备数据120

5.2.2股票代码透视121

5.3价格市场数据扩展121

5.4绘制价差122

5.5交易理念123

5.5.1寻找极端案例123

5.5.2提供交易建议124

5.6计算交易股数125

5.7设计一个移动友好的Web应用程序提供交易建议127

5.8运行本地Flask应用程序128

5.9表单验证130

5.10在PythonAnywhere上运行应用程序130

5.11修复WSGI文件133

5.11.1源代码133

5.11.2WSGI配置133

5.11.3重新加载网站134

5.12PythonAnywhere故障排查135

5.13本章小结136

第6章基于Azure和Google地图的犯罪行为预测137

6.1Web应用程序规划138

6.2探索旧金山犯罪热图数据集138

6.2.1数据清洗139

6.2.2数据重分布140

6.2.3周数据探索142

6.3数据特征工程142

6.3.1创建年度月份汇总数据特征143

6.3.2创建时段数据特征144

6.3.3时段特征数据集探索145

6.4地理数据可视化146

6.4.1地理坐标位置绘制146

6.4.2地理坐标近似值区块创建147

6.5基于历史数据的犯罪预测149

6.6Google地图152

6.7热力图层153

6.8犯罪数据在Google地图上的应用154

6.9犯罪预测数据自定义提取155

6.10设计Web应用程序156

6.10.1添加Google API密钥157

6.10.2本地运行Web应用程序157

6.10.3Azure公有云Git准备157

6.10.4Azure命令行接口工具160

6.10.5故障排查164

6.10.6资源清理166

6.11本章小结166

第7章在AWS上使用朴素贝叶斯和OpenWeather进行预测167

7.1探索数据集167

7.2朴素贝叶斯169

7.3Sklearn中的GaussianNB170

7.4实时天气预报OpenWeatherMap171

7.4.1使用天气预测服务173

7.4.2数据转换174

7.5设计Web应用程序177

7.6在AWS Elastic Beanstalk上运行应用程序179

7.6.1修复WSGIApplication-Group180

7.6.2查看应用程序181

7.6.3记得终止实例182

7.7本章小结184

7.7.1访问OpenWeatherMap数据184

7.7.2捕获异常184

7.7.3处理用户输入的数据185

第8章在GCP上基于TensorFlow实现交互式绘画和数字预测186

8.1MNIST数据集186

8.2TensorFlow189

8.3使用TensorFlow和卷积网络建模189

8.3.1构建建模层190

8.3.2损益函数191

8.3.3实例化会话191

8.3.4训练191

8.3.5准确度191

8.3.6运行脚本192

8.4准备上云193

8.4.1运行一个保存的TensorFlow模型193

8.4.2保存模型194

8.4.3画布194

8.4.4从画布到TensorFlow195

8.4.5测试新的手写数字195

8.4.6设计Web应用程序196

8.4.7下载Web应用程序197

8.5部署到谷歌云上198

8.5.1谷歌云Flexible App Engine198

8.5.2在Google App Engine上部署199

8.5.3问题排查201

8.5.4收尾工作202

8.6本章小结203

8.6.1HTML5 标签203

8.6.2TensorFlow203

8.6.3设计203

第9章 案例研究2:动态股票图表显示205

9.1使用Matplotlib创建股票图表205

9.2探索配对交易图表207

9.3设计Web应用程序210

9.4具有移动友好性的表格211

9.5上传Web应用程序到PythonAnywhere213

9.6本章小结215

第10章在GCP上使用奇异值分解实现推荐系统216

10.1规划Web应用216

10.2推荐系统简介217

10.3探索MovieLens数据集217

10.3.1MovieLens数据集概况218

10.3.2探索ratings.csv和movies.csv219

10.3.3理解评级和评级文化221

10.3.4给出推荐224

10.4协同过滤226

10.4.1相似性和距离测量工具227

10.4.2欧几里得距离227

10.4.3余弦相似距离228

10.5奇异值分解228

10.5.1将电影评级集中到零周围229

10.5.2观察SVD的行为229

10.6准备上云232

10.6.1下载并在本地运行“下一部电影看什么?”232

10.6.2代码解释234

10.7部署到谷歌云上236

10.7.1在Google App Engine上部署236

10.7.2问题排查240

10.7.3收尾工作240

10.8本章小结241

第11章在Azure上使用NLP和可视化技术简化复杂概念242

11.1Web应用规划242

11.2数据探索243

11.3文本清理244

11.4基于文本的特征工程245

11.5TFIDF文本数据清理247

11.6NLP与正则表达式247

11.7使用外部垃圾邮件关键字列表248

11.8使用Sklearn库TfidfVectorizer提取特征250

11.9输出变量准备250

11.10使用Sklearn库随机森林分类器建模251

11.10.1模型性能测量252

11.10.2模型阈值交互255

11.11Web图形化交互256

11.12构建本地Flask Web应用257

11.13将应用程序部署到Azure公有云259

11.13.1在Azure上部署Git259

11.13.2Azure命令行接口工具262

11.13.3资源清理265

11.13.4故障排查266

11.14本章小结与附加资源268

第12章案例研究3:使用基础财务信息使内容更丰富269

12.1访问股票上市公司名单269

12.2使用维基百科API获取公司信息271

12.3构建动态FinViz链接272

12.4基础消息探索273

12.5设计Web应用程序274

12.6上传Web应用程序到PythonAnywhere276

12.7本章小结281

第13章使用Google Analytics282

13.1创建Google Analytics账户282

13.2JavaScript跟踪器283

13.3阅读分析报告284

13.4流量来源286

13.5页面286

13.6本章小结与附加资源287

第14章在PythonAnywhere上使用A/B测试和MySQL数据库288

14.1A/B测试289

14.1.1用户跟踪290

14.1.2通用唯一标识符290

14.2MySQL290

14.2.1使用命令行启动和停止服务292

14.2.2MySQL命令行监视器293

14.2.3创建数据库293

14.2.4创建数据表294

14.2.5创建数据库用户295

14.3Python库:mysql.connector295

14.3.1SELECT SQL语句296

14.3.2INSERT SQL语句296

14.3.3UPDATE SQL语句297

14.4将代码抽象为函数298

14.5设计Web应用程序300

14.6在PythonAnywhere上设置MySQL300

14.7在PythonAnywhere上进行A/B测试302

14.8A/B测试结果304

14.9本章小结304

第15章从访问者到订阅者306

15.1基于文本的身份验证306

15.1.1Flask-HTTPAuth硬编码账户307

15.1.2摘要式身份验证示例308

15.1.3使用外部文本文件的摘要式身份验证示例309

15.2简单订阅插件系统311

15.2.1用Memberful进行销售311

15.2.2用PayPal进行捐赠315

15.2.3用Stripe进行购买317

15.3本章小结321

第16章案例研究4:使用Memberful构建订阅付费墙322

16.1升级Memberful和Python-Anywhere支付账户323

16.1.1升级Memberful323

16.1.2升级PythonAnywhere326

16.1.3使用pip安装Flask-SSLify326

16.2Memberful用户验证327

16.2.1两步流程和Flask会话机制327

16.2.2身份验证第1步328

16.2.3身份验证第2步328

16.2.4调用Memberful函数330

16.3设计Web应用程序331

16.3.1在Memberful.com上设计一个订阅计划331

16.3.2将Web应用程序上传到PythonAnywhere333

16.3.3在Memberful和MySQL中替换你自己的凭据335

16.4代码解释336

16.4.1main.py336

16.4.2welcome.html336

16.4.3index.html337

16.5本章小结338

第17章关闭所有资源339

部分内容试读

译者序1

近几年来,人工智能(AI)一直在飞速发展着,它正在开启一个全新的创新时代。从智能音箱到各种机器人,从人脸识别到语言翻译,从智能推荐到自动驾驶,人工智能在各行各业应用得越来越广泛。

人工智能技术是引领未来的创新性技术,它将拥有非常光明的前景。译者对这一点深信不疑。于是,大概半年前,为了学习AI,译者买来了大学时期曾经学过的《概率论》《微积分》《线性代数》等数学书籍,以及几本讲述各种算法和模型的大部头。尽管很努力地学习,但是自我感觉效果不太理想。一来要学习的内容非常多,二来各种算法非常枯燥,三来没有太多使用机会,因此很难在短时间内就理解得比较透彻,有时甚至有了打退堂鼓的念头。

直至看到Apress出版的《Monetizing Machine Learning》,我才知道学习AI还有如此轻松有趣的方法。书中实现了多个包含AI能力的完整Web应用程序,包括利用Python、Flask、Google Analytics、Google Maps、PythonAnywhere、Memberful等编程工具和云服务,在GCP上实现一个交互式画布并利用TensorFlow来对手写数字进行预测,在GCP上使用奇异值分解算法来向用户推荐电影,在AWS上使用朴素贝叶斯算法来为高尔夫球手实时预测天气,在Azure上利用云端回归系数来预测共享单车租赁需求等。从这些例子可以看出,本书另辟蹊径,不从各种算法和模型推理入手,而是一步一步从产品设计开始,到代码实现,再到云上部署,让读者学习如何利用AI来实现这些Web应用程序中的智能能力。

本书的顺利出版是各位编辑和我们四人翻译团队通力合作的结果。感谢机械工业出版社对我们的信任和支持,以及各位编辑的专业和细心,感谢四人小组的互相支持和鼓励。还要感谢我的妻子和儿子,谢谢你们对我的默默支持。

最后,由于本人水平有限,书中难免会出现错误或者不妥之处,欢迎批评指正。希望本书能给大家带来一个轻松、有趣、有成就感,甚至还能赚到钱的AI学习奇妙之旅。

刘世民(Sammy Liu)

The Translator's Words 2

译者序2

人工智能的崛起经历了半个多世纪,从20世纪五六十年代AI概念的提出,到近些年AI热潮的此起彼伏,都与基础设施的进步和技术的革新密不可分。回顾半个多世纪,与其说AI技术在兴起,不如说AI在复兴!在信息技术领域,硬件架构经历了大型机、小型机、X86和云计算,软件架构经历了单体、多层、分布式集群、微服务和无服务器计算。历史上,没有任何一个时代计算资源的获取如此便利,应用软件的实现如此简单,而这一切,都意味着AI复兴的时代已然到来!

从技术层面来看,AI的复兴取决于两大要素:一是计算力,二是数据量。计算力越强,数据量越大,AI的发展时机就越成熟。分布式云计算技术解决了AI对计算力的需求,移动互联网让数据不断自我繁衍,大数据技术解决了海量数据的处理问题,AI复兴的道路已经铺平。相比云计算和大数据技术,AI更多表现为算法的最终呈现,或者说是机器学习在不同领域的应用,而机器学习是AI的核心和基础。提到机器学习或者算法,多数人的第一反应就是深奥难懂的数学知识和高深莫测的函数模型。必须承认,在提出AI概念后的半个多世纪,其一直难以在实际场景中得以应用的原因,除了基础设施和场景数据的匮乏外,还有就是其脱离技术领域的理论难度。译者曾经从事过计算机视觉和模式识别领域的研究工作,深知在算法理论和应用场景之间存在着巨大差距。如何把机器学习和人工智能应用到实际场景中,从而解决特定领域的问题,也是译者一直在思索的问题,因为即使我们花费大量时间来学习并理解算法背后的实际意义,但如果没有相应的实验数据,那么我们对于机器学习的研究也仅仅是停留在理论阶段。

当再次决定迈向机器学习的旅途时,译者有幸接触了Apress出版的《Monetizing Machine Learning》一书,这是一本完全从应用场景出发,讲解如何将各种机器学习算法以一种简单明了的方式应用到不同领域以解决特定问题的书籍。书中不仅有实现各种机器学习算法的代码,还提供了相应的实验数据集以供读者进行算法验证,更难能可贵的是这些代码完全可复现作者在书中的结论!与机器学习和人工智能相关的理论书籍很多,但正如我们一直强调的,把机器学习和算法理论应用到实际场景中,进而解决特定领域问题,才是我们学习的最终目的,我相信这也是机器学习和人工智能的最终目的。

在此,我们把这本书翻译并推荐给各位读者,希望本书能为大家带来一个轻松愉快的机器学习之旅,能让大家发现机器学习原来也是件很有趣的事情!有志者,事竟成,祝各位朋友心想事成!

山金孝

The Translator's Words 3

译者序3

近年来人工智能的发展正处在黄金时期,随着这个行业的持续升温,也引发了一波又一波的学习和创业热潮。但是目前市面上存在的与人工智能和机器学习相关的书籍或者在线学习课程,其内容往往侧重理论知识,实践内容则相对偏少,或者缺少场景化示例。但实际上,在读过本书原著后,我发现作者写作时非常用心,尽可能地结合理论和实践,为读者呈现出一个“平易近人、和蔼可亲”的人工智能。

本书的核心是帮助读者快速实现人工智能和机器学习工程化、产品化,简单、高效地推向市场,每章都会实现一个机器学习的创意项目(基于经典的数据科学问题),解决一个实际问题,并在开始时先进行活泼生动的项目结果展示,然后再循序渐进地指导读者完成项目的每个步骤。

本书的另一个特色是充分利用AWS等公有云资源,几乎每个章节都会先实现一个本地版本的Flask应用程序,然后再将这个应用程序部署到云端,并且尽可能选用托管解决方案。这里补充说明下,本书中提到的Serverless概念和目前流行的诸如AWSLambda等无服务器框架有些不同,其介绍的内容更贴近PaaS(平台即服务),但作者的主要意图是建议大家充分利用公有云的资源优势,尽量释放诸如弹性伸缩、负载均衡、持续部署等的运维工作压力,将更多的精力投入到机器学习的目标上来,这一点希望大家能够理解。

本书翻译的完成是团队协作的成果,翻译过程中团队针对每个细节进行在线会议的讨论和研究,精益求精,希望能尽量为读者呈现出原著的核心和灵魂。这里,感谢世民兄、今孝兄和力哥的支持和鼓励,他们的态度和专业性持续引领着整个团队。感谢编辑们的悉心指导,他们对本书做了大量的校对和编辑工作,保证了本书的顺利出版。最后,感谢我的家人,是他们在背后给予我默默的支持,让我可以专心地投入到本书的翻译工作中。由于本人水平有限,书中难免会出现错误或者不妥之处,欢迎批评指正,谢谢。

史天


关于此书评价

暂无.

书摘内容

暂无.

机器学习即服务:将Python机器学习创意快速转变为云端Web应用程序 [Monetizing Machine Learning: Quickly Turn Python M]最新最全的试读、书评、目录、简介信息由Python中文网整理提供。