大数据基础知识:技巧与概念

  • 大数据伦理
    • 匿名方面的挑战
    • 保密性方面的挑战
  • 大数据的来源和结构
    • 人类生成的数据
    • 机器生成的数据
    • 结构化数据
    • 非结构化数据
  • 存储大数据
    • 分布式存储与云
    • 云计算:IaaS、PaaS、SaaS 和 DaaS
  • Hadoop 简介
  • 准备大数据进行分析
    • 数据质量方面的挑战
    • ETL:提取、转换、加载
    • 大数据的其他特征
  • 大数据分析
    • 监控和异常检测
    • 数据挖掘与文本分析
    • 预测分析
    • 大数据可视化
    • Excel在大数据中的作用
  • 总结

大数据伦理

匿名方面的挑战

之前说过,大数据可以用来做很多神奇的事情,尤其在比较个体信息与海量数据集方面。但有些例子超出了界线,不再让人赞叹,反而令人毛骨悚然。这是因为,隐私是个重要问题, 而许多例子已经越界, 涉及到了人们不愿意透露的隐私信息。 人们都不希望个人信息被公之于众, 但过去几年里,对隐私有意 或无意的泄露已经造成了严重后果。而人们又确实希望获得优质服务, 需要进行良好的研究,问题难就难在这儿。 一种解决方案是,对数据进行匿名化处理。 方法是删除姓名和地址等标识信息,以及其他明显的个人身份信息。 但许多这类尝试都失败了。 处理大数据的主要挑战之一是, 即使我们可以通过删除明显的标识信息, 来使数据匿名化, 但对数据进行去匿名化处理,其实也是有可能的

  1. 下面这个例子就很有说服力,几年前网飞奖竞赛期间,网飞公布了用户电影评分的匿名数据集。两名研究员拿到这些信息,并与互联网电影资料库, 也就是 IMDb 中已确定的用户评分进行比较。随后,他们将 IMDb 上已确定姓名的用户 与网飞的匿名评分进行匹配,并将这两个数据集相连。一个更大的挑战是,竞赛指向了社交网络,就是说, 竞赛中的信息表明,通过一个随机数确定身份的这个人,与很多人有社交关系。 这样就得到了一张社交网络图。

    我们之前看过这张图, 每个圆都代表一个人, 这些线是将他们与其他人相连的节点。 在这种情况下,研究人员派出了电脑爬虫, 去浏览那些公开的社交网站。 结果发现,在没有其他信息,只有由形状组成的图表的前提下,仅仅通过匹配形状, 他们就能够识别出源自照片共享网站的社交网络。 他们能够识别社交网络中 与竞赛数据匹配的形状, 并且能够对这些数据进行 某种程度的去匿名化,只需进行几何匹配
  2. 近些年,情况更加戏剧化了。研究人员拉塔尼亚·斯威尼曾表示, 她可以买到马萨诸塞州剑桥市的选民记录。 左边是选民名单中每个人的姓名和地址、 注册日期、党籍、最近投票日期, 以及邮政编码、生日和性别。 单看这些信息并不可怕, 但知道他们在投票时的党籍, 情况就不一样了。
    她还发现,仅凭邮政编码、 出生日期和性别这三项信息, 就能够找到公开的医疗记录, 并对它们进行匹配,然后找到这个人的种族、 就诊日期、诊断情况、治疗过程、 用药情况和总花费。事实上,她曾通过数据集识别出了马萨诸塞州州长, 并通过上述过程获得了他的医疗信息。 她这么做不是为了要挖出哪个人身上的 黑历史,只是想让大家知道: 通过那些很容易获取的碎片信息, 比如邮政编码、出生日期和性别, 她可以正确识别医疗数据中 97% 的个体。 这是 20 年前的事了,好消息是, 有关这类公开信息的法规从那时起,就发生了变化。
  3. 现在,我们颁布了 《健康保险隐私及责任法案》,主要针对医疗中的隐私监管。法案要求对大约 17 种主要变量进行匿名化或汇总处理。 比如,医疗记录不能显示年龄或出生日期, 只能说一个大概的年龄段。 如果年龄超过 89 岁,只能说 89 岁以上。 不能显示邮政编码,只能显示所在州,这样可以扩大信息范围, 提高识别个体的难度。拉塔尼亚所做的其它研究表明, 在去除掉受法案保护的信息后,只有 0.04% 的个体可能会被识别。我们来做个对比,被闪电击中的概率大约是 0.01%,所以二者的风险差不多。 同样,法学教授保罗·欧姆表明,重新识别匿名数据集中的个体是很困难的。 他说,这需要大量的统计和数据管理技能。就是说,这可以做到,但很困难。 正如斯威尼所展示的,只要对信息进行适当匿名处理,识别出个体几乎不可能。 举这些例子的目的不是鼓励你钻牛角尖,而是提醒你在处理大数据时, 特别是涉及到个人身份信息时,要小心谨慎,保护隐私。匿名化只是个开始,要想做得好,就需要小心谨慎。如果能做得好, 我们就仍然可以在不越界或不触碰法律红线的情况下, 提供服务、进行研究。

保密性方面的挑战

在上个视频中,我们讨论了在大数据领域,通过匿名方式保护个人身份信息的 重要性和难度。 匿名意味着个人不会被认出来。 但是,隐私的另一个要素 是对非公开信息的保密。简单来说,保密是指:无论是否可以通过数据来识别个人,这些数据都不会与未经许可的人共享。 保密关乎信任,是互动的前提。

  1. 比如,我把信用卡信息给了几家网络公司。原因如下:第一,有了这些信息, 我们的互动会更轻松; 第二,我相信他们会对这些信息保密。但是,有一些例外和限制需要讨论一下。首先,在进行交易时,公司会与第三方共享有限的信息。 假设某人在购物时需要支付一大笔钱,商家通常会联系银行, 询问这个人在银行里的钱够不够支付这笔交易。 他们只是想确认钱够不够。银行要做的就是告诉他们,够还是不够。 所以,共享的信息量很少,银行不会泄露这个人的账号和身份信息,也不会告知实际余额,只会确认他们是否有足够的钱,来支付某笔交易。
  2. 另外,有时还会出现信息被盗的情况。很多家公司的数据都被盗过,包括信用卡信息、地址和其他重要个人信息。有过这种情况:消费者不再相信 自己的信息是安全的, 这给公司造成了数亿美元的损失。
  3. 另外,还有这样一个限制: 在法律诉讼过程中,公司有时不得不向法院或政府监管机构提供用户信息,否则就可能彻底倒闭。这种情况很尴尬,但的确时有发生。重点是,这种做法虽然合法,但一开始并未征得用户的同意,所以,即使这符合法律要求,也违背了信任原则。

虽然存在这些例外,但也不能将数据完全束之高阁,因为它们能够提供非常重要的服务,不过确实要多加注意。所以,美国国家科学基金会和国家卫生研究院已制定相关政策,要求研究人员必须针对研究数据的访问权限,提出具体的计划另外, 有些保险公司还针对数据泄露风险推出了保险服务,公司应该考虑是否购买这类保险。这种做法虽然不常见,但却可行。 最后,公司应该认真考虑,自己是否确实需要这些机密信息。 毕竟,如果一开始就没有,也就丢不了。所以,公司应该想想自己的实际业务, 看看这些信息是否重要。举例来说,新的人寿保险公司可能希望获得用户的医疗记录。 但是,如果信用卡公司拥有这类信息, 就很难让人理解。 所以很明显,如果数据需要保密, 就容易出现状况。 但这并不表示, 要完全避免使用包含非公开信息的数据。 毕竟,这是让餐厅和电影推荐平台这么受欢迎的原因, 并且,大数据在医学研究中也相当重要。 有些好处只涉及个人便利,可以放弃, 而另一些则关乎生死,值得保留。 出于这些原因, 公司应该认真考虑如何处理非公开信息。 这样,消费者和大数据研究的受益者, 也就是普通人的信任才能得以维持, 大数据也能充分发挥自己的优势。

大数据的来源和结构

人类生成的数据

