- 定价:¥59.00
- 校园优惠价:¥41.30 (70折) (马上了解)
- 评分:
(已有0条评价)
- 电子书:预测分析:Python语言实现
- 促销活动:
- 此商品暂时缺货(可留下联系方式,到货将第一时间通知您)
基本信息
- 原书名:Mastering Predictive Analytics with Python
- 作者: (美)约瑟夫·巴布科克(Joseph Babcock)
- 译者: 余水清
- 丛书名: 数据科学与工程技术丛书
- 出版社:机械工业出版社
- ISBN:9787111573890
- 上架时间:2017-7-27
- 出版日期:2017 年8月
- 开本:16开
- 版次:1-1
- 所属分类:计算机 > 软件与程序设计 > Python

内容简介
作译者
Dipanjan擅长将数据科学家们组建成分析团队,并交付高质量的解决方案。他与行业专家、技术专家以及数据科学家通力合作,制订策略构建分析型解决方案,以缩短从概念验证(POC)到商业发布的转换过程。
他擅长实现基于R、Python、Vowpal Wabbit、Julia以及SAS的全监督、半监督或无监督学习算法,精通自行管理和云环境下的Hadoop和Spark分布式框架。他是一个业余Kaggler开发者,同时也是一位IoT/IIoT(物联网/工业物联网)爱好者(树莓派以及Arduino原型设计)。
目录
关于审稿人
前言
第1章数据转换成决策——从分析应用着手
1.1设计高级分析方案
1.1.1数据层:数据仓库、数据湖和数据流
1.1.2模型层
1.1.3部署层
1.1.4报告层
1.2案例学习:社交媒体数据的情感分析
1.2.1数据输入和转换
1.2.2合理性检查
1.2.3模型开发
1.2.4评分
1.2.5可视化和报告
1.3案例学习:针对性电子邮件活动
1.3.1数据输入和转换
1.3.2合理性检查
1.3.3模型开发
1.3.4评分
译者序
毫无疑问,在围棋领域,AlphaGo已经明显超越了一般人类的智能水平。它的设计和开发涉及了很多的核心技术,深度学习就是其中之一。所谓深度学习,就是指多层的人工神经网络以及对神经网络进行训练和优化的方法。前面一层神经网络把大量数据矩阵化之后作为输入,通过非线性激活方法计算权重,再产生另一个数据集合,以此作为输出,同时也作为后面一层神经网络的输入。这个过程就像生物神经大脑的工作机理一样,通过合适的矩阵数量,多层组织链接在一起,形成神经网络“大脑”,对数据进行精准复杂的处理,既使得处理速度得以提高,又使得处理的准确度和精确度也达到了一个非常高的水平。
深度学习和人工神经网络是典型的无监督学习算法之一,其他典型的无监督学习算法还包括分组和聚类,在这些算法当中,由于不需要事先有典型的输入和输出作为训练样本,因此具有极大的灵活性。此外还有分类和回归等有监督学习算法和半监督学习方法。这些机器学习算法在大数据处理方面有着各自的应用场景,如果应用得当,将会使大数据处理如虎添翼。
AlphaGo只是机器学习技术与大数据相结合的典型案例之一。移动互联网和物联网(IOT)的飞速发展,使人类社会累积数据的速度达到前所未有的程度,这里所谓的大数据包括几乎一切形式的结构化、半结构化以及非结构化的数据,例如网络日志、音频、视频、图片、地理位置信息等。因此,如何对这些数据进行高效的采集、存储、处理并从中发掘到有价值的信息,就是大数据分析处理需要解决的问题。具体来说就是时下比较热门的几个技术热点:物联网和工业物联网(IIoT),主要解决的是数据的采集问题; 云计算,主要解决高效存储和计算问题;数据分析技术,主要解决如何有效对数据进行挖掘,并从中发现应用价值的问题。本书主要关注数据分析技术之一,即预测性分析技术,以及如何将分析结果以可视化的方式展现给利益相关者。当然,数据能够进行正确分析的前提是有高质量的数据,因此,本书也会适当地提及对于不同类型的数据如何进行清洗和过滤,从而为后期分析模型的构建打好基础。
说到大数据分析,不得不提及当前对大数据进行处理分析的编程语言,首屈一指的当属R了。作为MATLAB和SAS等昂贵而复杂的统计软件的免费替代品,简单易用的R迅速风靡全球,在金融街的表现尤为突出。但是R的优点也许也是其缺点,例如在建模技术上并不是很完善,处理海量数据时显得有些笨重,等等。而Python结合了R语言的快速性、处理复杂数据的能力以及更务实的语言特质,迅速地成为主流,尤其是近几年成长得很快。由于直观、易于学习,以及生态系统近年来急剧增长,Python在统计分析领域迅速占有一席之地。IPython notebook和NumPy可以用作快速进行数据分析和处理的一种轻便工具,而Python可以作为中等规模数据处理的强大工具。丰富的数据社区也是Python的优势,因为可供用户随时获取到大量的工具包和功能。另外,Python也可以与多种关系型数据库(例如MySQL、PostGreSQL等)和非关系型数据库(例如MongoDB、Hadoop等)进行无缝集成,再加上对于分布式计算框架(例如Spark)的支持,让基于Python构建的数据分析和预测系统可以很容易地扩展到大规模数据集上。因此,基于Python构建大数据的分析预测系统无疑是比较好的解决方案之一。
回到本书的主要内容上,本书先对数据分析系统的基本架构和主要处理流程进行了扼要介绍,然后从分类和无监督学习开始,逐一讲解每种机器学习算法的主要工作原理,并且在每章的最后一节给出详细的案例讨论,从而将理论很好地落实到实现中。通过对每一种具体学习算法理论部分的介绍,我们可以窥见本书作者Joseph Babcock坚实的理论功底;而落实到具体的Python实现上,我们又可以体会到Python的强大和简洁。因此,我觉得对数据分析、数据建模或者机器学习感兴趣的读者都可以读一读本书。但是译者个人觉得,读者最好具备一定的统计学知识和基本的Python编程经验,不然会稍显吃力。
值得一提的是,机器学习和人工智能已经写进了2017年的政府工作报告,因此从某种程度上说,已经上升到了国家战略层面。我们有理由相信,在可以预见的未来,基于机器学习和人工智能的数据处理和分析预测技术必将为人们的生活和工作带来极大的改变。因此,本书可以为那些对机器学习算法和预测分析技术感兴趣的人指出大致的方向。而对于那些早已投身其中的先行者来说,本书也不失为一个比较好的参考。
对我本人而言,本书的翻译过程也是一次对于机器学习知识的重新学习和对于预测分析技术的全面梳理。感谢华章公司和静编辑的信任和支持,同时也感谢家人的理解和支持。由于译者水平有限,如有不当之处,尚请广大读者批评指正。
余水清
2017年3月
前言
本书内容
第1章讲述了如何描述一个分析管道中的核心组件以及组件间的交互方式,也探讨了批处理和流处理之间的区别,以及每种应用最适用的一些情况,还讲解了基于两种范式的基础应用样例以及每一步所需的设计决策。
第2章讨论了着手搭建分析型应用所需完成的诸多工作。运用IPython notebook,我们讨论了如何使用pandas将文件中的数据上传到数据帧中、重命名数据集中的列名、过滤掉不想要的行、转换类型以及创建新的列。另外,我们将整合不同来源的数据,并使用聚合和旋转进行一些基本的统计分析。
第3章将演示如何将一个数据集里的相似项定义成组。这种探索性分析是我们在理解新数据集过程中经常第一个使用的。我们探索计算数据点值间相似性的不同方法,并描述这些度量可能最适合于哪些数据。我们既探讨分裂聚类算法(将数据分解成一组一组更小的部分),也探讨凝聚聚类算法(每个数据点都是一个聚类的开始)。通过一系列数据集,我们将展示每种算法在哪些情景下性能更好或者更差,以及如何优化它们。我们也看到了首个(比较小的)数据管道——PySpark中基于流数据的聚类应用。
第4章探讨了几种回归模型拟合模型,包括将输入参数调整到正确数值范围并对类别特征做出正确说明。我们对线性回归进行拟合、评估,也包括正则化回归模型。我们还研究树回归模型的用处,以及如何优化参数选项来拟合模型。最后,我们会讨论一个基于PySpark的简单随机森林模型,该模型也可以用于更大的数据集。
第5章阐述了如何使用分类模型并介绍几种提升模型性能的策略。除了转换类别特征之外,我们讨论了如何利用ROC曲线对逻辑回归准确性进行解释。为了尝试提升模型的性能,我们讲解了SVM的用处。最后,我们将使用梯度提升决策树算法,以期在测试数据集上可以取得较好的性能。
第6章讨论复杂的、非结构化的数据。其中还涉及了降维技术(例如HashingVectorizer)、矩阵分解(例如PCA、CUR和NMR)以及概率模型(例如LDA),讨论了图像数据,包括标准化操作和阈值转换操作,并介绍如何使用降维技术找出图像之间的共同模式。
第7章介绍了将深度神经网络作为一种生成模型的方法,来处理那些工程师难以处理其特征的复杂数据。我们将研究如何使用反向传播训练神经网络,并探究附加层难以达到最优的原因。
第8章描述了一个基本预测服务的三个组件,并探讨这种设计如何使我们与其他用户或者软件系统分享预测模型的结果。
第9章介绍几个监控初步设计后预测模型性能的策略。我们也会讨论一些模型的性能或组件会随时间变化的场景。
阅读准备
你需要安装好最新版的Python、PySpark以及Jupyter notebook。
读者人群
本书主要针对业务分析员、BI分析员、数据科学家,或是一些已经掌握高级分析员理论知识的初级数据分析员。通过阅读本书,上述读者将可以运用Python设计并构建高级分析解决方案。读者必须具备基础Python开发经验。
本书约定
在本书中,你会发现很多用以区别不同信息的文本样式。以下是一些文本样式的例子,以及每种样式所代表含义的解释。
正文中的代码、数据库表名、文件夹名称、文件名、文件扩展名、路径名、虚拟URL、用户输入,以及Twitter用户名等均以以下模式展现:“使用head()和tail()来查看以下数据的开头和结尾。”
任何命令行的输入或者输出都会采用以下形式:
新名词和重要文字会以加粗格式给出。屏幕上的文字(例如菜单或者对话框)在文中以如下形式展现:“回到文件标签栏,你会注意到在右上角有两个选项。”