数据挖掘是指从大量数据中提取或挖掘知识。该术语实际上是一个误称。因此,应该将数据挖掘更恰当地命名为知识挖掘,它强调从大量数据中进行挖掘。它是在大数据集中发现模式的计算过程,涉及人工智能,机器学习,统计和数据库系统的交叉点处的方法。数据挖掘过程的总体目标是从数据集中提取信息,并将其转换为易于理解的结构,以供进一步使用。
它也被定义为从大量数据中提取有趣的(非平凡的,隐式的,以前未知的和可能有用的)模式或知识。数据挖掘是一个快速增长的领域,它关注于开发技术以帮助管理人员和决策者明智地使用大量存储库。
数据挖掘的备用名称:
1. Knowledge discovery (mining) in databases (KDD)
2. Knowledge extraction
3. Data/pattern analysis
4. Data archeology
5. Data dredging
6. Information harvesting
7. Business intelligence
数据挖掘和商业智能:
数据挖掘的关键属性:
1. Automatic discovery of patterns
2. Prediction of likely outcomes
3. Creation of actionable information
4. Focus on large datasets and databases
数据挖掘:多个学科的融合–
数据挖掘过程:
数据挖掘是从给定的数据集中发现各种模型,摘要和派生值的过程。
适用于数据挖掘问题的一般实验过程包括以下步骤:
- 陈述问题并提出假设–
在这一步中,建模者通常会指定一组变量来确定未知的依赖关系,并在可能的情况下将这种依赖关系的一般类型指定为初始假设。在此阶段,针对一个问题也可能有几种假设。第一步需要结合应用领域和数据挖掘模型的专业知识。实际上,它始终意味着数据挖掘专家和应用专家之间的深入互动。在成功的数据挖掘应用程序中,这种合作不会在初始阶段停止。它会在整个数据挖掘过程中继续进行。 - 收集数据 –
此步骤关心如何生成和获取信息。通常,有两种不同的可能性。主要是当数据生成过程处于专家(建模者)的控制之下。这种方法被理解为设计的实验。第二种可能性是专家不能影响数据生成过程。这通常称为观察方法。大多数数据挖掘应用程序都采用观察性设置,即随机数据生成。通常,在数据收集之后,采样分布是完全未知的,或者在数据收集过程中部分或隐式地给出了采样分布。但是,至关重要的是要知道数据收集如何影响其理论分布,因为这样的先验知识通常对于建模以及后来对结果的最终解释很有用。同样,重要的是要确保用于估计模型的信息以及随后用于测试和应用模型的数据来自等效的未知采样分布。如果通常不是这种情况,则无法在最终的结果应用中成功使用估计的模型。
- 数据预处理–
在观测环境中,通常通常是从流行的数据库,数据仓库和数据集市中“收集”数据。数据预处理通常至少包含两个常见任务:
- (i)离群值检测(和消除):
离群值是不符合大多数观察结果的异常数据值。通常,异常值是由测量错误,编码和记录错误引起的,有时是自然的异常值。这样的非代表性样本可能会严重影响后来产生的模型。有两种处理异常值的策略:作为预处理阶段的邻域,检测并最终消除异常值。并开发对异常值不敏感的健壮建模方法。
- (ii)缩放,编码和选择特征:
数据预处理包括几个步骤,例如可变比例缩放和不同类型的编码。例如,范围为[0,1]的一个要素和范围为[100,1000]的另一个要素在应用技术中将不具有等效权重。它们还将以不同的方式影响最终的数据挖掘结果。因此,建议对它们进行缩放,然后将两个要素传递给相同的权重以进行进一步分析。而且,专用编码方法通常通过为后续数据建模提供较少数量的信息功能来实现降维。
这两类预处理任务只是数据挖掘过程中大量预处理活动的示例性样本。数据预处理步骤不应被视为完全独立于其他数据挖掘阶段。在数据挖掘过程的每个迭代中,所有活动共同可以为后续迭代定义新的和改进的数据集。通常,诚实的预处理方法通过将先验知识整合到特定于应用程序的缩放和编码中来为数据挖掘技术提供最佳表示。
- (i)离群值检测(和消除):
- 估算模型–
在此阶段中,主要任务是选择和实施可接受的数据挖掘技术。这个过程并不简单。通常,在实践中,实现取决于几种模型,而选择最简单的模型则是另一项任务。 - 解释模型并得出结论–
在大多数情况下,数据挖掘模型应有助于做出决定。因此,这样的模型必须是可解释的以便有用,因为人类不太可能基于复杂的“黑匣子”模型来做出他们的决定。请注意,模型准确性和解释准确性的目标有些矛盾。通常,简单模型更易于解释,但准确性也较低。预计现代数据挖掘方法将使用高维模型产生高度准确的结果。解释这些模型(也至关重要)的问题已考虑到一项单独的任务,并需要使用特定技术来验证结果。数据挖掘系统的分类:
1. Database Technology 2. Statistics 3. Machine Learning 4. Information Science 5. Visualization
数据挖掘中的主要问题:
- 在数据库中挖掘不同种类的知识–
对不同用户的需求是不一样的。不同的用户可能对不同种类的知识感兴趣。因此,数据挖掘有必要涵盖广泛的知识发现任务。 - 在多个抽象级别上的交互式知识挖掘–
数据挖掘过程需要是交互式的,因为它允许用户专注于搜索模式,根据返回的结果提供和完善数据挖掘请求。 - 纳入背景知识–
为了指导发现过程并表达发现的模式,背景知识不仅可以以简洁的方式而且可以在多个抽象级别上用于表达发现的模式。 - 数据挖掘查询语言和临时数据挖掘–
允许用户描述临时挖掘任务的数据挖掘查询语言应与数据仓库查询语言集成在一起,并针对高效而灵活的数据挖掘进行了优化。 - 数据挖掘结果的呈现和可视化–
一旦发现模式,就需要用高级语言,视觉表示来表达。这些表示应易于用户理解。 - 处理嘈杂或不完整的数据–
需要使用数据清理方法来处理噪声,不完整的对象,同时挖掘数据规律性。如果没有数据清理方法,则发现的模式的准确性将很差。 - 模式评估–
它指的是问题的趣味性。发现的模式应该很有趣,因为它们代表了常识或缺乏新颖性。 - 数据挖掘算法的效率和可扩展性–
为了有效地从数据库中的大量数据中提取信息,数据挖掘算法必须高效且可扩展。 - 并行,分布式和增量式挖掘算法–
数据库的巨大规模,数据的广泛分布以及数据挖掘方法的复杂性等因素推动了并行和分布式数据挖掘算法的发展。这些算法将数据划分为多个分区,然后进一步并行处理这些分区。然后合并分区的结果。增量算法可以更新数据库,而无需再次从头开始挖掘数据。
- 在数据库中挖掘不同种类的知识–