大数据有几种不同的来源。其中一种分类方法,就是看数据是由人产生的,还是由机器产生的。不管有意无意,人类都产生了大量数据。 这就是这个视频将要讨论的。首先,说说我们有意产生的数据。创建这类数据时,你是知道的。比如,你知道自己正在拍照片、拍视频、录音频,或正在社交网络上发布文字。 你还可以在微博上点“赞”。进行网络搜索时, 将浏览过的网页记录添加为书签。 你的电子邮件、短信和通话记录。 电子书中的高亮文本、 书签中的笔记和在线购买记录。 所有这些数据在人们有意创建之前, 都是不存在的,所以是人们行为的记录。 有趣的是,除了这些有意产生的信息, 还有元数据。 元数据是关于数据的数据, 也可以叫作由人生成的二级数据。 这个词是我编的。 但我要说的是,这些数据是伴随 你的行为产生的,你可能都没有意识到。有趣的是,元数据可能很庞大,有时比你创建的实际数据还要大。并且,因为它们是计算机生成的,机器可读也可搜索, 所以对大数据来说最为重要。 接下来, 我会介绍元数据中的一些内容和它的用途。

  1. 举个很简单的例子,照片。 如果你用手机拍照,不仅会得到照片, 还会得到所谓的 EXIF 数据。 也就是可交换图像文件格式数据, 这是来自 iPhone 上图片的元数据。 除了左上角的文件名、3.1MB 和拍摄时间, 在右边靠近底部的地方, 你还能看到 GPS 海拔、经纬度和位置, 往上甚至还能看到 GPS 图像方向。 它知道你拿相机的方向。 这是随照片一起生成的大量信息。 另一个有趣的东西是手机元数据。 这类信息通常并不公开, 所以我们讨论的实际上算是一种学术兴趣, 这里要说的是,打电话会产生很多信息, 甚至在不知道通话对象和内容的情况下, 也能了解两条信息,那就是***通话时间和位置***。 有趣的是,有了 4 组这样的数据, 或者说, 4 次你知道时间和位置的通话, 在匿名数据集中, 就足以识别 95% 的个体了。 我想再强调一次,这类信息是 不公开的。 但重点是, 通过元数据可以了解关于某人的很多信息。
  2. 另一种是电子邮件元数据。 每封电子邮件都包含很多信息,但有 4 种很常见的信息,就是发件人、 收件人、抄送人和发送时间*。 你可以亲自做个有趣的实验: 使用麻省理工开发的一款网络应用, 通过电子邮件帐户快速分析一下 自己的社交网络。 我们来看看它的网站。 这是它的网址:https://immersion.media.mit.edu
    它会提取电子邮件的这 4 种信息 然后,整合成一张网图。 我自己做过,非常有趣。 这需要花几分钟时间, 并且你必须刷新才能获得最新数据。 在这个例子中, 我会使用下面的这个演示功能, 所以数据都是虚构的, 但实际操作后的结果和这个类似。 托尼·斯塔克并不在麻省理工。 这里根据六年中他和 159 位合作者 之间的两万封电子邮件, 对他的信息进行了虚拟分析, 你可以看到群组中都有谁。

    和特拉维斯之间的邮件最多。 看起来特拉维斯和塔比莎之间有联系。 你还可以更改,比如说,这里的分布方式。 显示的节点数,现在,显示的人越来越多。 我们可以把它变小一点, 还可以调整他们之间的关联强度,你看, 现在所有人之间都没联系了,现在又有了。 有趣的是,当我使用这个应用的时候, 能看到一个专门的家人群组。 一个专门的工作群组。 一个跟我合作的领英团队的专门群组, 和一个面向我曾经合作过的 非营利组织的专门群组。 有趣的是,有时人们会同时联系其中的 几个群组,更有趣的是, 这一切的基础就只是收件人、发件人、 抄送人、发送时间和日期信息,仅凭这些, 就重建了你的个人社交网络
  3. 最后,我想介绍一下推特。 有趣的是,推特不仅是一个热门社交网络, 每条推文还都很短。 字数都限制在 280 个字符内。 从研究角度来看, 每条推文都附带了大量元数据, 这很有趣。所以,我要去看一篇文章, 标题是“从技术上讲,你的推文里有什么?” 往下一点,放大这张图。 这是推特的一位员工整理的。 把它再放大一点。 来到顶部,这条红色的信息就是推文的内容。 也就是你打算发布的内容, 但看看附带的所有其他信息:是否有回复、 是否被截断、作者的显示名称和 URL 、 位置,以及这些显示信息、创建日期、 帐户、粉丝数、时区、语言、 他们是否有认证徽章、地点编号、 URL、国家/地区、 边界框和他们使用的应用软件。 信息量巨大。 在这种情况下, 元数据的数量要比实际内容多好几倍。 这是最有趣的一点,也是推特被视为 特别丰富的数据集来源的原因, 尤其是对于市场调研人员 或社交关联研究人员来说。 总之,重点就是,这些都是大数据的来源。 并且,有趣的一点是,元数据不需要处理。 计算机可以直接读取。它还可供搜索。 可以提供信息。马上行动起来, 收集相关信息,进行大数据分析吧!

机器生成的数据

T·S·艾略特的诗《普鲁弗洛克的情歌》里 有一句话: “我听见了女水妖彼此对唱着歌。 我不认为她们会为我而歌唱。” 我之所以引用这句话是因为据估计, 世界上多达 95% 的数据 是人眼永远看不到的。 很多这种不可见数据叫做 M2M, 也就是机器对机器数据。 机器之间相互通信,人类却听不到, 就像普鲁弗洛克的女水妖。

  1. 下面来看看机器生成的数据的一些来源。 这里罗列了很多,但并不全面, 比如手机向基站发送信号以检查所处位置、 卫星无线电和 GPS 连接以定位汽车或手机、 数十亿物品上的射频识别标签的读取数据、 来自医疗设备的读取数据、 网络爬虫和垃圾邮件程序。 垃圾邮件程序被垃圾邮件过滤器阻止, 彼此相互攻击,想想就特别有趣。
  2. 也许机器对机器通信中最有趣的部分 是物联网,有时简称 IoT。据估计,到 2020 年,可能会有多达 300 亿台可唯一识别设备连接到互联网。 这实际上需要大大改变互联网寻址系统的运行方式,以容纳所有这些设备, 但基本上所有事物都会有一个芯片连接到互联网,它们相互通信,共享信息。 你会听到人们谈论家里、所在城市 或空调上的智能传感器, 知道什么时候开灯或改变温度的智能家居, 城市里产生和发送电力的智能电网, 或者协调所有交通和公共设施以更有效、 更经济地提供更好服务的智能城市。 所有这一切都将通过物联网中相互 通信的小个体来实现,它们直接通信, 不需要人类作为中介。 这方面的一些用途包括在生产线上安装传感器,来监控系统何时需要维护, 或者安装智能电表, 以便在不影响服务的情况下, 在高峰期关闭系统。 我的狗的皮肤下有一个小芯片, 它的作用是识别宠物和家畜, 通过系统跟踪动物。 还有恒温器和灯泡,如今你可以用 iPhone 控制灯泡。还可以监测环境, 比如空气和水的质量、大气或土壤条件、 野生动物的活动、地震和海啸预警系统。 还有基础设施管理,比如桥梁、铁路、 风电场、交通系统的控制和监测。 工业应用,比如制造流程控制、供应链网络、 预见性维护或与智能电网集成,以优化能耗。 能源管理,就是开关、插座、灯泡、电视、 屏幕和加热系统、控制烤箱、改变照明条件。 然后是医疗保健系统、 建筑及智能家居、运输系统。 基本上,任何机械设备最终都可以 通过物联网进行连接和通信。 当它们相互通信并协调自己的活动时, 会产生大量数据。 我们在上个视频中探讨了,机器生成的和人工生成的数据之间的区别, 最大的区别在于机器一般不会在脸书上 发自拍,不会在视频网站上发布搞笑视频, 不会写求职信并放在领英上, 所以两者的内容不一样,但有趣的是, 内容可能并不是最重要的区别。 机器生成的数据的最重要特征在于, 所有机器生成的数据都能通过计算机读取, 可以即时搜索、读取和挖掘。 它具有大数据的两个特征:数量多和流转快。 但种类较少,让计算机更容易处理。 而这引出了结构化、非结构化和半结构化数据 之间的重要区别, 我们将在下一个视频中探讨。

结构化数据

如果数据位于具有固定字段或变量的文件中,就是结构化数据。这种结构化数据库最常见的例子,是电子表格, 里面的每一列是一个变量, 每一行是一个样本或观测值。 但在商业领域,大型数据集通常存储在数据库中。 具体来说是关系数据库, 它与电子表格有一些共同特征,比如行和列, 但能存储更大的数据集,更灵活稳定。 最近一项对数据库用户的调查发现, 近 80% 的用户使用关系数据库, 微软 SQL Server、MySQL 和甲骨文(Oracle)是最常见的。 在继续之前, 我要简要介绍一下 SQL 数据库的历史。

