本节书摘来异步社区《机器学习与数据科学(基于R的统计学习方法)》一书中的第2章,作者:【美】Daniel D. Gutierrez(古铁雷斯),更多章节内容可以访问云栖社区“异步社区”公众号查看。
第2章 连接数据
机器学习与数据科学(基于R的统计学习方法)
数据科学和它的使能技术机器学习一样,都是关于数据的,即使用海量数据训练算法,对未来事件作出预测;也会对存储的数据进行筛查,发现对商业有战略价值的模式。所以很自然地,机器学习过程中一个重要的部分就是从与待解决的问题相关的分散资源中访问数据内容。很多机器学习和数据分析讨论的前提是你已经有干净的数据,可以直接把它们应用在探索性数据分析工具中,然后选择一个合适的机器学习模型。遗憾的是,这种情况很少发生,更多的时候,你需要定位数据,确定它使用了哪种格式,找到一个有连接数据功能的R包,最后,连接数据并把它读入R数据框(data frame)中——这就是本章的全部主题。这一过程为下一个重要的步骤(数据处理)打下了基础,而后者是本书第3章的主题。
让我们后退一步,为“数据”下一个定义:
数据是属于同一群体的定性或定量的变量的值;是你感兴趣的一组对象的集合,其中的一个变量是对一项的特征的度量。
群体的例子是一种产品的销售数据、广告效果数据和制造过程数据。定性的变量的例子是销售价格、某个广告的点击数和一小时内一种产品的产量。在机器学习项目中,连接数据阶段的目标是定位并获取能为问题域提供帮助的数据源。
数据连接在机器学习项目中的重要性不容小觑。在和其他组织一起从事机器学习项目时,我学到的最重要的知识就是,人们天生愿意把数据存储在多个位置,并以多种格式存储,而这些数据都可以用于机器学习。从某种意义上来说,缺乏合适的数据方法决定了我们需要具备从各种数据源中灵活获取数据的能力。无论你在初创公司、大型企业还是科研机构工作,你都需要掌握多种连接数据集的方法。
在可用数据没这么多且我们从数据中学习的能力没有这么强时,这些都不是问题。所谓的“大数据”产业,就是以有效的方式利用不同来源的数据。数据源的种类和深度在不断提升,这个方面一个很好的例子是,非结构化社会媒体的数据使用量在不断增加。利用这些数据可以得到人气和信誉值,并结合交易数据集来达到空前的预测能力。
本章的目标是为你提供一个有用的连接数据的工具包,以便你在后续的机器学习项目中重复使用。在这里学到的连接数据的步骤,将成为你构建数据管道的第一步,数据管道将在第3章讨论。当一名数据科学家遇到一类全新的数据源时,他必须研究引入机制(和这里展示的相似),并把数据加入到本章提供的工具中。逐渐地,你将拥有一个不断完善的工具包,它的功能不断增强,并能连接常见的数据源。像R这种开源工具的优势是,给一些时间,就有人能开发出新的包来处理种类不断增加的数据源。实际上,这就是Twitter上所发生的事情。
在本章中,我们会学习一些连接各种类型的数据内容并将其引入到R环境中作为学习算法输入源的方法。这一步代表了机器学习方程的第一步。以下是本章的主题列表:
管理你的R数据工作环境;
数据集的种类和来源;
从网络上下载数据集;
读取数据文件;
抓取网页中的数据;
使用SQL连接数据;
R中的SQL等价表述;
读取Twitter数据;
读取谷歌分析数据;
写数据。