数据挖掘 订阅
数据挖掘是指从大量的数据中通过算法搜索隐藏于其中信息的过程。数据挖掘通常与计算机科学有关,并通过统计、在线分析处理、情报检索、机器学习、专家系统(依靠过去的经验法则)和模式识别等诸多方法来实现上述目标。 [1] 展开全文
数据挖掘是指从大量的数据中通过算法搜索隐藏于其中信息的过程。数据挖掘通常与计算机科学有关,并通过统计、在线分析处理、情报检索、机器学习、专家系统(依靠过去的经验法则)和模式识别等诸多方法来实现上述目标。 [1]
信息
外文名
Data mining
相关领域
人工智能、数据库
别    名
资料探勘、数据采矿
中文名
数据挖掘
应用领域
情报检索、数据分析、模式识别等
所属学科
计算机科学
数据挖掘简介
需要是发明之母。近年来,数据挖掘引起了信息产业界的极大关注,其主要原因是存在大量数据,可以广泛使用,并且迫切需要将这些数据转换成有用的信息和知识。获取的信息和知识可以广泛用于各种应用,包括商务管理,生产控制,市场分析,工程设计和科学探索等。 [2]  数据挖掘是人工智能和数据库领域研究的热点问题,所谓数据挖掘是指从数据库的大量数据中揭示出隐含的、先前未知的并有潜在价值的信息的非平凡过程。数据挖掘是一种决策支持过程,它主要基于人工智能、机器学习、模式识别、统计学、数据库、可视化技术等,高度自动化地分析企业的数据,作出归纳性的推理,从中挖掘出潜在的模式,帮助决策者调整市场策略,减少风险,作出正确的决策。知识发现过程由以下三个阶段组成:①数据准备;②数据挖掘;③结果表达和解释。数据挖掘可以与用户或知识库交互。 [1]  数据挖掘是通过分析每个数据,从大量数据中寻找其规律的技术,主要有数据准备、规律寻找和规律表示三个步骤。数据准备是从相关的数据源中选取所需的数据并整合成用于数据挖掘的数据集;规律寻找是用某种方法将数据集所含的规律找出来;规律表示是尽可能以用户可理解的方式(如可视化)将找出的规律表示出来。数据挖掘的任务有关联分析、聚类分析、分类分析、异常分析、特异群组分析和演变分析等。 [1]  近年来,数据挖掘引起了信息产业界的极大关注,其主要原因是存在大量数据,可以广泛使用,并且迫切需要将这些数据转换成有用的信息和知识。获取的信息和知识可以广泛用于各种应用,包括商务管理、生产控制、市场分析、工程设计和科学探索等。数据挖掘利用了来自如下一些领域的思想:①来自统计学的抽样、估计和假设检验;②人工智能、模式识别和机器学习的搜索算法、建模技术和学习理论。数据挖掘也迅速地接纳了来自其他领域的思想,这些领域包括最优化、进化计算、信息论、信号处理、可视化和信息检索。一些其他领域也起到重要的支撑作用。特别地,需要数据库系统提供有效的存储、索引和查询处理支持。源于高性能(并行)计算的技术在处理海量数据集方面常常是重要的。分布式技术也能帮助处理海量数据,并且当数据不能集中到一起处理时更是至关重要。 [1] 
收起全文
精华内容
下载资源
问答
  • 数据挖掘

    千次阅读 多人点赞 2019-04-16 16:26:36
    数据挖掘其实是一种深层次的数据分析方法。数据挖掘可以描述为:按企业既定业务目标,对大量的企业数据进行探索和分析,揭示隐藏的、未知的或验证已知的规律性,并进一步将其模型化的先进有效的方法。 应用的技术...

    数据挖掘其实是一种深层次的数据分析方法。数据挖掘可以描述为:按企业既定业务目标,对大量的企业数据进行探索和分析,揭示隐藏的、未知的或验证已知的规律性,并进一步将其模型化的先进有效的方法。
    应用的技术包括:数据库技术、人工智能技术、数理统计、可视化技术、并行计算等方面。

    数据挖掘与传统的数据分析(如查询、报表、联机应用分析)的本质区别是数据挖掘是在没有明确假设的前提下去挖掘信息、发现知识。数据挖掘所得到的信息应具有先知,有效和可实用三个特征。

    数据挖掘的目标是
    从数据库中发现隐含的、有意义的知识,主要有以下五类功能。
        1.自动预测趋势和行为数据挖掘自动在大型数据库中寻找预测性信息,以往需要进行大量手工分析的问题如今可以迅速直接由数据本身得出结论。

        2.关联分析数据关联是数据库中存在的一类重要的可被发现的知识。若两个或多个变量的取值之间存在某种规律性,就称为关联。

        3.聚类数据库中的记录可被划分为一系列有意义的子集,即聚类。

        4.概念描述就是对某类对象的内涵进行描述,并概括这类对象的有关特征。概念描述分为特征性描述和区别性描述,前者描述某类对象的共同特征,后者描述不同类对象之间的区别。

        5.偏差检测数据库中的数据常有一些异常记录,从数据库中检测这些偏差很有意义。

      数据挖掘技术包括关联分析、序列分析、分类、预测、聚类分析及时间序列分析等。

      1.关联分析主要用于发现不同事件之间的关联性,即一个事件发生的同时,另一个事件也
    经常发生。关联分析的重点在于快速发现那些有实用价值的关联发生的事件。其主要依据是
    事件发生的概率和条件概率应该符合一定的统计意义。

    2.序列分析
    序列分析技术主要用于发现一定时间间隔内接连发生的事件。这些事件构成一个序列,发现的序列应该具有普遍意义,

    3.分类分析
    分类分析通过分析具有类别的样本的特点,得到决定样本属于各种类别的规则或方法。
    主要方法有基于统计学的贝叶斯方法、神经网络方法、决策树方法及支持向量机。

    4.聚类分析
    聚类分析是根据物以类聚的原理,将本身没有类别的样本聚集成不同的组,并且对每一个这样的组进行描述的过程。其主要依据是聚到同一个组中的样本应该彼此相似,而属于不同组的样本应该足够不相似。

    5.预测
    预测与分类类似,但预测是根据样本的已知特征估算某个连续类型的变量的取值的过程,
    而分类则只是用于判别样本所属的离散类别而已。预测常用的技术是回归分析。

    6.时间序列
    分析时间序列分析的是随时间而变化的事件序列,目的是预测未来发展趋势,或者寻找相似发展模式或者是发现周期性发展规律。

    数据挖掘的流程大致如下:

    1.问题定义在开始数据挖掘之前,最先的也是最重要的要求就是熟悉背景知识,弄清
    用户的需求。缺少了背景知识,就不能明确定义要解决的问题,就不能为挖掘准备优质的数
    据,也很难正确地解释得到的结果。要想充分发挥数据挖掘的价值,必须对目标有一个清晰
    明确的定义,即决定到底想干什么。

    2.建立数据挖掘库
    要进行数据挖掘必须收集要挖掘的数据资源。一般建议把要挖掘的数据都收集到一个数
    据库中,而不是采用原有的数据库或数据仓库。这是因为大部分情况下需要修改要挖掘的数
    据,而且还会遇到采用外部数据的情况;另外,数据挖掘还要对数据进行各种纷繁复杂的统
    计分析,而数据仓库可能不支持这些数据结构。
    3.分析数据
    分析数据就是通常所进行的对数据深入调查的过程。从数据集中找出规律和趋势,用聚
    类分析区分类别,最终要达到的目的就是搞清楚多因素相互影响的、十分复杂的关系,发现
    因素之间的相关性。
    4.调整数据
    通过上述步骤的操作,对数据的状态和趋势有了进一步的了解,这时要尽可能对问题解
    决的要求能进一步明确化、进一步量化。针对问题的需求对数据进行增删,按照对整个数据
    挖掘过程的新认识组合或生成一个新的变量,以体现对状态的有效描述。
    5.模型化在问题进一步明确,数据结构和内容进一步调整的基础上,就可以建立形成知识的模型。
    这一步是数据挖掘的核心环节,一般运用神经网络、决策树、数理统计、时间序列分析等方
    法来建立模型。
    6.评价和解释
    上面得到的模式模型,有可能是没有实际意义或没有实用价值的,也有可能是其不能准
    确反映数据的真实意义,甚至在某些情况下是与事实相反的,因此需要评估,确定哪些是有
    效的、有用的模式。评估的一种办法是直接使用原先建立的挖掘数据库中的数据来进行检验,
    另一种办法是另找一批数据并对其进行检验,再一种办法是在实际运行的环境中取出新鲜数
    据进行检验

    展开全文
  • 数据挖掘与数据分析

    万次阅读 多人点赞 2018-05-28 13:58:14
    一、数据挖掘和数据分析概述 数据挖掘和数据分析都是从数据中提取一些有价值的信息,二者有很多联系,但是二者的侧重点和实现手法有所区分。 数据挖掘和数据分析的不同之处: 1、在应用工具上,数据挖掘一般要通过...

    一、数据挖掘和数据分析概述

    数据挖掘和数据分析都是从数据中提取一些有价值的信息,二者有很多联系,但是二者的侧重点和实现手法有所区分。 
    数据挖掘和数据分析的不同之处: 
    1、在应用工具上,数据挖掘一般要通过自己的编程来实现需要掌握编程语言;而数据分析更多的是借助现有的分析工具进行。 
    2、在行业知识方面,数据分析要求对所从事的行业有比较深的了解和理解,并且能够将数据与自身的业务紧密结合起来;而数据挖掘不需要有太多的行业的专业知识。 
    3、交叉学科方面,数据分析需要结合统计学、营销学、心理学以及金融、政治等方面进行综合分析;数据挖掘更多的是注重技术层面的结合以及数学和计算机的集合 
    数据挖掘和数据分析的相似之处: 
    1、数据挖掘和数据分析都是对数据进行分析、处理等操作进而得到有价值的知识。 
    2、都需要懂统计学,懂数据处理一些常用的方法,对数据的敏感度比较好。 
    3、数据挖掘和数据分析的联系越来越紧密,很多数据分析人员开始使用编程工具进行数据分析,如SAS、R、SPSS等。而数据挖掘人员在结果表达及分析方面也会借助数据分析的手段。二者的关系的界限变得越来越模糊。

    二、数据挖掘

     

    1 数学预备知识 

    概率论:支撑整个数据挖掘算法和机器学习算法的数学基础,要熟悉常见的一些概率分布。 
    矩阵论:线性代数中对数据挖掘最有用的部分,还有一些线性空间相关知识也很重要。 
    信息论:将信息和数学紧密连接在一起并完美的表达的桥梁,需要掌握信息熵、信息增益等相关知识。 
    统计学:数据分析最早的依赖基础,通常和概率论一起应用,现在的机器学习和数据挖掘很多都是基于统计的,常见的均值、方差、协方差等都要熟练掌握。

     

    2 编程基础 

    数据挖掘需要一定的编程基础,因为要实现模型以及数据的处理很多工作都是需要程序来进行的,数据挖掘常用的编程语言如下: 
    SQL:数据库的熟练使用是任何数据挖掘人员必不可少的技能。 
    C++ :有很多的标准模板库以及机器学习模型库进行调用可以方便编程实现。 
    Python:对字符串处理有极大的优势,是解释型语言,实现简单,而且有很多开源的机器学习模型库的支持,可处理大规模数据。 
    Matlab:拥有强大的矩阵运算,也是解释型语言,有很多发展较成熟库可以直接调用,支持数据结果的可视化表示,但是处理数据量有限。 
    R:近年兴起的数据分析编程语言,数据可视化做的比较好,语法简单,学习成本很低,很多非程序设计人员都可以数量掌握。 
    Java:使用范围最广的编程语言,有很多社区进行交流,进行编程实现具有灵活高效的特点,不足之处就是实现功能的代码量较大(相对于其他数据挖掘编程语言)。 
    Scala: 一种具有面向对象风格、函数式风格、更高层的并发模型的编程语言。同时Scala是大数据处理平台Spark的实现语言。

     

    3 数据挖掘的模型知识 

    机器学习和数据挖掘是紧密相关的,要进行数据挖掘需要掌握一些机器学习所用的方法和模型知识,通过模型的训练可以得到处理数据的最优的模型。数据挖掘常用的模型如下:

     

    3.1 监督学习模型 

    就是人们常说的分类,通过已有的训练样本(即已知数据以及其对应的输出)去训练得到一个最优模型(这个模型属于某个函数的集合,最优则表示在某个评价准则下是最佳的),再利用这个模型将所有的输入映射为相应的输出,对输出进行简单的判断从而实现分类的目的,也就具有了对未知数据进行分类的能力。

     

    3.1.1决策树: 

    决策树是用于分类和预测的主要技术之一,决策树学习是以实例为基础的归纳学习算法,它着眼于从一组无次序、无规则的实例中推理出以决策树表示的分类规则。构造决策树的目的是找出属性和类别间的关系,用它来预测将来未知类别的记录的类别。它采用自顶向下的递归方式,在决策树的内部节点进行属性的比较,并根据不同属性值判断从该节点向下的分支,在决策树的叶节点得到结论。 
    主要的决策树算法有ID3、C4.5(C5.0)、CART、PUBLIC、SLIQ和SPRINT算法等。它们在选择测试属性采用的技术、生成的决策树的结构、剪枝的方法以及时刻,能否处理大数据集等方面都有各自的不同之处。

     

    3.1.2 贝叶斯方法: 

    贝叶斯(Bayes)分类算法是一类利用概率统计知识进行分类的算法,如朴素贝叶斯(Naive Bayes)算法。这些算法主要利用Bayes定理来预测一个未知类别的样本属于各个类别的可能性,选择其中可能性最大的一个类别作为该样本的最终类别。由于贝叶斯定理的成立本身需要一个很强的条件独立性假设前提,而此假设在实际情况中经常是不成立的,因而其分类准确性就会下降。为此就出现了许多降低独立性假设的贝叶斯分类算法,如TAN(Tree Augmented Native Bayes)算法,它是在贝叶斯网络结构的基础上增加属性对之间的关联来实现的。

     

    3.1.3 神经网络 

    神经网络是一种应用类似于大脑神经突触联接的结构进行信息处理的数学模型。在这种模型中,大量的节点(称”神经元”)之间相互联接构成网络,即”神经网络”,以达到处理信息的目的。神经网络通常需要进行训练,训练的过程就是网络进行学习的过程。训练改变了网络节点的连接权的值使其具有分类的功能,经过训练的网络就可用于对象的识别。目前,神经网络已有上百种不同的模型,常见的有BP神经网络、径向基RBF网络、Hopfield网络、随机神经网络(Boltzmann机)、竞争神经网络(Hamming网络,自组织映射网络)等。但是当前的神经网络仍普遍存在收敛速度慢、计算量大、训练时间长和不可解释等缺点。

     

    3.1.4 支持向量机(SVM) 

    支持向量机(SVM,Support Vector Machine)是根据统计学习理论提出的一种新的学习方法,它的最大特点是根据结构风险最小化准则,以最大化分类间隔构造最优分类超平面来提高学习机的泛化能力,较好地解决了非线性、高维数、局部极小点等问题。对于分类问题,支持向量机算法根据区域中的样本计算该区域的决策曲面,由此确定该区域中未知样本的类别。

     

    3.1.5 集成学习分类模型 

    集成学习是一种机器学习范式,它试图通过连续调用单个的学习算法,获得不同的基学习器,然后根据规则组合这些学习器来解决同一个问题,可以显著的提高学习系统的泛化能力。主要采用(加权)投票的方法组合多个基学习器,常见的算法有装袋(Bagging)、提升/推进(Boosting)、随机森林等。集成学习由于采用了投票平均的方法组合多个分类器,所以有可能减少单个分类器的误差,获得对问题空间模型更加准确的表示,从而提高分类器的分类准确度。

     

    3.1.6 其他分类学习模型 

    此外还有logistics回归模型、隐马尔科夫分类模型(HMM)、基于规则的分类模型等众多的分类模型,对于处理不同的数据、分析不同的问题,各种模型都有自己的特性和优势。

     

    3.2 无监督学习模型 

    在非监督式学习中,数据并不被特别标识,学习模型是为了推断出数据的一些内在结构,应用场景包括关联规则的学习以及聚类等。常见的聚类算法如下所示:

     

    3.2.1 K-means聚类 

    K-means算法的基本思想是初始随机给定K个簇中心,按照最邻近原则把待分类样本点分到各个簇。然后按平均法重新计算各个簇的质心,从而确定新的簇心。一直迭代,直到簇心的移动距离小于某个给定的值。

     

    3.2.2 基于密度的聚类 

    根据密度完成对象的聚类。它根据对象周围的密度(如DBSCAN)不断增长聚类。典型的基于密度方法包括:DBSCAN(Densit-based Spatial Clustering of Application with Noise):该算法通过不断生长足够高密度区域来进行聚类;它能从含有噪声的空间数据库中发现任意形状的聚类。此方法将一个聚类定义为一组“密度连接”的点集。OPTICS(Ordering Points To Identify the Clustering Structure):并不明确产生一个聚类,而是为自动交互的聚类分析计算出一个增强聚类顺序。

     

    3.2.3 层次聚类方法 

    层次聚类方法对给定的数据集进行层次的分解,直到某种条件满足为止。层次凝聚的代表是AGNES算法,层次分裂的代表是DIANA算法。具体又可分为凝聚的,分裂的两种方案。 
    凝聚的层次聚类是一种自底向上的策略,首先将每个对象作为一个簇,然后合并这些原子簇为越来越大的簇,直到所有的对象都在一个簇中,或者某个终结条件被满足,绝大多数层次聚类方法属于这一类,它们只是在簇间相似度的定义上有所不同。 
    分裂的层次聚类与凝聚的层次聚类相反,采用自顶向下的策略,它首先将所有对象置于同一个簇中,然后逐渐细分为越来越小的簇,直到每个对象自成一簇,或者达到了某个终止条件。

     

    3.2.4 谱聚类 

    谱聚类(Spectral Clustering, SC)是一种基于图论的聚类方法——将带权无向图划分为两个或两个以上的最优子图,使子图内部尽量相似,而子图间距离尽量距离较远,以达到常见的聚类的目的。其中的最优是指最优目标函数不同,可以是割边最小分割, 也可以是分割规模差不多且割边最小的分割。谱聚类能够识别任意形状的样本空间且收敛于全局最优解,其基本思想是利用样本数据的相似矩阵(拉普拉斯矩阵)进行特征分解后得到的特征向量进行聚类。 
    此外常用的聚类方法还有基于网格的聚类、模糊聚类算法、自组织神经网络SOM、基于统计学的聚类算法(COBWeb、AutoClass)等。

     

    3.3 半监督学习 
    3.3.1 半监督学习概述 

    半监督学习算法要求输入数据部分被标识,部分没有被标识,这种学习模型可以用来进行预测,但是模型首先需要学习数据的内在结构以便合理的组织数据来进行预测。应用场景包括分类和回归,算法包括一些对常用监督式学习算法的延伸,这些算法首先试图对未标识数据进行建模,在此基础上再对标识的数据进行预测。如图论推理算法(Graph Inference)或者拉普拉斯支持向量机(Laplacian SVM.)等。

     

    3.3.2 Multi-view algorithm(多视角算法) 

    一般多用于可以进行自然特征分裂的数据集中.考虑特殊情况(每个数据点表征两个特征):每一个数据点看成是两个特征的集合,然后利用协同训练(Co-training algorithm)进行处理.协同训练(co-training)算法,此类算法隐含地利用了聚类假设或流形假设,它们使用两个或多个学习器,在学习过程中,这些学习器挑选若干个置信度高的未标记示例进行相互标记,从而使得模型得以更新。

     

    3.3.3 Graph-Based Algorithms(基于图的算法) 

    基于图的算法是基于图正则化框架的半监督学习算法,此类算法直接或间接地利用了流形假设,它们通常先根据训练例及某种相似度度量建立一个图,图中结点对应了(有标记或未标记)示例,边为示例间的相似度,然后,定义所需优化的目标函数并使用决策函数在图上的光滑性作为正则化项来求取最优模型参数。

     

    **3.4 文本处理模型 
    3.4.1 分词模型** 

    分词模型主要在处理文本过程中使用,在此特指中文分词模型。中文分词算法现在一般分为三类:基于字符串匹配,基于理解,基于统计的分词。 
    基于字符串匹配分词: 
    机械分词算法。将待分的字符串与一个充分大的机器词典中的词条进行匹配。分为正向匹配和逆向匹配;最大长度匹配和最小长度匹配;单纯分词和分词与标注过程相结合的一体化方法。所以常用的有:正向最大匹配,逆向最大匹配,最少切分法。实际应用中,将机械分词作为初分手段,利用语言信息提高切分准确率。优先识别具有明显特征的词,以这些词为断点,将原字符串分为较小字符串再机械匹配,以减少匹配错误率;或将分词与词类标注结合。 
    基于理解分词: 
    分词同时进行句法语义分析等模拟人对句子的理解,包括分词子系统,句法语义系统,总控部分。总控部分协调下,分词字系统可以获得有关词,句子等的句法和语义信息对分词歧义进行判断。需要大量的语言知识信息。 
    基于统计分词: 
    相邻的字同时出现的次数越多,越有可能构成一个词语,对语料中的字组频度进行统计,不需要切词字典,但错误率很高。可以考虑:使用基本词典进行关键词分词,使用统计方法识别新词组,两者结合。

     

    3.4.2 TF-IDF模型 

    TF-IDF(term frequency–inverse document frequency)是一种用于资讯检索与资讯探勘的常用加权技术。TF-IDF是一种统计方法,用以评估一字词对于一个文件集或一个语料库中的其中一份文件的重要程度。字词的重要性随着它在文件中出现的次数成正比增加,但同时会随着它在语料库中出现的频率成反比下降。TF-IDF加权的各种形式常被搜寻引擎应用,作为文件与用户查询之间相关程度的度量或评级。除了TF-IDF以外,因特网上的搜寻引擎还会使用基于连结分析的评级方法,以确定文件在搜寻结果中出现的顺序。 
    TFIDF的主要思想是:如果某个词或短语在一篇文章中出现的频率TF高,并且在其他文章中很少出现,则认为此词或者短语具有很好的类别区分能力,适合用来分类。TFIDF实际上是:TF * IDF,TF词频(Term Frequency),IDF反文档频率(Inverse Document Frequency)。TF表示词条在文档d中出现的频率(另一说:TF词频(Term Frequency)指的是某一个给定的词语在该文件中出现的次数)。IDF的主要思想是:如果包含词条t的文档越少,也就是n越小,IDF越大,则说明词条t具有很好的类别区分能力。如果某一类文档C中包含词条t的文档数为m,而其它类包含t的文档总数为k,显然所有包含t的文档数n=m+k,当m大的时候,n也大,按照IDF公式得到的IDF的值会小,就说明该词条t类别区分能力不强。(另一说:IDF反文档频率(Inverse Document Frequency)是指果包含词条的文档越少,IDF越大,则说明词条具有很好的类别区分能力。)但是实际上,如果一个词条在一个类的文档中频繁出现,则说明该词条能够很好代表这个类的文本的特征,这样的词条应该给它们赋予较高的权重,并选来作为该类文本的特征词以区别与其它类文档。这就是IDF的不足之处.

     

    3.4.3 LDA模型 

    LDA(Latent Dirichlet Allocation)是一种文档主题生成模型,也称为一个三层贝叶斯概率模型,包含词、主题和文档三层结构。所谓生成模型,就是说,我们认为一篇文章的每个词都是通过“以一定概率选择了某个主题,并从这个主题中以一定概率选择某个词语”这样一个过程得到。文档到主题服从多项式分布,主题到词服从多项式分布。 
    LDA是一种非监督机器学习技术,可以用来识别大规模文档集(document collection)或语料库(corpus)中潜藏的主题信息。它采用了词袋(bag of words)的方法,这种方法将每一篇文档视为一个词频向量,从而将文本信息转化为了易于建模的数字信息。但是词袋方法没有考虑词与词之间的顺序,这简化了问题的复杂性,同时也为模型的改进提供了契机。每一篇文档代表了一些主题所构成的一个概率分布,而每一个主题又代表了很多单词所构成的一个概率分布。

     

    4 模型评价指标 
    4.1 模型评价概述 

    建模构建过程中会得出一系列的分析结果、模式或模型。同一个采样数据可以利用多种数据分析方法和模型进行分析,模型评价的目的之一就是从这些模型中自动找出一个最好的模型出来,另外就是要针对业务对模型进行解释和应用。 
    模型效果评价通常分两步,第一步是直接使用原来建立模型的样本数据来进行检验。假如这一步都通不过,那么所建立的决策支持信息价值就不太大了。一般来说,在这一步应得到较好的评价。这说明你确实从这批数据样本中挖掘出了符合实际的规律性。第一步通过后,第二步是另外找一批数据,已知这些数据是反映客观实际的、规律性的。这次的检验效果可能会比前一种差,差多少是要注意的,若是差到所不能容忍程度,那就要考虑第一步构建的样本数据是否具有充分的代表性,或是模型本身是否够完善。这时候可能要对前面的工作进行反思了。若这一步也得到了肯定的结果时,那所建立的数据挖掘模型应得到很好的评价了。

     

    4.2 常用的模型评价方法 
    4.2.1 预测准确率 

    预测准确率又称作精度是检索出相关文档数与检索出的文档总数的比率,衡量的是检索系统的查准率。取值在0和1之间,数值越接近1,查准率就越高。 
    计算公式:正确率 = 提取出的正确信息条数 / 提取出的信息条数

     

    4.2.2 召回率 

    召回率是指检索出的相关文档数和文档库中所有的相关文档数的比率,衡量的是检索系统的查全率。取值在0和1之间,数值越接近1,查全率就越高。 
    计算公式:召回率 = 提取出的正确信息条数 / 样本中的信息条数

     

    4.2.3 综合指标F值 

    F值为正确率和召回率的调和平均值,能够综合平衡的去表示模型的性能效果。 
    计算公式:F值 = 正确率 * 召回率 * 2 / (正确率 + 召回率)

     

    4.2.4 ROC曲线 

    受试者工作特性(Receiver Operating Characteristic,ROC)曲线是一种非常有效的模型评价方法,可为选定临界值给出定量提示。将灵敏度(Sensitivity)设在纵轴,1-特异性(1-Specificity)设在横轴,就可得出ROC曲线图。该曲线下的积分面积(Area)大小与每种方法优劣密切相关,反映分类器正确分类的统计概率,其值越接近1说明该算法效果越好。

     

    4.2.5 数据相似度 

    聚类分群效果可以通过向量数据之间的相似度来衡量,向量数据之间的相似度定义为两个向量之间的距离(实时向量数据与聚类中心向量数据),距离越近则相似度越大,即该实时向量数据归为某个聚类。常用的相似度计算方法有:欧几里得距离法(Euclidean Distance)、皮尔逊相关系数法(Pearson Correlation Coefficient)、Cosine相似度和Tanimoto系数法。

     

    4.2.6 其他的模型评价方法 

    除上述的模型评价方法外,还有一些较为详细的模型评价方法。如可以用相对绝对误差、平均绝对误差、根均方差、相对平方根误差等指标来衡量。此外模型的鲁棒性和容错性以及处理数据的速度、能够处理数据的规模等都是衡量一个模型的重要指标。

    5 数据挖掘开发平台

     

    5.1 单机模型开发平台 

    直接在单机上部署数据挖掘开发环境,比如说安装mysql+python就可以搭建一个数据挖掘环境。

     

    5.2分布式集群开发平台 
    5.2.1 Hadoop集群环境 

    Hadoop 是一个通过分布式集群技术,将多个物理机或虚拟机(VMware等厂商的虚拟化技术在一个物理机上运行多个虚拟机)当作一台机器运行。基于Hadoop的数据挖掘数据挖掘一旦完成,就会生成挖掘结果即模式。

     

    5.4.2 Spark集群环境 

    Spark是UC Berkeley AMP lab所开源的类Hadoop MapReduce的通用的并行,Spark,拥有Hadoop MapReduce所具有的优点;但不同于MapReduce的是Job中间输出结果可以保存在内存中,从而不再需要读写HDFS,因此Spark能更好地适用于数据挖掘与机器学习等需要迭代的map reduce的算法。 
    6 数据挖掘的开发流程 
    6.1 数据获取 
    6.2 数据清洗 
    6.3 数据变换 
    6.4 特征工程 
    6.5 模型训练 
    6.6 模型优化 
    6.7 结果分析

    三、数据分析

    相比于数据挖掘,数据分析更多在于利用一定的工具和一定的专业知识分析数据。最初的数据分析来源于统计学家和经济学家的一些理论,进而结合一定的实际应用场景解决问题。数据分析更多的是偏重于业务层次的,对于大多数非计算机相关专业人士来说,掌握一般的数据分析方法是十分有用的,入门上手也相对简单。

    1 数学和专业的预备知识

    概率论:数据分析的重要数学基础,要熟悉常见的一些概率分布。 
    统计学:数据分析最早的依赖基础,通常和概率论一起应用,数据分析要掌握常见的均值、方差、协方差等。 
    心理学:数据分析往往要结合不同的学科知识进行分析,在数据分析的过程中,分析人员往往要结合用户的心理进行结果的调整和分析。 
    专业知识:一般来说,数据分析人员是对某一特定领域进行分析,这就要求分析人员具备一定的行业的专业知识。

    2 使用数据分析软件

    SPSS:功能非常强大非常专业的数据统计软件,界面友好,输出结果美观漂亮。SPSS软件具有信息的采集、处理、分析进行全面评估和预测等功能。包含广义线性混合模型、自动线性模型、一个统计网页入口portal和直复营销direct marketing功能。 
    SAS: 是一个模块化、集成化的大型应用软件系统,由数十个专用模块构成,功能包括数据访问、数据储存及管理、应用开发、图形处理、数据分析、报告编制、运筹学方法、计量经济学与预测等等。 
    Excel:办公套件中最能胜任数据分析的软件,简单实用。 
    Sql:非计算机专业的数据分析人员要操作数据必备的数据库语言。 
    R: 近年兴起的数据分析编程语言,数据可视化做的比较好,语法简单,学习成本很低,很多非程序设计人员都可以数量掌握。

     

    3 数据分析模型选取 

    数据分析人员可以借助一些现场的分析软件进行分析,这些软件集成了一些良好的分析模型,分析人员可以根据自己的实际应用场景进行合适的模型选择。基本的分析方法有:对比分析法、分组分析法、交叉分析法、结构分析法、漏斗图分析法、综合评价分析法、因素分析法、矩阵关联分析法等。高级的分析方法有:相关分析法、回归分析法、聚类分析法、判别分析法、主成分分析法、因子分析法、对应分析法、时间序列等。

     

    4 分析结果展示 

    数据分析的结果通过一些可视化图形或者报表形式进行展示能够增强对分析结果的理解。常用的的分析结果展示方法有: 
    图表展示:用一些柱状图、饼图、盒图等进行展示。 
    曲线展示:运用走势曲线或者ROC曲线进行展示。 
    文字展示:通过语言文字描述进行结果的分析展示,但是不够直观。

     

    5 数据分析的流程 

    5.1 数据获取 
    5.2 数据清洗 
    5.3 分析工具选取 
    5.4 数据分析模型选择 
    5.5 数据处理 
    5.6 处理结果展示 
    5.7 结果数据分析


    DrugAI
    展开全文
  • 数据挖掘十大算法之Apriori详解

    万次阅读 多人点赞 2016-12-06 11:59:59
    在2006年12月召开的 IEEE 数据挖掘国际会议上,与会的各位专家选出了当时的十大数据挖掘算法( top 10 data mining algorithms ),在本系列已经发布的文章中我们已经讨论了其中的七个。本文主要介绍Apriori算法,它...

    在2006年12月召开的 IEEE 数据挖掘国际会议上(ICDM, International Conference on Data Mining),与会的各位专家选出了当时的十大数据挖掘算法( top 10 data mining algorithms ),可以参见文献【1】。本博客已经介绍过的位列十大算法之中的算法包括:

    • [1] k-means算法(http://blog.csdn.net/baimafujinji/article/details/50570824)
    • [2] 支持向量机SVM(http://blog.csdn.net/baimafujinji/article/details/49885481)
    • [3] EM算法(http://blog.csdn.net/baimafujinji/article/details/50626088)
    • [4] 朴素贝叶斯算法(http://blog.csdn.net/baimafujinji/article/details/50441927)
    • [5] kkkNN算法(http://blog.csdn.net/baimafujinji/article/details/6496222)
    • [6] C4.5决策树算法(http://blog.csdn.net/baimafujinji/article/details/53239581)
    • [7] CART算法(http://blog.csdn.net/baimafujinji/article/details/53269040)

    Apriori算法是一种用于关联规则挖掘(Association rule mining)的代表性算法,它同样位居十大数据挖掘算法之列。关联规则挖掘是数据挖掘中的一个非常重要的研究方向,也是一个由来已久的话题,它的主要任务就是设法发现事物之间的内在联系。

    欢迎关注白马负金羁的博客 http://blog.csdn.net/baimafujinji,为保证公式、图表得以正确显示,强烈建议你从该地址上查看原版博文。本博客主要关注方向包括:数字图像处理、算法设计与分析、数据结构、机器学习、数据挖掘、统计分析方法、自然语言处理。


    引言:数据挖掘与机器学习

    有时候,人们会对机器学习与数据挖掘这两个名词感到困惑。如果你翻开一本冠以机器学习之名的教科书,再同时翻开一本名叫数据挖掘的教材,你会发现二者之间有相当多重合的内容。比如机器学习中也会讲到决策树和支持向量机,而数据挖掘的书里也必然要在决策树和支持向量机上花费相当的篇幅。可见二者确有相当大的重合面,但如果细研究起来,二者也的确是各自不同的领域。

    大体上看,数据挖掘可以视为数据库、机器学习和统计学三者的交叉。简单来说,对数据挖掘而言,数据库提供了数据管理技术,而机器学习和统计学则提供了数据分析技术。所以你可以认为数据挖掘包含了机器学习,或者说机器学习是数据挖掘的弹药库中一类相当庞大的弹药集。既然是一类弹药,其实也就是在说数据挖掘中肯定还有其他非机器学习范畴的技术存在。Apriori算法就属于一种非机器学习的数据挖掘技术。

    我们都知道数据挖掘是从大量的、不完全的、有噪声的、模糊的、随机的数据中,提取隐含在其中的、人们事先不知道的、但又是潜在有用的信息和知识的过程。 而机器学习是以数据为基础,设法构建或训练出一个模型,进而利用这个模型来实现数据分析的一类技术。这个被训练出来的机器学习模型当然也可以认为是我们从数据中挖掘出来的那些潜在的、有意义的信息和知识。在非机器学习的数据挖掘技术中,我们并不会去建立这样一个模型,而是直接从原数据集入手,设法分析出隐匿在数据背后的某些信息或知识。在后续介绍Apriori算法时,你会相当明显地感受到这一特点。


    基本概念

    许多商业企业在日复一日的运营中积聚了大量的交易数据。例如,超市的收银台每天都收集大量的顾客购物数据。例如,下表给出了一个这种数据集的例子,我们通常称其为购物篮交易(market basket transaction)。表中每一行对应一个交易,包含一个唯一标识TID和特定顾客购买的商品集合。零售商对分析这些数据很感兴趣,以便了解其顾客的购买行为。可以使用这种有价值的信息来支持各种商业中的实际应用,如市场促销,库存管理和顾客关系管理等等。
    在这里插入图片描述

    I={i1,i2,⋯ ,id}I=\{i_1, i_2, \cdots, i_d\}I={i1,i2,,id}是购物篮数据中所有项的集合,而T={t1,t2,⋯ ,tN}T=\{t_1, t_2, \cdots, t_N\}T={t1,t2,,tN}是所有交易的集合。包含0个或多个项的集合被称为项集(itemset)。如果一个项集包含kkk个项,则称它为 kkk-项集。显然,每个交易tit_iti包含的项集都是III的子集。

    关联规则是形如 X→YX\to YXY 的蕴涵表达式,其中XXXYYY是不相交的项集,即 X∩Y=∅X\cap Y=\emptysetXY=。关联规则的强度可以用它的支持度(support)和置信度(confidence)来度量。支持度确定规则可以用于给定数据集的频繁程度,而置信度确定YYY在包含XXX的交易中出现的频繁程度。支持度(sss:Fraction of transactions that contain both XXX and YYY)和置信度(ccc:How often items in YYY appear in transactions that contain XXX)这两种度量的形式定义如下:
    s(X→Y)=σ(X∪Y)Nc(X→Y)=σ(X∪Y)σ(X)s(X\to Y)=\frac{\sigma(X\cup Y)}{N}\\ c(X\to Y)=\frac{\sigma(X\cup Y)}{\sigma(X)}s(XY)=Nσ(XY)c(XY)=σ(X)σ(XY)
    例如考虑规则{Milk, Diaper}→\to{Beer},则易得:
    s=σ(Milk,Diaper,Beer)∣T∣=25=0.4c=σ(Milk,Diaper,Beer)σ(Milk,Diaper)=23=0.67s=\frac{\sigma(Milk, Diaper, Beer)}{|T|}=\frac{2}{5}=0.4\\ c=\frac{\sigma(Milk, Diaper, Beer)}{\sigma(Milk, Diaper)}=\frac{2}{3}=0.67s=Tσ(Milk,Diaper,Beer)=52=0.4c=σ(Milk,Diaper)σ(Milk,Diaper,Beer)=32=0.67

    Association Rule Mining Task:Given a set of transactions T, the goal of association rule mining is to find all rules having

    • support ≥ minsup threshold
    • confidence ≥ minconf threshold

    因此,大多数关联规则挖掘算法通常采用的一种策略是,将关联规则挖掘任务分解为如下两个主要的子任务。

    1. 频繁项集产生:其目标是发现满足最小支持度阈值的所有项集,这些项集称作频繁项集(frequent itemset)。
    2. 规则的产生:其目标是从上一步发现的频繁项集中提取所有高置信度的规则,这些规则称作强规则(strong rule)。

    通常,频繁项集产生所需的计算开销远大于产生规则所需的计算开销。

    最容易想到、也最直接的进行关联关系挖掘的方法或许就是暴力搜索(Brute-force)的方法:

    • List all possible association rules
    • Compute the support and confidence for each rule
    • Prune rules that fail the minsup and minconf thresholds

    然而,由于Brute-force的计算量过大,所以采样这种方法并不现实!格结构(Lattice structure)常被用来枚举所有可能的项集。如下图所示为I={a,b,c,d,e}I=\{a,b,c,d,e\}I={a,b,c,d,e}的项集格。一般来说,排除空集后,一个包含kkk个项的数据集可能产生2k−12^k-12k1个频繁项集。由于在实际应用中kkk的值可能非常大,需要探查的项集搜索空集可能是指数规模的。
    在这里插入图片描述

    发现频繁项集的一种原始方法是确定格结构中每个候选项集(candidate itemset)的支持度计 数。为了完成这一任务,必须将每个候选项集与每个交易进行比较,如下图所示。如果候选项集包含在交易中,则候选项集的支持度计数增加。例如,由于项集{Bread, Milk}出现在事务1、4 和5中,其支持度计数将增加3次。这种方法的开销可能非常大,因为它需要进行O(NMw)O(NMw)O(NMw)次比 较,其中NNN是交易数,M=2k−1M=2^k-1M=2k1是候选项集数,而www是交易的最大宽度(也就是交易中最大的项数)。

    在这里插入图片描述


    先验原理

    在上一小节的末尾,我们已经看到Brute-force在实际中并不可取。我们必须设法降低产生频繁项集的计算复杂度。此时我们可以利用支持度对候选项集进行剪枝,这也是Apriori所利用的第一条先验原理:

    Apriori定律1:如果一个集合是频繁项集,则它的所有子集都是频繁项集。

    例如:假设一个集合{A,B}是频繁项集,即A、B同时出现在一条记录的次数大于等于最小支持度min_support,则它的子集{A},{B}出现次数必定大于等于min_support,即它的子集都是频繁项集。

    Apriori定律2:如果一个集合不是频繁项集,则它的所有超集都不是频繁项集。

    举例:假设集合{A}不是频繁项集,即A出现的次数小于 min_support,则它的任何超集如{A,B}出现的次数必定小于min_support,因此其超集必定也不是频繁项集。

    下图表示当我们发现{A,B}是非频繁集时,就代表所有包含它的超级也是非频繁的,即可以将它们都剪除。

    在这里插入图片描述


    Apriori算法与实例

    R. Agrawal 和 R. Srikant于1994年在文献【2】中提出了Apriori算法,该算法的描述如下:

    • Let kkk=1
    • Generate frequent itemsets of length kkk
    • Repeat until no new frequent itemsets are identified
    • Generate length (kkk+1) candidate itemsets from length kkk frequent itemsets
    • Prune candidate itemsets containing subsets of length kkk+1 that are infrequent
    • Count the support of each candidate by scanning the DB
    • Eliminate candidates that are infrequent, leaving only those that are frequent

    或者在其他资料上更为常见的是下面这种形式化的描述(注意这跟前面的文字描述是一致的):
    在这里插入图片描述

    下面是一个具体的例子,最开始数据库里有4条交易,{A、C、D},{B、C、E},{A、B、C、E},{B、E},使用min_support=2作为支持度阈值,最后我们筛选出来的频繁集为{B、C、E}。
    在这里插入图片描述

    上述例子中,最值得我们从L2L_2L2C3C_3C3的这一步。这其实就是在执行伪代码中第一个蓝色框条所标注的地方:Ck+1=GenerateCandidates(Lk)C_{k+1}=GenerateCandidates(L_k)Ck+1=GenerateCandidates(Lk),具体来说在Apriori算法中,它所使用的策略如下:

    在这里插入图片描述

    可见生成策略由两部分组成,首先是self-joining部分。例如,假设我们有一个L3L_3L3={abc, abd, acd, ace, bcd}(注意这已经是排好序的}。选择两个itemsets,它们满足条件:前kkk-1个item都相同,但最后一个item不同,把它们组成一个新的Ck+1C_{k+1}Ck+1的项集ccc。如下图所示,{abc}和{abd}组成{abcd},{acd}和{ace}组成{acde}。生成策略的第二部分是pruning。对于一个位于Ck+1C_{k+1}Ck+1中的项集cccsssccc的大小为kkk的子集,如果sss不存在于LkL_kLk中,则将cccCk+1C_{k+1}Ck+1中删除。如下图所示,因为{acde}的子集{cde}并不存在于L3L_3L3中,所以我们将{acde}从C4C_4C4中删除。最后得到的C4C_4C4,仅包含一个项集{abcd}。

    在这里插入图片描述

    回到之前的例子,从L2L_2L2C3C_3C3的这一步,我们就只能获得{B、C、E}。以上便是Apriori算法的最核心思想。当然在具体实现的时候,如何Count Supports of Candidates也是需要考虑的问题,我们这里略去这部分内容的讨论,有兴趣读者可以参阅文献【3】以了解更多。


    参考文献

    【1】Wu, X., Kumar, V., Quinlan, J.R., Ghosh, J., Yang, Q., Motoda, H., McLachlan, G.J., Ng, A., Liu, B., Philip, S.Y. and Zhou, Z.H., 2008. Top 10 algorithms in data mining. Knowledge and information systems, 14(1), pp.1-37. (http://www.cs.uvm.edu/~icdm/algorithms/10Algorithms-08.pdf)

    【2】Rakesh Agrawal and Ramakrishnan Srikant Fast algorithms for mining association rules in large databases. Proceedings of the 20th International Conference on Very Large Data Bases, VLDB, pages 487-499, Santiago, Chile, September 1994. (http://rakesh.agrawal-family.com/papers/vldb94apriori.pdf)

    【3】Pang-Ning Tan, Micheale Steinbach, Vipin Kumar. 数据挖掘导论,范明,等译. 人民邮电出版社,2011

    展开全文
  • 数据挖掘进阶之序列模式挖掘GSP算法 绪 继续数据挖掘方面算法的讲解,前面讲解了数据挖掘中关联规则算法FP-Growth的实现。此篇博文主要讲解基于有趣性度量标准的GSP序列模式挖掘算法。有关论文后期进行补充。实现...

    数据挖掘进阶之序列模式挖掘GSP算法

          继续数据挖掘方面算法的讲解,前面讲解了数据挖掘中关联规则算法FP-Growth的实现。此篇博文主要讲解基于有趣性度量标准的GSP序列模式挖掘算法。有关论文后期进行补充。实现思路与前面优化的FP-Growth算法一致,首先实现简单的GSP算法,通过认真阅读源码,在理解的基础之上进行优化。优化后的算法将在性能方面与原算法进行对比,以此突出此算法的优良性能。下面进行简要介绍:

    原理介绍

          GSP算法是一种非常有效的序列模式挖掘算法,该算法使用一种称作为逐层搜索的迭代方法,首先找出频繁1-序列模式的集合F1,F1用于寻找频繁2-序列模式F2,F2用于寻找频繁3-序列模式、F3...,如此下去,直到不能找到频繁序列模式为止。

       F1 = the set of frequent 1-sequence

       k=2,

       do while F(k-1)!= Null;

           Generate candidate sets Ck (set of candidate k-sequences);

               For all input sequences s in the database D

                   do

               Increment count of all a in Ck if s supports a

               Fk = {a ∈ Ck such that its frequency exceeds the threshold}

                   k= k+1;

               Result = Set of all frequent sequences is the union of all Fks

                   End do

       End do

          GSP需要多次扫描序列数据库,在第一次扫描中,对所有的单个项目(1—序列模式)进行计数。利用频繁1—序列模式生成候选频繁2—序列模式,进行第二次扫描并求候选频繁2—序列模式的支持数。使用频繁2—序列模式生成候选频繁3—序列模式,重复以上过程,直到找出所有的频繁序列模式。

     算法实现

           本算法采用Java实现,主要根据序列模式的情况,序列模式挖掘中共涉及到3个对象:序列元素项目。算法共有5个类:

    GSP类:算法核心类,GSP算法的核心操作:连接剪枝操作都在这里实现。在使用该算法时,也是需要通过使用该类的方法来实现GSP算法。

    Sequence类:序列类,该类封装了序列的基本信息和基本操作,实现了对序列间的比较以及序列中的项目集操作。

    Element类:元素类,在序列模式中元素也就是项目集,项目集中包含了项目。在本算法实现中,元素类中含有一个项目集属性,用于表示项目集,在使用时也是使用该属性来表示项目集,另外,在该类中还封装了对项目的操作以及一些其他操作。

    SeqDB类:该类用于从数据库中扫描获取序列,本算法主要用于模拟实现,所以在程序中已经初始化了序列。

    GSPTest类:测试类,使用JUnit对算法进行单元测试,本文附的代码只含有对于实现GSP算法的方法测试。

          具体源码请参考博文“序列模式分析算法GSP的实现”。

    展开全文
  • 数据挖掘面试 150 道题(附答案)

    万次阅读 2019-09-21 13:50:38
    1. 某超市研究销售纪录数据后发现,买啤酒的人很大概率也会购买尿布,这种属于数据挖掘的哪类问题?(A) A. 关联规则发现 B. 聚类 C. 分类 D. 自然语言处理 2. 以下两种描述分别对应哪两种对分类算法的评价标准...
  • 数据挖掘进阶之关联规则挖掘FP-Growth算法 绪 近期在写论文方面涉及到了数据挖掘,需要通过数据挖掘方法实现软件与用户间交互模式的获取、分析与分类研究。主要涉及到关联规则与序列模式挖掘两块。关联规则挖掘使用...
  • Python数据挖掘简易入门

    千人学习 2020-03-11 14:47:29
    本课程为Python数据挖掘方向的入门课程,课程主要以真实数据为基础,详细介绍数据挖掘入门的流程和使用Python实现pandas与numpy在数据挖掘方向的运用,并深入学习如何运用scikit-learn调用常用的数据挖掘算法解决...
  • 数据挖掘】之 数据挖掘 绪论

    千次阅读 2020-04-28 23:35:42
    1.什么是数据挖掘 数据挖掘是在大型数据存储库中,自动地发现有用信息的过程。数据挖掘技术用来探查大型数据库,发现先前未知的有用模式。数据挖掘还可以预测未来观测结果。 并非所有的信息发现任务都被视为数据...
  • Python数据挖掘实战

    千人学习 2017-12-15 12:04:44
    Python数据挖掘技术系列视频培训教程基于真实数据集进行案例实战,使用Python数据科学库从数据预处理开始一步步进行数据建模。对于每个案例首先进行流程解读与数据分析,建立特征工程,详细解读其中每一步原理与...
  • 项目内容本案例选择>> 商品类目:沙发;数量:共100页 4400个商品;筛选条件:天猫、销量从高到低、价格500元以上。项目目的1. 对商品标题进行文本分析 词云可视化2. 不同关键词word对应的sales的统计...
  • 数据挖掘流程

    千次阅读 2019-09-21 15:17:44
    1、数据挖掘流程使用思维导图总结出来?(数据挖掘流程) 数据挖掘流程
  • 数据挖掘概念

    千次阅读 2019-06-24 16:04:27
    数据挖掘定义: •数据挖掘是从海量的数据中抽取感兴趣的(有价值的、隐含的、以前没有用但是潜在有用信息的)模式和知识的过程。 •数据挖掘是从存放在数据库、数据仓库中或其它信息库中的大量数据中挖掘有趣知识...
  • 数据挖掘 这是技术向的数据岗,有些归类在研发部门,有些则单独成立数据部门。数据挖掘工程师要求更高的统计学能力、数理能力以及编程技巧。 常见数据挖掘项目的闭环如下: 1. 定义问题 2. 数据抽取 3. 数据清洗 4. ...
  • 数据挖掘系列的第一篇,介绍了关于数据挖掘的基本概念以及关于数据的方方面面,建立对于数据和数据挖掘的基本认识。
  • 数据挖掘(DataMining)是从大量的、不完全的、有噪声的、模糊的、随机的数据中提取隐含在其中的、人们事先不知道的、但又是潜在有用的信息和知识的过程。 数据挖掘对象 根据信息存储格式,用于挖掘的对象有关系数据库...
  • 数据挖掘概论

    千次阅读 2018-11-22 16:06:50
    最近学习数据挖掘,记录一下数据挖掘概述,便于指导以后的学习方向。 数据挖掘的过程 1.数据预处理(至关重要,数据的质量决定挖掘的质量) 数据预处理包括数据整合、数据清洗、数据转化和数据约简。 一、数据...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 75,585
精华内容 30,234
关键字:

数据挖掘