七十年代初,IBM 的研究人员写了一篇文章, 介绍结构化英语查询语言,简称 SEQUEL。 后来因为版权问题, 改称 S-Q-L,但人们普遍读作 SEQUEL。 不过,IBM 并没有把 SQL 商用, 反倒是一家关系软件公司在七十年代末 进行了商用,就是后来的甲骨文, 现在它仍是全球最大的数据库软件供应商之一。 甲骨文还因联合创始人拉里·埃里森而闻名, 他是世界上最富有的人之一。 SQL 能让你方便地提取、计数和排序数据, 以及在数据集之间创建交集, 还能添加、更新和删除数据。 与点击鼠标并在电子表格中进行选择相比, 这种语言使用起来要容易得多。 以学生信息数据库为例, 要获取学生的性别、学院、系和专业, 可以用 SQL 命令:SELECT,这是一个函数, 然后是四个字段或变量:性别、学院、系和专业。 另一个函数 FROM 是指来自名为“学生”的表。 如果你希望更详细一些,可以使用 WHERE 语句或命令指定 25 岁以上的学生。 这就构成了一句话。 从表“学生”中选择性别、学院、系、专业 这四个字段,而字段“年龄”的值大于 25, 句末使用分号。关于结构化数据 和 SQL 数据库还有很多内容,建议你观看 我们网站上有关这些主题的一些精彩课程, 比如“编程基础教程:入门篇”和“SQL 基础培训”。 接着,我们将了解结构化数据和 SQL、 非结构化和半结构化数据, 以及非 SQL 数据库。

非结构化数据

上个视频介绍了结构化数据, 这种数据通常放入 具有固定字段的文件, 比如电子表格或关系数据库。 例如,这是一张表, 包含一些运动队的基本数据。 第一列是运动, 第二列是队名,每支球队一行。 像是从 Excel 电子表格中截取的一样。 其实,我就是复制粘贴的, 格式是现成的,很容易处理。

  1. 另一方面,还有非结构化数据, 也就是文本。 如果在报告中写入这些数据, 你可能会写:“欧洲两支著名的足球队 是曼联和巴塞罗那”、 “美国两支国家橄榄球联盟球队 是奥克兰袭击者和田纳西泰坦”。 这种数据对人来说很容易理解, 对计算机来说却很难理解。 对这种数据进行排序并不容易。 很难重新整理和计算值, 也很难添加更多的观测。 这是一个非结构化数据的例子, 它不能放在固定字段中。 文本文件、演示文稿、 图片、视频、音频、 PDF 等都属于这种数据。 这种数据大部分是商业数据。 我估计,大约 45% 到 80% 的商业数据 都是非结构化数据。 这种数据处理起来有点困难。 你可能需要将它转换为文本, 然后使用文本挖掘程序 对数据的句子进行结构化处理, 但这很难,也很耗时。 另外,数据不一定是电子表格中的 结构化数据, 或文本中的非结构化数据。
  2. 还有第三种,就是半结构化数据。
    它指的是不在固定字段中的数据, 不是电子表格的行和列, 但字段仍标记出来,数据可以识别。 半结构化数据有两种常见格式, 并不是只有这两种,但最常见, 分别是可扩展标记语言和 JavaScript 对象表示法。 我来展示一下使用 XML 编写的运动数据。
    我们使用一系列括号来 表示当前显示的信息。 第一组括号表示我们要讨论运动。 接下来这个字段中的值是“足球”, 我们把它分解成两支球队, 每支球队都以尖括号开头, 然后用尖括号加上斜杠 表示已经讨论完这支球队。 你见过 HTML 吗,和它很像。 另外,它以嵌套和派生格式进行排序。 这表明 XML 或其他半结构化数据格式, 非常适合嵌套数据或层级结构, 但如果试图在电子表格中 显示这种格式, 必须重复大量信息。 这可以避免重复,从这点来说, 它实际上更高效。 另一方面,XML 格式出现的稍早, 有点冗长。 最新的是 JSON,也就是 JavaScript 对象表示法。JSON 与 XML 类似,但没那么多文本。 还是使用括号。 使用大括号开始, 然后对字段名称和值使用引号, 但输入输出结构和之前的一样。 这种结构的好处是也可以写成一行。 这样更紧凑。
    还可以展示前面提到的数据层次性或嵌套性,无需像在原始电子表格中那样重复信息。 这些就是非结构化和半结构化数据。 接下来我们要探讨可以 存储这些信息的数据库, 它们与使用行和列来存储结构化数据的 SQL 数据库不同。 半结构化和非结构化数据, 通常存储在所谓的 NoSQL 数据库中。
    过去 NoSQL 是指非 SQL, 现在却不仅局限于 SQL, 因为它非常灵活, 可以处理多种数据格式。 它们大多使用半结构化格式。 例如,最常见的 NoSQL 数据库 是使用 JSON 的 MongoDB。 它是一种灵活的结构,对于某些任务, NoSQL 数据库 比 SQL 数据库快很多。 不过,它们的使用 并不像关系数据库那样广泛。 例如,我在上个视频中 提到的调查显示, 大约 79% 的企业使用过关系数据库。 而使用 NoSQL 数据库的企业 只有大约 16%。 另一方面,NoSQL 数据库容量很大, 我们稍后要介绍的 Hadoop 就是这样, 几乎所有的大数据都存储在 Hadoop 或 Mongo 数据库中。 尽管个数较少, 但海量数据都是以这种格式存储的。 还有一个大问题, SQL 数据库都使用至少 相对标准化的 SQL 查询语言, 但 NoSQL 数据库没有 合适的标准化查询语言, 这意味着当你从一个换到另一个时, 可能需要重新学习如何使用。 这是一个问题, 不过 NoSQL 数据库领域发展迅猛, 我想这很快会得到解决。 同时,如果你想多了解非结构化数据、 半结构化数据或 NoSQL 数据库, 可以观看我们网站上的其他课程。 了解最前沿、最灵活的格式, 以及其在 Web 数据和大数据中的应用。

存储大数据

分布式存储与云

大数据数量多、流转快、种类多。 因为数量多,很难用一个硬盘保存, 所以,分布式存储, 也就是存储在多台计算机中, 已经成为必然。 在传统的存储系统中, 磁盘上的数据以块的形式进行存储。 每个块包含 0 和 1, 构成字母和数字的字节。 存储数据还包含错误修正码, 用于验证存储数据的完整性。

  1. 如果数据集对于计算机硬盘来说太大, 再添加硬盘是一种简单的解决方案。 例如,我的笔记本电脑 通常连接 4 个外部硬盘, 每个硬盘都可以提供空间,还都有特定功能。 这种方法在一定程度上有效,但也有局限性。 首先,它们只能连接到你的电脑。 其次,它们都处在同一个物理空间, 如果房间烧毁,你会立刻失去一切。 第三,通常只有一份数据, 也就是说,信息不一定冗余。 第四,无法与他人共享文档。 另外,如果硬盘损坏, 比如上个月我的主备份硬盘就坏了, 我只得放下一切活动进行修复。 所以,只为电脑增加外部硬盘, 并不是理想的解决方案。
    2.多年来,这个计算机问题的最佳解决方案是, 创建存储区域网络, 简称 S-A-N 或 SAN。 它是指机架上庞大而昂贵的磁盘集合。 不过,它有很多出色的功能。 它可以分布在一个很大的地理区域内; 可以包含冗余, 所以信息总是写入到多个硬盘; 另外,维护相对容易, 可以在不关闭整个设备的情况下, 更换出故障的硬盘。 另一方面,存储区域网络安装起来非常昂贵, 并且需要大量技术工人来维护。 所以,许多企业都在寻找可行的备选方案。
  2. 过去几年,云存储,也就是通过互联网存储, 不仅成为可行方法,还是首选方法。 云存储很有吸引力,尤其是对大数据, 因为存储空间可以扩展。 也就是说,它可以按需租用。 无需前期的安装或维护成本, 而云提供商提供的冗余级别, 让数据几乎不可能丢失或损坏。 你可以把它看作是 Box、Dropbox 或百度网盘等服务的工业级版本。 最受欢迎的云存储供应商可能是亚马逊, 当然它不是唯一的一家, 它提供的服务叫作亚马逊 S3。 借助亚马逊等提供的服务, 基本上可以存储无限量的数据。 例如,网飞就使用它来存储所有电影。 这些云存储还可以通过定制满足一些目标: 可扩展性,指需要多少存储空间; 冗余,指需要多少备份,以防发生问题; 速度,指提取信息时需要的速度。 例如,是存储在普通硬盘上, 还是存储在固态硬盘上。 显然,更快、更安全意味着更多的金钱。 另一方面,研究还表明, 很多数据在写入之后便不会再有人访问, 这让一些更经济的方案很有吸引力。 例如,有一些深度冻结解决方案, 亚马逊的叫作 Glacier 服务。 其他企业提供更便宜的类似程序, 但需要提前几小时通知才能提取数据。 现在,随着数据从常规格式发展为大数据, 存储问题会成倍增加。 必须跨多个硬盘、多台计算机来存储数据, 还要确保数据安全。 成本和空间问题会变得难以承受。 所以,大数据企业转向云存储提供商, 来解决这些问题。 有趣的是,云提供商能做的不只是提供存储, 下一个视频会详细介绍

