大数据和数据挖掘有什么区别?

时间:2014-03-15 05:25:46

标签: hadoop machine-learning bigdata data-mining data-science

正如维基百科所述

  

数据挖掘过程的总体目标是提取信息   从数据集中将其转换为可理解的结构   进一步使用

这与大数据有什么关系?如果我说Hadoop以并行方式进行数据挖掘,这是否正确?

6 个答案:

答案 0 :(得分:59)

大数据就是一切

大数据是营销术语,而不是技术术语。如今,一切都是大数据。我的USB记忆棒是一个个人化的云端"现在,我的硬盘是大数据。认真。这是一个完全不明确的术语,很大程度上取决于各个非常乐观的公司的营销部门可以出售什么 - 以及主要公司购买的C * Os,以便实现魔术。更新:到目前为止,这同样适用于数据科学。它只是营销。

数据挖掘是旧的大数据

实际上,数据挖掘同样过度使用......它可能意味着诸如

之类的东西
  • 收集数据(想想NSA)
  • 存储数据
  • 机器学习/ AI(早于术语数据挖掘)
  • 非ML数据挖掘(如"知识发现",其中术语数据挖掘实际上是创造出来的;但重点是新知识,而不是学习现有知识)
  • 业务规则和分析
  • 可视化
  • 涉及您想要出售卡车货物的数据的任何内容

只是营销需要一个新名词。 "商业智能","商业分析",......他们仍在继续销售相同的东西,它刚刚更名为&#34 ;大数据"现在

大多数"大"数据挖掘并不大

由于大多数方法 - 至少那些提供有趣结果的方法 - 只是不进行扩展,大多数数据和开采方法都是"实际上并不大。它显然比10年前大得多,但不像Exabytes那么大。 KDnuggets进行的一项调查显示,1-10 GB是平均分析的最大数据集"。这不是任何数据管理手段的大数据;它只能通过使用复杂方法分析的内容来实现。 (我不是在谈论像k-means那样的琐碎算法。)

大多数"大数据"不是数据挖掘

现在"大数据"是真实的。谷歌拥有大数据,而欧洲核子研究中心也拥有大数据。大多数人可能不会。当您需要1000台计算机来存储时,数据开始变大。

Hadoop等大数据技术也是真实的。它们并不总是明智地使用(不用担心运行少于100个节点的hadoop集群 - 因为这一点你可以从精心挑选的非集群机器中获得更好的性能),但当然人们会写这样的软件。

但是大部分正在进行的工作都不是数据挖掘。它是Extract, Transform, Load (ETL),所以它正在取代数据仓库。而不是使用具有结构,索引和加速查询的数据库,数据只是被转储到hadoop中,当你弄清楚要做什么时,你重新读取所有数据并提取你真正需要的信息,转换它,以及将其加载到您的Excel电子表格中。因为在选择,提取和转换之后,通常它不是"大"了。

数据质量受到影响

大数据的许多营销承诺都无法实现。对大多数公司而言,Twitter产生的洞察力远远超过广告(除非你是摇滚明星,否则就是这样);并且Twitter用户群严重偏向。纠正这种偏见很难,需要经验丰富的统计人员。

数据偏差是一个问题 - 如果您只是从互联网或应用程序中收集一些随机数据,它通常不具代表性;特别是不是潜在用户。相反,如果你没有设法抵消这些影响,你将会对现有的重度用户过度。

