译 者 序
本书最大的特点就是它的全面性。从基础的统计学原理和R语言编程知识,到核心的机器学习理论和算法分析,以及机器学习模型的评估和改进方法,再到机器学习技术在大数据平台上的应用,书中都用了一定的篇幅进行讲述。此外,对于一些比较前沿和高级的主题,作者也给出了相应的参考资料,供有兴趣的读者进一步提高。
第2版还增加了时间序列模型,并把深度学习部分从原先的一个小节扩大为一章,从而大大提高了本书的实用性。
这样的写作思路给读者展示了当今机器学习技术发展的全貌,有利于读者理解各种机器学习技术的适用范围及其相互联系,也有利于读者先从全局和整体入手,再逐步深入到每个细节中,这样比较容易把握适合自己的方向。至于不足之处,也许是因为范围太广,导致有些部分的讲解不够深入,有些代码和实例的讲解也略显简单。
因此,这本书比较适合机器学习技术的初学者,以及仅仅在某个领域有一定经验、希望从更广的角度来认识机器学习的专业人士。如果读者希望更深入钻研某些技术,可以将本书给出的参考资料作为起点。虽然这些参考资料基本都是英文版的,不过要掌握最新的技术,阅读原版资料也是一个必要的途径。本书还引入了很多 R 语言平台的组件包,它们也适用于实际环境下的分析工作,是应用领域必不可少的得力工具。限于篇幅,本书很难逐个对它们进行详细介绍,而且开源组件包的版本变化很快,在实际应用时,也需要认真阅读它们的官方文档。
看过我前几本译作的读者都知道我有在 GitHub 上开辟讨论区的习惯,这样可以针对书中的理论、应用、代码等问题与读者进行交流。本书也不例外,它的讨论区链接是 https://github.com/coderLMN/machineLearningUsingR/issues ,欢迎读者去提出问题并参与讨论。我之所以愿意花时间参与这样的讨论,是因为这样不仅能够帮助读者答疑,及时纠正书中可能存在的错误,同时我自己在这个过程中也经常可以开阔思路、得到启发。
我不知道其他译者会不会这么做,但我为此感到自豪。
其实我还有一个更大的心愿,就是希望读者在实际运用这些技术时写出自己的理解和体会,用自己的经验来帮助其他的读者。我希望能把这样的实践经验总结放在讨论区里,其中高水平的总结还可以在书籍再印的时候作为附录添加进去,从而帮助到更多的读者。
真心希望这个心愿在本书出版时能够实现。
此外,我在书中加入了一些译者注,标注了我在翻译过程中觉得有必要说明的一些问题,例如某些代码的变动、某些概念的通俗化解释、提醒读者注意的细节,等等。由于本人水平有限,虽然已尽全力查阅资料并自行验证,但翻译内容和译者注里难免会有不严谨或者不正确的地方,还望读者不吝指正。
本书的代码和数据可从官方GitHub下载:https://github.com/Apress/machine-lea-rning-r-2e。(第1版的下载链接是:https://github.com/Apress/machine-learning-using-r )
最后,真诚感谢我的家人。这本书覆盖的主题较多,翻译的周期较长,有他们的支持和激励,我才能保质保量地完成这个工作。
吴今朝
2019年9月
前 言
第2版添加了两个新章节,一个介绍时间序列模型(第9章),这是一个源于统计学的传统主题;第二个介绍深度学习(第11章),它是机器学习的一个迅速崛起的子领域。除了增加这两个章节之外,本书中的文本和代码会以一种读者友好的新格式来整体呈现。
新版会继续专注于使用流行的统计编程语言R来构建用例。对于深度学习这样的主题,我们建议采用Python语言配合TensorFlow这样的框架来学习。但是,本书会向读者展示如何在TensorFlow中使用R语言编程,因此如果读者只熟悉R语言,暂时无须学习Python。
与第1版一样,书中通过各种实际用例保持了机器学习理论与应用的良好平衡,为读者提供了一个真正全面的机器学习主题集合。
读者将学到的内容:
利用R语言学习机器学习算法。
掌握构建过程流的机器学习模型。
机器学习算法的理论基础。
专注于行业的实际用例。
R语言中的时间序列建模。
在R语言中使用Keras和TensorFlow进行深度学习。
目标读者
本书适用于希望了解机器学习方法和算法在R语言中的实践的数据科学家、数据科学专业人员和学术界研究人员。对于那些想用Apache Hadoop、Hive、Pig和Spark实现可扩展机器学习模型相关技术的读者,本书也能使之受益。
本书是一本全面的教程,适合想要从头到尾了解机器学习模型构建过程的任何人,内容包括:
相关概念在R语言中的实际演示。
使用Apache Hadoop和Spark的机器学习模型。
时间序列分析。
在R语言中利用Keras和TensorFlow介绍深度学习模型。