云计算:IaaS、PaaS、SaaS 和 DaaS

云计算是指通过互联网提供的计算机服务, 而不是通过你的计算机。 云计算中最常见的服务包括基础设施即服务、 平台即服务和软件即服务。 这个课程是关于大数据的, 所以我还会介绍数据即服务。

  1. 基础设施即服务是指 以在线方式提供计算机物理硬件, 因此有时被称为硬件即服务。我们可以把它看作是托管层。 它包含磁盘驱动器、服务器、 内存和网络连接。 例如,上个视频讨论了在线存储, 它是基础设施即服务的一个元素。 另一方面,我们谈到的存储 并没涉及提供计算机芯片或内存。 如果你需要数百 TB 的存储空间、 数百 GB 的内存和超高速网络连接, 那么基础设施即服务是很不错的方式。 借助这项服务, 企业可以大大节约购买和维护 自有设施所需的资金和时间。 为基础设施即服务提供支持的是虚拟化, 是指让计算机同时运行多个操作系统的软件。 例如,使用 Parallels Desktop 等软件, 我可以在 Mac 上 运行 Windows 和 Linux。 这些被称为虚拟机。 亚马逊、微软、VMWare、 Rackspace 和 RedHat 都是基础设施即服务领域最重要的参与者。
  2. 接下来是平台即服务。 我们可以把它看作构建层, 因为开发人员使用它 来构建在 Web 上运行的应用程序。
    平台即服务包括操作系统等中间层软件, 以及中间件中的 Java 运行时等其他组件, 这些组件可以支持更高级别的软件运行, 例如使用微软的.Net 或 Java 的基于 Web 的应用程序。 借助平台即服务, 还可以访问甲骨文等数据库、 Hadoop 以及 WebLogic、 MicrosoftIIS 和 Tomcat 等应用程序服务器。 为销售人员提供支持的常用软件 Force.com 和谷歌的 AppEngine, 都是知名的平台即服务。 平台即服务的入门成本很低, 可以为新公司或现有公司带来无限增长, 因为他们不需要自己购买硬件 或向软件供应商购买许可, 就可以提升应用程序的性能。 但是,它提供的计算能力 是大多数用户永远都用不到的。
  3. 接下来是软件即服务。 对于大多数人来说,这是最高层。 我们可以把它看作群计算的消耗层。它包括完全通过浏览器运行的 Web 应用程序, 例如 Gmail 和 Google Drive Docs、 Office 365 等。 这个市场的关键在于, 这些随时可用的软件即服务比安装软件容易, 安装可能需要几小时、几天甚至更长时间。 利用软件即服务, 我们还可以使用 Chromebook 等廉价电脑,在网络上完成所有操作。 我有几台 Chromebook,很不错。
  4. 接下来要介绍的是数据即服务。 这是这个视频中讨论的云计算的最后一层。 注意,不要把它与桌面即服务混淆, 后者是另一种更常见的软件即服务。 数据即服务也是一种在线服务, 但它不提供对计算硬件、操作系统 或应用程序的在线访问, 而是提供对数据的访问。 因此,数据即服务提供商 类似于所谓的数据市场或数据集市。 数据即服务的原理是, 数据即服务提供商 通过让客户快速经济地访问数据, 来提供重要的服务,同时保证数据质量。 例如,在上个视频中, 我介绍了市场研究人员 可以购买客户的人口统计信息, 并与自有记录匹配, 这就是数据即服务的一个例子。 或者,有些公司会记录所有发送过的推文, 而你可以付费查看, 这也是个例子。 这个市场中还有其他公司。 在可获得和可提供的数据方面, 这个市场仍有很大空间。 这个视频中探讨了几种云计算服务: 基础设施即服务、平台即服务、 软件即服务和数据即服务。 它们都能在大数据项目中发挥重要作用。 它们可以提供存储和 处理数据所需的物理资源、 与数据交互的软件,甚至数据本身。 这几种服务的共同之处在于 能够减少客户的业务负担, 让他们可以将资源、资金、空间、时间和精力 用在处理数据上, 并充分掌握有关自己项目和进展的信息。

Hadoop 简介

有关大数据的讨论 必然会提到 Hadoop。 Hadoop 是很常见、 很强大的数据处理平台, 但要确切了解它是什么以及它的功能, 可能有点儿难。 这个视频会尽可能 简要地介绍 Hadoop, 内容取材于一些相关课程, 但做了尽可能的简化。
第一个问题,什么是 Hadoop? 在大数据或其他颠覆性的商业领域中, 人们会直接使用这个词。 其实 Hadoop 这个名字 来自一位开发人员的儿子的毛绒玩具: 一只小象,这也是徽标使用小象的原因。 但什么是 Hadoop?它有什么功能? 最重要的是, Hadoop 不是单一的东西, 而是一组用来处理大数据的软件程序。 它是由几个不同的模块组成的框架或平台。

  1. 也许 Hadoop 最重要的部分是 Hadoop 分布式文件系统, 它的作用是获取一段或一组信息, 并将它们分布到多台计算机上。 可能是几十台、几百台或几万台计算机。 因此,在某些情况下,它不是数据库, 因为数据库,尤其是关系数据库, 通常是一个文件,包含多行多列数据。 Hadoop 可以有数百个 或数百万个单独的文件, 分散在多台计算机上, 而这些计算机通过软件相互连接。

  2. MapReduce 是 Hadoop 的另一个关键部分。 它是一个包含映射和汇总的流程, 虽然有些反直觉,但原理是这样的。 映射是指接受一项任务和相关数据, 将数据分割为多个片段, 这是因为你要将数据发送到各台计算机, 而每台计算机只能处理这么多信息。 假设你有 100GB 信息 而每台计算机的内存是 16GB, 你需要将信息 分成 60 或 70 个片段, 然后发送到你从亚马逊网络服务 或别处租用的每台计算机。 映射流程将数据分割, 并发送到各台计算机上进行平行处理。 汇总流程会获取 你在几十台计算机上执行的分析的结果, 然后将输出整合,得到一个结果。 现在,初始的 MapReduce 程序 已经被修补性的 Hadoop YARN 取代, 它也是资源管理器, 有时被称为 MapReduce2, 但是 YARN 可以完成 MapReduce 无法完成的许多工作。 原来的 MapReduce 执行批处理, 这意味着你必须一次将所有数据放在一起, 一次将数据分割,等待处理完成, 然后得到结果。 YARN 可以进行批量处理和流处理, 后者意味着数据以最快的速度流入 并同时发送出去。 YARN 还可以进行图处理, 也就是社交网络连接。 这是一种特殊的数据。

  3. 接下来是 Pig。 Pig 是 Hadoop 中的一个平台, 用于编写 MapReduce 程序, 也就是将数据分割、 收集结果再将结果汇总的过程。 它使用自己的语言: Pig Latin 编程语言。

  4. Hadoop 最常见的 第四个主要组件是 Hive, 它用于汇总查询 并分析 Hadoop 中的数据。它使用类似 SQL 的查询语言 HiveQL, 这是一种大多数人 在实际处理数据时使用的语言, 因此,Hadoop 分布式文件系统、 MapReduce 或 YARN 以及 Pig 和 Hive 就是大多数人使用的 Hadoop 功能。

  5. 另外,还有其他可以使用的组件。例如,HBase 是非 SQL、 非关系数据库,也可以用于 Hadoop。 Storm 可用于处理 Hadoop 中的流数据。 Spark 可用于内存中处理, 这一点其实很重要, 因为这意味着 你可以将硬盘上的数据放到内存中, 速度要快得多。 事实上,内存中处理的速度 比在磁盘上处理快一百倍, 即便你必须完成将信息 放入内存这个过程也是如此, 而人们在做统计时往往不会考虑这个过程。 Spark 通常与 Shark 一起使用, 后者支持内存中处理。 然后是 Giraph, 用来分析社交网络数据的图形。 现在,可能有 150 个不同的项目 都与 Hadoop 相关。 这些只是一些主要组件。