另一个大问题是噪音。你有垃圾邮件机器人,但也有其他工具(想想推特和#34;趋势主题和#34;这会导致强调"趋势")使数据比其他来源更加强大。清理这些数据 hard ,不是技术问题,而是统计领域专业知识。例如,反复发现谷歌流感趋势相当不准确。它在早些时候有些工作(也许是因为过度拟合?)但质量不高。

不幸的是,很多大数据用户对此很少关注;这可能是大多数大数据项目失败的原因之一(其他大多数是无法管理,夸大和不切实际的期望,缺乏公司文化和技术人员)。

Hadoop!=数据挖掘

现在问题的第二部分。 Hadoop不进行数据挖掘。 Hadoop管理数据存储(通过HDFS,一种非常原始的分布式数据库)并调度计算任务,允许您在存储数据的相同机器上运行计算。 进行任何复杂的分析。

有一些工具试图将数据挖掘引入Hadoop。特别是, Apache Mahout可以称为官方Apache尝试在Hadoop上进行数据挖掘。除了它主要是一个机器学习工具(机器学习!=数据挖掘;数据挖掘有时使用机器学习的方法)。 Mahout的某些部分(例如聚类)远非先进。问题是 Hadoop有利于线性问题,但大多数数据挖掘都不是线性的。并且非线性算法不会扩展到大数据;你需要仔细开发线性时间近似值,并且精度损失 - 损失必须小于仅通过处理较小数据而损失的损失。

这种权衡问题的一个很好的例子是k-means。 K-means实际上是一个(大多数)线性问题;所以它可以在Hadoop上运行一些。单个迭代是线性的,如果你有一个很好的实现,它可以很好地扩展到大数据。然而,直到收敛的迭代次数也随着数据集大小而增加,因此它不是非常线性的。但是,由于这是一种查找"表示"的统计方法,因此数据集大小实际上并没有太大改善。因此,虽然你可以在大数据上运行k-means,但它并没有多大意义 - 你可以只取一个数据样本,运行一个高效的单节点版本的k-means,结果将是同样好。因为额外的数据只是给你一些精确值的额外数字,你不需要这么精确。

由于这适用于很多问题,Hadoop上的实际数据挖掘似乎并没有开始。每个人都试图这样做,很多公司都会出售这些东西。但它并没有比非大版本更好地工作。但只要客户想要购买此产品,公司就会销售此功能。只要它能获得资助,研究人员就会就此发表论文。是否有效。这就是生命。

有些情况下这些事情有效。谷歌搜索就是一个例子,而Cern。但是,图像识别(但不使用Hadoop,GPU集群似乎是去那里的方式)最近受益于数据量的增加。但在任何这些情况下,您都拥有相当干净的数据。谷歌索引一切; Cern丢弃任何非有趣的数据,只分析有趣的测量结果 - 没有垃圾邮件发送者将他们的垃圾邮件送到Cern ......在图像分析中,你训练预先选择的相关图像,而不是说网络摄像头或来自互联网的随机图像(和如果是这样,你将它们视为随机图像,而不是代表性数据。)

答案 1 :(得分:4)

大数据和Hadoop有什么区别?

答:大数据和开源软件程序Hadoop之间的区别是一个截然不同的基础。前者是一种资产,往往是一种复杂而模糊的资产,而后者则是一种程序,可以实现处理该资产的一系列目标和目标。

大数据只是企业和其他各方为实现特定目标和运营而整合的大量数据。大数据可以包括许多不同种类格式的许多不同类型的数据。例如,企业可能会花费大量精力来收集有关货币格式的购买数据,有关姓名或社会安全号码等客户标识符的数千条数据,或者以型号,销售数字或库存号码的形式收集产品信息。所有这些或任何其他大量信息都可称为大数据。作为一项规则,它是原始的和未分类的,直到它通过各种工具和处理程序。

Hadoop是专为处理大数据而设计的工具之一。 Hadoop和其他软件产品通过特定的专有算法和方法来解释或解析大数据搜索的结果。 Hadoop是Apache许可下的一个开源程序,由全球用户社区维护。它包括各种主要组件,包括MapReduce功能集和Hadoop分布式文件系统(HDFS)。

MapReduce背后的想法是,Hadoop可以首先映射大型数据集,然后针对特定结果执行该内容的减少。 reduce函数可以被认为是原始数据的一种过滤器。然后,HDFS系统用于通过网络分发数据或根据需要进行迁移。

数据库管理员,开发人员和其他人可以使用Hadoop的各种功能以多种方式处理大数据。例如,Hadoop可用于追踪数据策略,例如使用非统一数据进行聚类和定位,或者数据不能完全适合传统表格或对简单查询做出良好反应。

请参阅http://www.shareideaonline.com/cs/what-is-the-difference-between-big-data-and-hadoop/

上发布的文章

由于 Ankush

答案 2 :(得分:4)

这个答案的确旨在为Anony-Mousse的优秀答案增加一些特异性。

关于大数据究竟是什么,有很多争论。 Anony-Mousse围绕过度使用分析,大数据和数据挖掘等术语提出了很多问题,但有一些事情我想提供更多细节。

大数据

出于实际目的,我听说过大数据的最佳定义是在传统的关系数据库中不方便或不起作用的数据。这可能是无法使用的1PB数据,甚至只有1GB但有5,000列的数据。

这是一个宽松而灵活的定义。总会有设置或数据管理工具可以解决它,但是,这是Hadoop,MongoDB等工具可以比现有技术更有效地使用的地方。

对于不方便/大/难以使用的数据,我们可以做些什么?单纯查看电子表格并找到意义很困难,因此我们经常使用数据挖掘和机器学习。

数据挖掘

这在上面被轻视 - 我的目标是更具体,并希望提供更多背景。数据挖掘通常适用于某些监督的分析或统计方法,用于数据分析。这些可能适合回归,分类,聚类或协作过滤。与机器学习有很多重叠,但是,这通常仍然由用户驱动,而不是无人监督或自动执行,这很好地定义了机器学习。

机器学习

通常,机器学习和数据挖掘可以互换使用。机器学习包含许多与数据挖掘相同的领域,但也包括AI,计算机视觉和其他无人监督的任务。主要区别,这绝对是一种简化,用户输入不仅是不必要的,而且通常是不需要的。目标是使这些算法或系统自我优化和改进,而不是迭代的开发周期。

答案 3 :(得分:3)

大数据是一个术语,包括框架和工具的集合,这些框架和工具可以与包括数据挖掘在内的非常大的数据集创造奇迹。

Hadoop是一个框架,它将非常大的数据集拆分成块(默认为64 MB),然后将它存储在HDFS(Hadoop分布式文件系统)中,然后将其存储在执行逻辑中(MapReduce)附带任意bytecode来处理HDFS中存储的数据。它将基于块进行拆分(可以配置拆分)并通过Mapper和Reducer进程强制提取和计算。通过这种方式,您可以进行ETL过程,数据挖掘,数据计算等,

我想得出结论,大数据是一个可以用于非常大的数据集的术语。 Hadoop是一个框架,可以很好地并行处理其组件和服务。通过这种方式,您也可以获得数据挖掘..

答案 4 :(得分:2)

大数据是人们用来表示现在存储如何便宜和容易以及如何分析数据的术语。

数据挖掘是尝试从数据中提取有用信息的过程。

通常,数据挖掘与大数据有关,原因有两个

  1. 当你有大量数据时,模式不那么明显,所以有人不能只是检查并说“哈”。他/她需要工具。
  2. 很多时候,由于样本量较大,大量数据可以提高分析的统计意义。
  3. 我们可以说hadoop是并行的dois数据挖掘吗?什么是hadoop?他们的网站说

    The Apache Hadoop software library is a framework that allows for the 
    distributed processing of large data sets across clusters of computers 
    using simple programming models
    

    所以你陈述的“平行”部分是真的。它的“数据挖掘”部分不一定。您可以使用hadoop来汇总大量数据,例如,这不一定是数据挖掘。但是对于大多数情况,你可以打赌人们试图使用hadoop从大数据中提取有用信息,所以这是一种肯定。

答案 5 :(得分:1)

我想说BigData是一个用于满足新业务需求的现代化框架。 很多人可能都知道BigData是关于3 v的音量,多样性和速度。 BigData需要利用各种数据(结构化和非结构化数据)并使用聚类技术来解决卷问题,并在更短的时间内获得结果,即速度。

Datamining在ETL原则上的位置.i.e使用建模技术从大型数据集中查找有用信息。市场上有许多BI工具可以实现这一目标。