《机器学习与R语言(原书第2版)》一导读

    xiaoxiao2024-01-02  169

    前  言

    机器学习的核心是将信息转化为具有可行性的情报的算法。这一事实使得机器学习非常适用于当今的大数据时代。如果没有机器学习,要跟上海量的信息数据流几乎是不可能的。鉴于R不断增长的地位(R是一个跨平台的、零成本的统计编程环境),现在是开始使用机器学习的最好时代。R提供了一套功能强大且易于学习的工具,这些工具可以帮助你发现数据背后隐藏的信息。通过把实践案例研究与基本理论(你需要理解这些理论在后台是如何运行的)相结合,本书提供了将机器学习应用到项目中所需要的全部知识。本书涵盖的内容第1章介绍了用来定义和区分机器学习算法的术语和概念,并给出了将学习任务与适当算法相匹配的方法。第2章提供了一个在R中自己实际动手操作数据的机会,并讨论了基本的数据结构以及用于载入、探索和理解数据的程序。第3章教你如何将一个简单且功能强大的学习算法应用于你的第一个学习任务:识别癌症的恶性样本。第4章揭示了用于先进的垃圾邮件过滤系统的概率的基本概念,并且在建立你自己的垃圾邮件过滤器的过程中,你将学习文本挖掘的基本知识。第5章探索两种学习算法,它们的预测不仅精确而且容易解释。我们将把这两种算法应用于对透明度要求很高的任务中。第6章介绍了用于数值预测的机器学习算法。由于这些技术在很大程度上来源于统计领域,所以你还将通过学习必要的基本指标来理解数值之间的关系。第7章包括两个极其复杂但功能强大的机器学习算法。尽管数学可能会让人望而生畏,但是我们将以简单的术语,结合实际例子来说明它们内部的运作原理。第8章揭示了许多零售商使用的推荐系统的算法。如果你想知道零售商是如何比你自己更了解你的购物习惯的,本章将揭示他们的秘密。第9章介绍k均值聚类。该算法用来查找相关个体的聚类。我们将使用该算法来确定一个网络社区内的分布。第10章提供了度量机器学习项目是否成功的信息,并提供了机器学习算法在未来数据上性能的可靠估计。第11章揭示了在机器学习竞赛中排名最靠前的团队所采用的方法。如果你具有竞争意识,或者仅仅想获取数据中尽可能多的信息,那么需要学习这些技术。第12章探讨了机器学习的前沿主题。从使用大数据到使R的运行速度更快,涉及的这些主题将帮助你拓展使用R进行数据挖掘的界限。学习本书的知识准备本书中的例子是基于Microsoft Windows和Mac OS X系统的R 3.2.0进行编写与测试的,当然,对于任意最新的R版本,这些例子基本上都能运行。本书读者对象本书适用于任何希望使用数据来采取行动的人。或许你已经对机器学习有些了解但从来没有使用过R,或许你已经对R有些了解但机器学习对于你来说是全新的知识,无论何种情况,本书将让你快速上手。稍微熟悉一些基本的数学和编程概念将是有帮助的,但先前的经验并不是必需的,你只需要有好奇心就行。本书约定在本书中,你将发现一些用于区分不同类型信息的文本样式。下面是这些样式的一些例子,以及它们的含义解释。文本中的代码字、数据库表名、文件夹名、文件名、文件扩展名、路径名、虚拟URL、用户输入和Twitter句柄如下所示:“安装一个添加包的最直接方式是通过install.packages()函数。”代码段如下所示:

    任何命令行输入或输出如下所示:

    新的术语(new term)和重要词汇(important word)以黑体显示。你在屏幕上看到的单词,例如,在菜单或对话框中看到的单词,像这样出现在文本中:“CRAN页面左边的任务视图链接提供添加包的长列表。”警告或者重要注释。提示和技巧。致谢没有家人和朋友的支持,编写本书根本是不可能的。特别地,我要非常感谢我的妻子Jessica在过去的一年中对我的耐心与鼓励。在我的儿子Will出生时第1版的写作正在进行中,在我的写作中他分散了我较多的精力,在本书出版后他很快就要成长为一名大男孩。不知道是相关还是因果,仿佛每次我打开本书,我的家人都会在我的眼前出现!我把本书献给我的孩子们,希望有一天他们能从中受到启发,应对重大的挑战,并跟随他们的好奇心,无论他们的好奇心会通向哪里。我还要感谢支持本书的很多人。本书的很多想法来源于我与密歇根大学、圣母大学以及中佛罗里达大学的教育工作者、同事以及合作者的互动。此外,如果没有各位研究人员以公开出版物、课程和源代码的形式分享他们的专业知识,本书可能根本就不会存在。最后,我要感谢R团队和所有那些贡献R添加包的人员的努力,是他们的努力最终为大家普及了机器学习。我真心希望我的研究是机器学习这块马赛克中有价值的一片图案。

    目  录

    第1章 机器学习简介1.1 机器学习的起源1.2 机器学习的使用与滥用1.2.1 机器学习的成功使用1.2.2 机器学习的限制1.2.3 机器学习的伦理方面1.3 机器如何学习1.3.1 数据存储1.3.2 抽象化1.3.3 一般化1.3.4 评估11.4 实践中的机器学习1.4.1 输入数据的类型1.4.2 机器学习算法的类型1.4.3 为输入数据匹配算法1.5 使用R进行机器学习1.5.1 安装R添加包1.5.2 载入和卸载R添加包1.6 总结第2章 数据的管理和理解2.1 R数据结构2.1.1 向量2.1.2 因子2.1.3 列表2.1.4 数据框2.1.5 矩阵和数组2.2 用R管理数据2.2.1 保存、载入和移除R数据结构2.2.2 用CSV文件导入和保存数据2.3 探索和理解数据2.3.1 探索数据的结构2.3.2 探索数值变量2.3.3 探索分类变量2.3.4 探索变量之间的关系2.4 总结第3章 懒惰学习—使用近邻分类3.1 理解近邻分类3.1.1 kNN算法3.1.2 为什么kNN算法是懒惰的3.2 例子—用kNN算法诊断乳腺癌3.2.1 第1步—收集数3.2.2 第2步—探索和准备数据3.2.3 第3步—基于数据训练模型3.2.4 第4步—评估模型的性能3.2.5 第5步—提高模型的性能3.3 总结第4章 概率学习—朴素贝叶斯分类4.1 理解朴素贝叶斯4.1.1 贝叶斯方法的基本概念4.1.2 朴素贝叶斯算法4.2 例子—基于贝叶斯算法的手机垃圾短信过滤4.2.1 第1步—收集数据4.2.2 第2步—探索和准备数据4.2.3 第3步—基于数据训练模型4.2.4 第4步—评估模型的性能4.2.5 第5步—提高模型的性能4.3 总结第5章 分而治之—应用决策树和规则进行分类5.1 理解决策树5.1.1 分而治之5.1.2 C5.0决策树算法5.2 例子—使用C5.0决策树识别高风险银行贷款5.2.1 第1步—收集数据5.2.2 第2步—探索和准备数据5.2.3 第3步—基于数据训练模型5.2.4 第4步—评估模型的性能5.2.5 第5步—提高模型的性能5.3 理解分类规则5.3.1 独立而治之5.3.2 1R算法5.3.3 RIPPER算法5.3.4 来自决策树的规则5.3.5 什么使决策树和规则贪婪5.4 例子—应用规则学习算法识别有毒的蘑菇5.4.1 第1步—收集数据5.4.2 第2步—探索和准备数据5.4.3 第3步—基于数据训练模型5.4.4 第4步—评估模型的性能5.4.5 第5步—提高模型的性能5.5 总结第6章 预测数值型数据—回归方法6.1 理解回归6.1.1 简单线性回归6.1.2 普通最小二乘估6.1.3 相关性6.1.4 多元线性回6.2 例子—应用线性回归预测医疗费用6.2.1 第1步—收集数据6.2.2 第2步—探索和准备数6.2.3 第3步—基于数据训练模型6.2.4 第4步—评估模型的性能6.2.5 第5步—提高模型的性能6.3 理解回归树和模型6.4 例子—用回归树和模型树估计葡萄酒的质量6.4.1 第1步—收集数据6.4.2 第2步—探索和准备数据6.4.3 第3步—基于数据训练模型6.4.4 第4步—评估模型的性能6.4.5 第5步—提高模型的性能6.5 总结第7章 黑箱方法—神经网络和支持向量7.1理解神经网络7.1.1从生物神经元到人工神经元7.1.2激活函数7.1.3网络拓扑7.1.4用后向传播训练神经网络7.2例子—用人工神经网络对混凝土的强度进行建7.2.1第1步—收集数据7.2.2第2步—探索和准备数据7.2.3第3步—基于数据训练模型7.2.4第4步—评估模型的性能7.2.5第5步—提高模型的性能7.3理解支持向量机7.3.1用超平面分类7.3.2对非线性空间使用核函数7.4例子—用支持向量机进行光学字符识别7.4.1第1步—收集数据7.4.2第2步—探索和准备数7.4.3第3步—基于数据训练模型7.4.4第4步—评估模型的性能7.4.5第5步—提高模型的性能7.5总结第8章 探寻模式—基于关联规则的购物篮分析8.1理解关联规则8.1.1用于关联规则学习的Apriori算法8.1.2度量规则兴趣度—支持度和置信度8.1.3用Apriori原则建立规则8.2例子—用关联规则确定经常一起购买的食品杂货8.2.1第1步—收集数据8.2.2第2步—探索和准备数8.2.3第3步—基于数据训练模型8.2.4第4步—评估模型的性能8.2.5第5步—提高模型的性能8.3总结第9章 寻找数据的分组—k均值聚类9.1理解聚类9.1.1聚类—一种机器学习任务9.1.2k均值聚类算法9.2例子—用k均值聚类探寻青少年市场细分9.2.1第1步—收集数据9.2.2第2步—探索和准备数据9.2.3第3步—基于数据训练模型9.2.4第4步—评估模型的性能9.2.5第5步—提高模型的性能9.3总结第10章 模型性能的评价10.1 度量分类方法的性能10.1.1 在R中处理分类预测数据10.1.2 深入探讨混淆矩阵10.1.3 使用混淆矩阵度量性能10.1.4 准确率之外的其他性能度量指标10.1.5 性能权衡的可视化10.2 评估未来的性能10.3 总结第11章 提高模型的性能11.1 调整多个模型来提高性能11.2 使用元学习来提高模型的性能11.2.1 理解集成学习11.2.2 bagging11.2.3 Boosting11.2.4 随机森林11.3 总结第12章 其他机器学习主题12.1 分析专用文件和数据库12.1.1 读/写Excel、SAS、SPSS和Stata文件12.1.2 查询SQL数据库中的数据12.2 处理在线数据和服务12.2.1 下载网页的所有文本12.2.2 从网页爬取数据12.3 处理特定领域的数据12.3.1 分析生物信息学数据12.3.2 分析和可视化网络数据12.4 提高R语言的性能12.4.1 处理非常大的数据集12.4.2 使用并行处理来加快学习过程12.4.3 GPU计算12.4.4 部署优化的学习算法12.5 总结

    相关资源:用支持向量机进行光学字符识别
    最新回复(0)