那么问题来了, 在哪里使用 Hadoop 呢? 可以将它安装在任何计算机上。 如果愿意,可以安装在笔记本电脑上。 其实很多人是这样做的, 他们用它来练习并完成设置, 然后发送到云计算平台, 事实上,云平台就是它的常用位置。 在云计算提供商方面, 亚马逊网络服务是最常用的。 微软 Azure 有他们自己的 Hadoop。 另外,还有很多其他提供商 允许你安装 Hadoop 并在他们的计算机系统上 运行 Hadoop。 谁使用 Hadoop? 基本上所有有大数据的人都会使用。 雅虎是 Hadoop 最大的用户, 这并不奇怪, 因为 Hadoop 就是雅虎开发的。 他们有超过四万两千个节点 运行 Hadoop, 规模之大令人难以置信。 领英大规模使用了 Hadoop。 脸书也大量使用 Hadoop。 Quantcast 是一家 在线市场营销分析公司, 也大规模安装了 Hadoop, 这样的例子还有很多。 最后,值得一提的是 Hadoop 是开源的。 它由雅虎工程师开发, 现在是 Apache 的一个开源项目。 所以我们经常听到 Apache Hadoop、 Apache Hive 或者 Apache Pig 这些叫法。 开源项目的一个特点是免费, 这在一定程度上有利于它的普及。 另外,任何人都可以下载源代码并进行修改, 这就是为什么 Hadoop 有非常多的修改、扩展或程序, 而这些都充分利用了 Hadoop 的功能。 我要说的是, Hadoop 不是单一的东西, 而是一组东西的集合, 它让处理大数据变得更容易, 特别是在云计算环境中使用时。 Hadoop 在大数据领域非常受欢迎, Hadoop 开发项目非常活跃, 但市场竞争也非常激烈。 并不是每个人都愿意袖手旁观, 让 Hadoop 处理一切。 对于那些想在大数据项目中 使用最好的工具的公司和客户来说, 这应该是一个非常令人兴奋的局面。

准备大数据进行分析

数据质量方面的挑战

在任何数据项目中,数据质量都至关重要。 但在大数据中,质量更难把控, 因为数据往往来自当前项目之外, 而且具有自身的意义。 研究人员无法像在标准小数据项目中那样 完全控制数据。 假设进入大数据项目的大部分数据 曾经是电子表格中的数据。
而一些研究人员发现, 他们检查的近 95% 的 电子表格都有错误。 这又回到了我们熟悉的计算机科学术语 “垃圾输入,垃圾输出”。 数据会有这些问题, 即便使用 Hadoop, 即便进行非常复杂的分析, 如果在刚开始时使用的数据有问题, 最终结果也是错误的。 现在回到我们所说的概念。 确保在工作开始时使用好的数据, 以获得合理、有利的结果。 我来快速回顾一下数据质量方面的一些挑战。
第一,数据记录不完整或损坏。 这会导致空指针, 也就是要找的信息不存在 或导致除零操作, 这实际上会导致计算机崩溃。 记录会重复,这意味着, 比如一个人可以出现在很多地方, 这就解释了为什么我每次都要收到 同一家公司寄出的三张明信片。 文本和数字输入错误。 例如,可能不小心输入了一个错误数字, 多输或少输了几个零, 这样结果就会大大改变。 数据缺少上下文或者缺少测量信息, 例如测量单位。 你可能还记得 1998 年 美国国家航空航天局 发射的火星气候探测者号, 当时花费了近 3 亿美元, 一年后,探测者号在靠近火星时坠毁, 原因是一些飞行编程数据 没有转换成公制单位。 所以,不正确指定数据的单位 可能付出极大的代价并浪费大量的时间。 还有数据转换不完全的问题。 比如,据我了解在心理学领域, 如果人们手动作答, 需要将代码信息逆向转换。 你进行了转换, 但无法每次都确定是否完全转换, 这很糟糕, 因为你通常需要将这样的数据丢弃, 但在大数据项目中往往又不能这样做。 所有这些问题在小数据项目中也存在, 但在大数据项目中,它们更严重, 在性质上完全不同。 大数据面临的一个问题是, 没有一个标准方法来检查数据是否准确, 这是因为,收集数据的人 与分析或展示数据的人可能是不同的人。 另外,如果数据 一直存储在 Hadoop 中, 可能不需要提取和转换。 我们将在下一个视频中讨论这个问题。 如果你没有转换数据,就不会检查数据, 所以当你查找某些内容时, 可能会漏掉某个空间。 所有这些问题都是小数据项目中存在的, 但在大数据项目中,这些问题变得更加重要。 所有这些都说明了, 在每一步都仔细检查数据是多么重要, 尤其是当你将数据提取出来并进行转换时, 这就引出了我们要在下一个视频中讨论的 提取、转换和加载步骤。

ETL:提取、转换、加载


ETL 代表提取、转换和加载。 这个术语来自数据仓储, 数据通常存储在一个或多个大型存储系统 或数据仓库中,但没有进行分析。 首先必须将数据从存储中拉出, 这是提取阶段。 然后必须转换为适当的格式进行分析, 尤其是在从多个不同的源拉取数据时, 这些源的格式可能不同,所以需要转换。 准备就绪后, 必须通过单独步骤将数据加载到分析软件。 每一步都需要大量时间。 事实上,有几家软件供应商销售的软件 就是用来在处理数据仓库时, 帮助完成 ETL 过程。 想想就知道,文档会以多种不同的格式存储。
例如,如果是文本文件, 可能是微软 Word 文件、 HTML 网页、 电子邮件或 PDF 等格式。 如果你想处理文本, 必须将所有文档转换成一种通用格式, 这样才能同时使用它们完成所有工作。 例如,一种常见的文本处理方式是 转换为纯文本,也就是 .txt 文件。 这很好,因为基本上所有软件 都能读取文本文件。 但问题是,你会丢失所有格式, 而格式有时会传达重要信息。 更严重的还会丢失图片之类的内容。 你可能需要使用别的格式。 Markdown 格式 可能是一种不错的替代方法, 它基于文本, 但有用于设置格式的代码或指示符。 不过,你需要考虑如何整合内容, 在这个过程中哪些信息必须保存、 哪些信息可以丢失。
大数据的有趣之处在于 ETL 过程在大数据中的工作方式不同。 这与 Hadoop 的影响有关。 因为数据的起止都在 Hadoop 中, 不是从一个系统转到另一个系统, 而是始终在同一个系统中。 你把它从系统的某个部分移动到其他部分, 但它还在同一个通用系统中, 这真正改变了提取和加载过程。 另外,Hadoop 可以处理 不同的数据格式。 它可以处理许多不同源中的非结构化数据。 所以,使用 Hadoop 时, 转换过程也截然不同。 Hadoop 除了让操作变得更简单之外, 还让你无需特别注意提取、转换和加载过程, 因为它并不是以完全相同的方式进行。 没有太多的数据检查, 无需特意思考来解决这些问题。 它不会迫使你去思考。 另一方面,有趣的是, 你确实错过了一些机会, 无法更好地了解数据和检查错误。 而 Hadoop 的讽刺之处在于, 它让你的生活变得更简单, 但有时你需要让生活变得难一些, 必须特意选择检查数据,保证质量, 确保你知道里面的内容。 希望大数据用户能够抓住这个机会, 使用下一个视频中探讨的一些标准 来审核数据,从而保证质量。

大数据的其他特征

