【问题标题】:What is the difference between Big Data and Data Mining? [closed]大数据和数据挖掘有什么区别? [关闭]
【发布时间】:2014-04-20 15:03:14
【问题描述】:

正如维基百科所说的

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

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

【问题讨论】:

  • 这对 StackOverflow 来说不是一个好问题,因为它太基于意见了。
  • 这个问题似乎跑题了,因为它与编程无关。

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


【解决方案1】:

大数据就是一切

大数据是一个营销术语,而不是技术术语。如今,一切都是大数据。我的U盘现在是“个人云”,我的硬盘是大数据。严重地。这是一个完全不具体的术语,主要由各种非常乐观的公司的营销部门可以出售的产品定义 - 以及大公司的 C*O 购买的产品,以使奇迹发生。更新:到目前为止,这同样适用于数据科学。这只是营销。

数据挖掘是旧的大数据

实际上,数据挖掘也被过度使用了......它可能意味着任何东西,例如

  • 收集数据(想想 NSA)
  • 存储数据
  • 机器学习/人工智能(早于数据挖掘一词)
  • 非 ML 数据挖掘(如“知识发现”中,数据挖掘一词实际上是创造出来的;但重点是新知识,而不是现有知识的学习)
  • 业务规则和分析
  • 可视化
  • 任何涉及您想卖掉一大笔钱的数据

只是营销需要一个新术语。 “商业智能”、“商业分析”……他们仍然继续销售相同的东西,现在只是更名为“大数据”。

大多数“大”数据挖掘并不大

由于大多数方法 - 至少是那些给出有趣结果的方法 - 只是无法扩展,因此“挖掘”的大多数数据实际上并不大。它显然比 10 年前大得多,但不像艾字节那样大。 KDnuggets 的一项调查显示,平均“分析的最大数据集”为 1-10 GB。那不是任何数据管理手段的大数据;只有使用 complex 方法可以分析的东西才大。 (我不是在谈论诸如 k-means 之类的琐碎算法)。

大多数“大数据”不是数据挖掘

现在“大数据”是真实的。谷歌有大数据,欧洲核子研究中心也有大数据。大多数其他人可能没有。数据开始变大,当您需要 1000 台计算机来存储它时。

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

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

数据质量受大小影响

大数据的许多营销承诺不会成立。 Twitter 为大多数公司提供的洞察力比广告宣传的要少得多(除非你是青少年摇滚明星); Twitter 用户群有很大的偏见。纠正这种偏差很困难,需要经验丰富的统计学家。

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

另一个大问题是噪音。您有垃圾邮件机器人,但也有其他工具(想想导致“趋势”强化的 Twitter“趋势主题”)使数据比其他来源更嘈杂。清理这些数据困难,而且不是技术问题,而是统计领域专业知识。例如,Google Flu Trends 一再被发现是相当不准确的。它在较早的几年中有效(可能是因为过度拟合?),但质量不再好。

不幸的是,很多大数据用户对此关注得太少了;这可能是大多数大数据项目似乎失败的众多原因之一(其他原因是管理不善、期望过高和不切实际,以及缺乏公司文化和技术人员)。

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 ......在图像分析中,你训练预先选择的相关图像,而不是网络摄像头或来自互联网的随机图像(和如果是这样,您将它们视为随机图像,而不是代表性数据。

【讨论】:

    【解决方案2】:

    此答案确实旨在为 Anony-Mousse 的出色答案添加一些特殊性。

    关于什么是大数据存在很多争论。 Anony-Mousse 在这里指出了很多关于过度使用分析、大数据和数据挖掘等术语的问题,但我想提供一些更详细的内容。

    大数据

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

    这是一个松散而灵活的定义。总会有可以解决它的设置或数据管理工具,但是,在这里可以更有效地使用 Hadoop、MongoDB 等工具,而不是先前的技术。

    我们可以用这种不方便/大/难以处理的数据做什么?简单地看一个电子表格很难在这里找到意义,所以我们经常使用数据挖掘和机器学习。

    数据挖掘

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

    机器学习

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

    【讨论】:

      【解决方案3】:

      大数据和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/发布的文章

      谢谢 安库什

      【讨论】:

        【解决方案4】:

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

        数据挖掘基于 ETL 原则,即使用建模技术从大型数据集中寻找有用信息。市场上有许多 BI 工具可以实现这一目标。

        【讨论】:

          【解决方案5】:

          大数据是一个术语,它由框架和工具的集合组成,这些框架和工具可以在包括数据挖掘在内的超大型数据集上创造奇迹。

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

          我想得出结论,大数据是一个可以处理非常大的数据集的术语。 Hadoop 是一个框架,它的组件和服务可以很好地进行并行处理。这样你也可以学习数据挖掘..

          【讨论】:

            【解决方案6】:

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

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

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

            1. 当您拥有大量数据时,模式并不那么明显,因此有人不能只是检查并说“哈”。他/她需要为此提供工具。
            2. 很多时候,大量数据可以提高对您的分析有意义的统计数据,因为您的样本更大。

            我们可以说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 从大数据中提取有用信息,所以这是肯定的。

            【讨论】:

            • 在大多数情况下,他们似乎使用 Hadoop 进行 ETL,然后使用包括 Excel 在内的传统软件分析不再是大数据(因此也不是真正的“数据挖掘”)。
            猜你喜欢
            • 2019-09-21
            • 2011-03-04
            • 2011-10-29
            • 2010-11-18
            • 2016-04-06
            • 2016-04-04
            • 2011-02-07
            • 2010-09-29
            • 2011-05-11
            相关资源
            最近更新 更多