在课程的开头, 我提到大数据通常有 3 个特征, 分别是数量多、流转快和种类多。 数量多是指数据量大; 流转快是指数据经常快速传入, 可能是流数据; 种类多是指很多不同格式, 尤其不在电子表格 或关系数据库的常规结构化行和列中。 另一方面,人们还提出了其他一些特征, 想出了各种各样的词汇, 把能想到的都提了出来, 比如火山和逼真,等等。 我想说的是,我在这里介绍的每个特征 都有合理的理由, 即使看起来有些词汇本身有点牵强。 但这些都是大数据研究要考虑的因素。
我要说的是真实性, 指能否让你了解研究问题的真相, 你拥有的数据是否在足够微观的层面上 包含充足信息, 让你能够对更大的人群做出准确的结论。 接下来是有效性,数据是否干净? 是否管理良好?是否满足要求? 是否达到规范标准? 还有就是价值。 在商业领域,价值可以用投资回报率衡量。 是否值得你花时间参与大数据项目? 因为你知道吗?数据不一定有价值。 在大多数情况下, 大数据还是一项昂贵、耗时的重大任务。 虽然情况正在好转, 但现在,你需要考虑这个分析 是否真的有助于实现企业目标。 第七是可变性, 指数据可以不断变化,你通常能够分析。 它也可以在一个地方变化。 有很多不受控制的因素可能会影响数据, 除非你专门测量和考虑它们。
第八个特征是地点, 指数据的位置 以及它如何影响对数据的访问和数据的格式? 第九是词汇,指用来描述数据的元数据, 尤其是在整合来自完全不同的源的数据时。 当它们讨论相同的变量, 也就是相同的信息时, 可能会用完全不同的术语来描述。 所以很难发现它们描述的是同一信息, 这就成为了在大数据项目中 整合数据源的挑战之一。 我们要讲的第十个, 也是最后一个很有趣,就是模糊性, 是指你知道自己在说什么吗? 大数据是什么意思?你的目标是什么? 你想要达到什么目的? 因为你必须有明确的目标, 否则可能会浪费大量的时间和精力, 去追逐错误的目标。 大数据是有用的。 它让你了解无法了解的事情, 使你能够更有效、更明智地履行职责, 但你需要清楚自己在做什么, 否则可能是在浪费时间。 拥有大数据并不能自动解决组织问题 或克服研究挑战。 你可以使用 Hadoop, 但这并不意味着你会知道里面的内容。 你可能有最复杂的预测分析方程, 但如果它基于一些无关的东西, 你就是在浪费时间。 如果有什么区别的话, 那就是大数据引入了更多需要注意的东西, 因为出错或混淆的地方更多。 在大数据项目中,职责往往是分散的。 通常,你会有不同的团队 来准备数据、分析数据、 可视化数据、应用数据、提出新的问题集, 寻找可以添加的其他信息。 因为你可能会让成百上千的人 参与一个大数据项目。 没有人可以纵观一切。 所以,回答这些关于 价值和模糊性等问题的职责, 就变成了每个人都有责任了解发生了什么。 更需要考虑的是质量, 因为有更多的机会让问题乘虚而入。 另外,开展项目的过程中, 更需要思考项目的意义。 如果你这样做了,你的处境就会好很多。 如果我们还假设 项目中的数据质量已经过验证, 那么下一步就是对大数据进行实际分析, 这是我们下一章要讲的内容。

大数据分析

监控和异常检测

大数据可以帮助人们了解什么时候出现、 可能或即将出现异常情况。 这类通知可以分为两大类, 但也有其他用来描述通知的体系。 这两大类是监控和异常检测。 下面我会分别介绍, 虽然这可能让两个过程之间的差异 听起来比实际更大。如果你知道要寻找什么, 并在事情发生时需要通知,监控就非常有用。 它检测特定事件何时发生。 因此你要能够预先指定标准。 例如,制造商需要知道某台机器 何时需要维护, 因此可以查看温度、 观察震动水平。通过观察一些因素, 他们可以知道即将出现故障, 需要立即维护。 医生或护士需要知道某个病人何时生病, 可以监控体温和脉搏,如果可能的话, 还可以监控白细胞计数来确定是否受到感染。 信用卡公司需要知道, 某笔费用何时可能存在欺诈行为。 在这些情况下, 用户可以指定所需的特定标准来触发事件。 有趣的是,对于监控,你可以非常具体, 所以在某些情况下, 甚至可以设置一个自动响应, 就是:“如果 X 出现,就执行 Y。” 这就是进行自动处理。 所以,监控是具体的东西。 你知道要寻找什么。你在等待它发生, 甚至可能在等待自动响应。 另一方面,异常检测是指 用户希望在出现异常时能够知道。 它要找的是异常活动的通知, 而不必事先知道具体的异常活动。 所以,它需要基于灵活的标准,等于说: “如果出现异常情况,就通知我, 也许不只是一个因素出现异常情况, 也可能是几个不同因素的组合。” 灵活的标准通常用来引起人们关注某事。 例如,对于安全摄像头,它可能会说: “我们不知道这里发生了什么, 但我们知道这不正常。” 或者对于股票交易,它可能会说: “我们不知道这里发生了什么,但需要检测。” 它通常不会触发自动响应,而是会引起检查。 但异常检测可以发现一些模式, 这些模式在大数据中 可能相隔太远或过于细微, 人类自己无法发现。 大数据实现的并不是能够 进行监控和异常检测, 因为它们一直都存在。 监控和异常检测这两种方法都是常规做法, 不仅在大数据出现之前是这样, 在计算机出现之前也是这样。 但大数据让它们有可能 监控极其罕见的事件或因素组合。 例如,如果你有一个百万分之一事件, 也就是一百万次观测中只发生一次。 如果依靠人工很难完成, 即便只是一次一百个事件, 也真的很难发现。 但如果你有一百亿个事件要进行分类, 这个百万分之一事件就会发生 10,000 次。 这个数字一下子就变大了。 这个事件并不罕见。 事实上,10,000 是一个相当大的数字, 可让你进行统计建模、 按子类别进行分类、 准确地找出相关内容和原因。 在异常检测方面,大数据的优势类似, 尤其是在寻找罕见的事件组合时。 换句话说,可以同时测量一千种不同的事物, 而不是 10 或 12 种。 这使识别异常情况的机器学习算法 变得更具体, 更有可能避免假正和假负。 举个相对简单的例子,比如垃圾邮件过滤器。 垃圾邮件非常棘手, 因为它是一种发展迅猛的病毒类机制, 永远都不一样。它必须随时改变, 因为垃圾邮件和垃圾邮件过滤器之间 存在着小小的军备竞赛。 你不能只写一条“这是垃圾邮件”的规则, 因为垃圾邮件会适应规避这条规则, 它发展地非常快, 所以你不能为垃圾邮件制定明确的规则, 这也很难做到。 你会发现,如果你的垃圾邮件过滤器只查看 你的邮件且只听你的指令, 由你来告诉它哪些是垃圾邮件, 哪些不是,你会得到很多错误的结果。 你会得到假正,也会得到假负。 记得当我第一次接触邮件时,就是这种情况。 我使用了邮件客户端,需要定义垃圾邮件。 我必须承认,它并不完全有用。 效果不是很好。 另一方面,如果你连接到大数据集, 你没对垃圾邮件进行分类, 但将你的数据与 Gmail、 Hotmail 或雅虎等 数百万或数亿位用户的数据整合在一起, 就可以运用集体智慧来确定哪些是垃圾邮件, 哪些不是。 我得说,Gmail 过滤器在识别垃圾邮件上 非常出色,因为我们正进入大数据时代, 每天都要发送数百万甚至数十亿封邮件。 大数据使得这两种监视成为可能, 能够对更大的数据集进行分类, 并在每一处寻找更多的诊断信号, 让监控更具体, 异常检测更灵活、更强大。

数据挖掘与文本分析

数据挖掘是大数据最强大、 最常见的应用之一, 与文本分析很像。 它涉及广泛、多样的活动领域, 但最基本的原理是使用统计手段, 发现数据中的异常模式。 这些模式可能包括变量之间的异常关联, 或以异常方式聚在一起的人。 例如,超市团队的经理可能会发现, 在一周中某个晚上光顾某个地区的商店的人, 通常与在其他时间和地点光顾的人不同。 然后,超市可以改变优惠券的展示地点, 或者如果可能的话, 可以每天改变某些商品的位置 来制造这种差异。 又比如,一家投资公司可能发现, 如果某些股票同时上涨,而某些股票下跌, 某只特定的股票通常会跟着上涨。 他们就会投资这只股票,希望从中获利。 再比如,医学研究人员可能发现, 曾经表现出非常特殊的症状的病人, 即使他们不符合诊断疾病的标准, 也很有可能在接下来的 比如六周内到医院就诊。 也许这种数据挖掘 最常见的应用就是在线广告, 因为数据库非常大, 而且很容易针对每个浏览者调整结果。 事实上,这是数据挖掘 在未来最重要的用途之一, 收集足够的数据后, 就能根据每个人的偏好和行为定制服务。 文本分析与专门处理数字的 标准数据挖掘密切相关, 但它最大的不同之处在于专注于自己的领域。 它的目标是获取文本数据的实际内容, 例如推文或客户评论, 找出单词的意义和模式。 这与我们前面讨论的元数据研究不同, 因为那项提供了惊人信息的研究, 只处理计算机自己创建的数字信息, 甚至不需要处理信息的内容。 当研究人员查看文本本身时, 解释和计算问题成为了大问题, 因为人类语言是这么的灵活和微妙。 听起来非常相似的短语 可能具有完全不同的含义, 比如我们熟悉的笑话 “光阴似箭,果蝇爱香蕉。” 有时这要归功于格劳乔·马克思。 这个短语对人类来说很难马上理解, 计算机也几乎不可能理解。 这说明了为什么自然语言处理这个领域 有那么多的挑战要克服, 为什么这个研究领域这么活跃。 但也许在文本分析领域, 最常见的任务可能就是他们所谓的情感分析, 也就是确定人们对某事的感觉。 如果从广告或营销的角度来看, 这就不难理解,你肯定想知道 人们觉得你的产品是好还是坏。 情感分析中最基本的任务 是判断一个人的感受是积极的还是消极的。 在文本分析领域,这称为“极性”。 在我从事的社会心理学领域 把它叫作“效价”。 幸好,这种区别是很常见的任务, 所以人们开发了 许多可以用于 Python 或 R 等常见语言的程序和程序包, 来帮助执行这项任务。 当然,情感分析和文本分析 通常要比好坏复杂得多, 但这让你了解了基本概念。 关于这些主题还有很多内容可讲, 但我希望你知道, 数据挖掘和文本分析 在处理非常庞大和多样的数据集时, 才能发挥最大作用。 而这正是大数据的长项。 随着研究人员不断开发和改进数据挖掘 和文本分析的方法, 能够从数字数据中 发现模式和从文本数据中获取意义, 它们将变得更快、更简单、更细致

预测分析

预测分析就像大数据的魔法水晶球。 就是说它利用一系列处理大数据的技术, 根据过去的观察预测未来的事件。 人类从诞生以来就一直尝试预测未来, 另一方面,大数据的原始资源和 尖端的现代预测建模, 从根本上改变了我们展望未来的方式。 在现实生活中, 有几个非常著名的预测分析案例。 第一个与棒球运动有关, 正如小说《点球成金》 和同名电影中描述的那样, 统计分析被用来协助鉴别 进攻球员的得分能力。 在棒球运动中, 上百年来所采用的选拔标准是看安打率、 打点和盗垒成功次数,这样做的结果是, 棒球运动获得了庞大的数据集。 因为很容易计算发生的离散事件, 我们能够回溯以往的数据, 并处理非常庞大的运动数据集。 研究人员却发现并不是这样, 安打率和打点不是最好的预测因素, 上垒率才是,因为你可以通过安打、保送、 被球击中或者其他任何方式来上垒, 除此之外,长打率也是一个更好的预测因素, 它与得到的打数有关。 第二个示例是, 纳特·西尔弗在 2012 年美国总统大选中, 非常准确地预测了每个州的选举结果。 他建立了博客 538, 美国国会中代表的人数就是 538。 他收集各种民意调查的数据, 将它们组合在一起, 并按照可靠性对数据进行加权处理, 然后就可以准确预测出每个州的选举结果。 这很了不起。我们来具体看一下。 他的网站叫 538。 纳特也会在上面发布一些 体育运动方面的统计。 事实上,他的棒球统计更知名, 类似《点球成金》中的那样。 这个网站过去主要进行时政预测, 现已被 ABC 新闻收购。 这就是当前的网站页面, 在这里可以看到纳特,他负责做各种预测。 另外,美国大学篮球联赛进入季后赛时, 网站上的篮球预测也颇受关注。 接下来的示例我之前提到过, 就是网飞的大奖赛。 几年前网飞悬赏百万美金, 寻找能够使用他们提供的匿名数据集 将网站推荐效果提升10% 的人。 竞赛中涌现出很多非常了不起的统计分析。 网飞大奖赛的最大成果可能是让大家看到了 集成模型的功效,由此我们明白了一点, 就是你不能建立单一的预测模型。 你不要想着说,这是回归方程, 或者说这是用于预测的随机森林模型。 你要尽可能多地建立不同的预测模型, 然后主要就是对这些模型的结果取平均值。 因为事实证明,涉及到预测结果时, 平均预测值通常要比单个预测更准确。 这和猜一猜罐子里有多少豆子一样。 如果你收集每个人的预测结果并取平均值, 得到的结果通常比 一个人的猜想更接近实际值。 网飞大奖赛已经结束好几年了, 但有新的地方可以让人大展拳脚, 有的网站会举办类似的预测分析比赛。 下面我们来看一下这个网站。 打开网页。可以看到一些很有意思的内容。 点击上面的比赛部分,目前正举办很多比赛, 发布比赛的都是拥有数据的公司, 他们要寻找优秀的预测模型, 奖金最高可达两万五千美元。 过去已经颁发的奖金达到了五十万美元。 还有一批参与者并不提供奖金, 而是教你怎么做预测分析。 比如下面这个关于泰坦尼克号的比赛 就是教育性质的,目的是教你如何使用 Python 和 R 进行机器学习, 还有一些其他内容。 所以这是个非常好的资源网站。 预测分析是一个备受关注的领域, 因为尝试预测即将发生的事情并有一点 先见之明会给你带来巨大的竞争优势, 特别是在商界。 这是一个发展极快的领域, 也确实是统计学最有趣的地方之一, 因为总是有一个非常明确的标准, 而这往往正是我们所缺乏的。 如果你稍等一会儿,就能判断出你的模型 是好还是不好,而且这个领域的进步 使你能够学习到越来越多的东西, 特别是在拥有大数据的原始数据的情况下, 可使用的数据更多,因而能够构建更多 更精准的新模型,获得更好的预测能力, 从而拥有更大的竞争优势。

大数据可视化

到目前为止,我们一直在讨论 大数据和计算机能够为人类做的事。 另一方面,事实证明 有一些事情还是人做得比计算机好, 这里面就包括可视化。 人是视觉动物, 我们用眼睛去看并用这种方式获取大量信息。 计算机非常擅长发现特定模式, 还很擅长计算预测模型和执行数据挖掘, 这一点人类用几辈子都难以做到。 但相比于计算机, 人能更好地感知和解读模式, 所以人的视觉在大数据中仍起着重要作用。 人可以看到这些模式, 并很快看到模式的例外情况或异常情况。 人还可以看出多个变量和群组的模式。 相比于计算机,人也更擅于解读图像的内容。 举一些我们熟悉的例子, 来自所谓的格式塔模式。 格式塔是德语,意思是形式或整体。 你看这里, 左上角的三个圆圈或三个圆弧组合在一起, 中间暗含一个三角形。 三角形本不存在,是由缺失而造成的。 人很容易就能看到这一点, 因为我们会看到负空间所暗示的东西。 计算机就很难看到。 同样,人也很容易看出 右上角圆圈和正方形的排列效果。 在左下角,我们看到四个独立的正方形。 然后我们看出正方形是成对排列的, 而且都排成一条直线。 人很容易就能感知和解读。 但对计算机来说就很难理解。 在右下角的示例 D 中, 我们很容易看到一行行的点、一列列的点, 因为人天生就会进行这种视觉处理, 但要向计算机描述如何做到这一点就非常难。 现在我来介绍一个有趣的例子, 这是一个来自 美国国家科学基金会举办的竞赛。 (Editor add overlay:https://www.nsf.gov/news/special_reports/scivis/) 竞赛宣称展示最美丽的可视化, 但也包含了很多信息。 点击获奖者,查看往期获奖者作品。 看一下 2013 年的获奖者, 向下滚动找到视频类作品,点开第一个。 这是视频可视化中的一个静止帧。 它显示的是来自卫星的地球气候数据。 我们可以很清楚地看到, 这些是海洋和风的循环模式, 人很容易就能看到 形成连续流的漩涡形状的模式, 以及这些圆圈。 人很容易看到这些信息, 而这些信息基于一个庞大的数据集。 无疑就是大数据。但计算机很难看到这些。 现在,我必须说几点注意事项。 可视化很重要, 但我们不能认为所有数据都值得可视化。 很多数据的可视化并没有多大用。 我在网上研究可视化时, 发现大多数可视化 都是非常吸引人眼球的漂亮图片, 但它们对我而言信息量不大。 重点在于,漂亮的图并不一定更好。 这又得说到 Excel 中的规则了。 不要乱用三维效果。不要把内容和轴分离开。 你必须能够清楚地读懂它们。 此外,很多时候, 动画或交互式图形可以提供更多信息, 但有时只会转移你的注意力, 你开始不停地摆弄它, 不再去理解它要传达的确切信息。 所以你必须非常谨慎地思考, 自己会不会出现这样的问题。 无论哪种图形, 数据可视化的目标都是提供见解。 你要尽可能又快又清楚地获得见解, 所以,任何偏离目标 或给人错误印象的东西都是错误, 应该剔除掉。 数据可视化 是人类可以为大数据分析 做出重要贡献的领域, 而计算机可以贡献 我们到目前为止讨论过的所有其他模型。 在规划大数据项目时, 请务必记住这一点, 也就是说,在理解数据意义的时候, 除了发挥计算机的作用, 我们仍需要人的感知和解读。

Excel在大数据中的作用

在结束有关大数据分析的讨论之前, 我想谈谈 Excel 的作用。 这一点很重要, 因为很多人认为要处理大数据, 必须始终使用尖端复杂的工具, 而 Excel 作为一种 全世界大多数计算机上都有的工具, 肯定不够特别,不够尖端。 事实并非如此。 我来简单说一说。 首要的原则是你要为大家服务。 分析的目的就是要告诉大家一些东西。 即便你必须用其他程序存储、 操作和访问数据, Excel 仍是一个非常好的分享方式, 因为大家都知道怎么使用它。 它毫无疑问是最常见的数据工具。 全世界有数不清的 Excel 文件, 数百万的人每天都在用它, 甚至专业数据挖掘人员也在用。 我看过一个有关数据挖掘人员 所用软件的最新调查。 数据挖掘人员在专业项目中 最常使用的第三大软件就是 Excel。 现在,大数据和数据科学 通过 Excel 建立了有趣的联系。 一方面,Excel 软件能完全独立地 做真正的数据科学工作。 约翰·福尔曼的这本著作 很好地介绍了这一点。 全书都在讲 Excel 真正的高级功能, 借助这些功能, 你可以用可能从没想到的方式 来探索和操作数据。 更有意思的是, 你可以用简称是 ODBC 的 开放数据库接口, 将 Excel 直接连接到 Hadoop, 并从 Excel 界面进行查询和分析。 我们来看看 Excel。 打开 Excel,点击“数据”菜单, 然后点击“获取数据”,“来自数据库”, 第一条就是“从 SQL Server 数据库”, 它是一个关系数据库,里面有很多信息, 也可以选择下面的“来自 Azure“, 可以通过它连接到 Hadoop, 再往下还有“空白查询” 和“从 Odata 源”等, 这些方法都可以连接到大数据。 现在,微软有自己的解决方案, 其他供应商也有其他方法 将 Excel 连接到大数据和 Hadoop, 这样一来,在处理数据时 就能在一个熟悉的界面中控制分析, 或至少进行查询和排序。 最后,我想说一点, Excel 也非常适合分享分析结果。 你可以制作交互式数据透视表, 这是探索数据的好方法, 大家都知道怎么操作。 还可以制作可分类的工作表, 以及常用的图形和图表, 从而清楚地传递信息,非常不错。 事实上,如果把最终结果放入 Excel, 浏览者就可以在一定程度上自行探索和操作, 这可能是分享大数据分析结果的最民主方式。 重申一下,任何分析的目的 都是为人们提供可以付诸实践的洞见, 从而让他们改善业务和项目。

总结

关于大数据的技巧和概念, 我们已经做了很多介绍, 这是最后一个视频。 在结束之前,我想要就进一步的学习提一些建议。 基础的东西是我们之前讨论过的 数据科学文氏图, 它说的是编程、统计和领域知识。
在网站上,你可以找到各种编程课程。 如果你是编程新手, 可以使用 Bash 脚本通过命令行编程, 或使用 Python 编程,都是很好的方法。 我们的网站上还有一系列统计课程, 介绍了使用编程语言 R 做统计, 或数据可视化处理。 还有一些 SPSS 相关课程。 尽管数据科学文氏图没明确包含数据库, 但它却是划分编程和统计之间界线 的一个核心要素,网上有大量的数据库课程, 比如基础知识课程、SQL、MySQL, 以及 NoSQL 数据库等。 关于领域知识,要取决于你具体对哪方面感兴趣。 我们的网站上还有大量介绍具体领域知识的课程, 这些知识可与统计知识和编程技能相结合。 这样你就可以在专业领域中, 实施你的大数据解决方案。 感谢大家学习这个课程,祝好运。

大数据基础知识(下)相关推荐

  1. 大数据_02【大数据基础知识】

    大数据_02[大数据基础知识] 01 什么是服务器 02 服务器类型 03 存储磁盘(硬盘) 04 什么是RAID RAID特点 RAID种类 05 什么是集群 06 什么是计算机网络 07 什么是交 ...

  2. 大数据_03【大数据基础知识】

    大数据_03 [大数据基础知识] 01 大数据概述 02 什么是大数据?(Big Data) 03 传统数据与大数据的对比 04 大数据的特点 4.1 传统数据与大数据处理服务器系统安装对比 4.2 ...

  3. hawk大数据基础知识总结(1)

    一.大数据概述 1.1大数据的概念 大数据一共具有三个特征:(1)全样而非抽样:(2)效率而非精确:(3)相关而非因果. (1)在过去由于缺乏获取全体样本的手段,人们发明了"随机调研数据&q ...

  4. 大数据基础知识(上)

    大数据基础知识:技巧与概念 什么是大数据 数量多 流转快 种类多 大数据需要具备全部三个特征吗? 如何使用大数据 了解消费者大数据 了解企业大数据 了解科学研究大数据 大数据与数据科学 大数据与小数据 ...

  5. Big Data大数据基础知识

    文章目录 大数据基础知识 什么是服务器? 服务器类型 什么是RAID 什么是集群? 为什么和谐号.复兴号会这么快? 大数据基础知识 内容概要 什么是服务器? 什么是RAID? 什么是集群? 什么是网络 ...

  6. 大数据基础知识全集,大数据爱好者收藏必备

             目前,市场上的大数据产品太多,但远远低于IAAS的标准化水平,各产品之间的差异还不十分清楚.当许多公司正在制造大数据平台或大数据解决方案时,他们往往不知道选择哪些产品来满足他们的需求 ...

  7. 大数据基础知识科普(2)

    上一篇<大数据基础知识科普(1)>为大家讲解了关于服务器,存储磁盘以及RAID的内容.这一篇将沿着之前的脚步,为大家带来更多学习大数据必须要掌握的知识! 目录 什么是集群? 什么是计算机网 ...

  8. 【大数据】大数据基础知识科普--数据分层

    大数据基础知识科普–数据分层 (ETL.ODS.DW.DWD.DWM.DWS.DIM) 零.数据加载层:ETL(Extract-Transform-Load) 一.数据操作层:ODS(Operatio ...

  9. 机器学习与大数据基础知识(一)

    大数据时代究竟改变了什么? 改变的是思维 增加了数据重要性:数据资源--->数据资产(增值) 改变了方法论:基于知识的理论完美主义--->基于数据的历史经验主义 改变了数据分析: 统计学( ...

最新文章

  1. kubelet配置cni插件_kubernetes网络插件对比分析(flannel、calico、weave)
  2. is 和 == 以及 编码和解码
  3. APS入门2-ortools
  4. 本地Run Page时报检测到意外的 URL 参数,它将被忽略。
  5. pcie和usb哪个带宽高_了解数字示波器采样率和模拟带宽的规格
  6. 天猫研发Java团队(4面全题目):并发压测+Mina+事务+集群+秒杀架构
  7. 我们为什么要学数学?这里给你一个答案。
  8. 【测试】提交BUG的标准规范
  9. (cljs/run-at (JSVM. :browser) 简单类型可不简单啊~)
  10. Oracle的DBV工具
  11. Light OJ 1011
  12. 如何用C#代码判断一个类的类型
  13. arduino流水灯代码
  14. 焊接工时简便计算工具_焊接工时计算表
  15. 阿里云短信服务java发送短信验证码
  16. 2018 最好的自动化测试工具
  17. html5光线传感器,光线传感器是什么
  18. 夜晚图像的目标检测-matlab
  19. css3的clip-path方法裁切图片(三角形,多边形,圆,椭圆)
  20. 华为手机支持鸿蒙,2021年华为智能手机全面升级支持鸿蒙2.0

热门文章

  1. word2pdf 批量转化word为pdf
  2. 网页版简历制作经验分享
  3. ECharts社区里面的gallery在哪里?ECharts gallery新地址
  4. php开发兴趣培训班,培训班学PHP,感觉兴趣越来越低,哎,真的很迷茫了!
  5. 共有41款PHP SNS社交网络/交友平台开源软件,第1页
  6. 如何隐藏控制台窗口?
  7. 红魔馆爆炸了---湖南科技大学oj1975---尺取法
  8. 索尼录音笔power和hold_以下几款索尼录音笔哪一个的音质能更好些?
  9. 2021 CSP-J复赛 我的备战与游记
  10. 基于PHP后台请求亚马逊订单列表listOrder接口