精华内容
下载资源
问答
  • 包含多个维度,精确到某个地点每天的天气:日平均降水量、日平均温度、日平均湿度、风向;可以用于预估产量
  • 从使用的广义角度上看,数据挖掘常用分析方法主要有分类、聚类、估值、预测、关联规则、可视化等。从数据挖掘算法所依托的数理基础角度归类,目前数据挖掘算法主要分为三大类:机器学习方法、统计方法与神经网络方法...
     
    

    1. 分类

    • 在数据挖掘的发展过程中,由于数据挖掘不断地将诸多学科领域知识与技术融入当中,因此,目前数据挖掘方法与算法已呈现出极为丰富的多种形式。从使用的广义角度上看,数据挖掘常用分析方法主要有分类、聚类、估值、预测、关联规则、可视化等。从数据挖掘算法所依托的数理基础角度归类,目前数据挖掘算法主要分为三大类:机器学习方法、统计方法与神经网络方法。机器学习方法分为决策树、基于范例学习、规则归纳与遗传算法等:统计方法细分为回归分析、时间序列分析、关联分析、聚类分析、模糊集、粗糙集、探索性分析、支持向量机与最近邻分析等:神经网络方法分为前向神经网络、自组织神经网络、感知机、多层神经网络、深度学习等。在具体的项目应用场景中通过使用上述这些特定算法,可以从大数据中整理并挖掘出有价值的所需数据,经过针对性的数学或统计模型的进一步解释与分析, 提取出隐含在这些大数据中的潜在的规律、规则、知识与模式口。下面介绍数据挖据中经常使用的分类、聚类、关联规则与时间序列预测等相关概念。

    • 数据挖掘方法中的一种重要方法就是分类,在给定数据基础上构建分类函数或分类模型,该函数或模型能够把数据归类为给定类别中的某一种类别,这就是分类的概念。在分类过程中,通常通过构建分类器来实现具体分类,分类器是对样本进行分类的方法统称。一般情况下,分类器构建需要经过以下4步:①选定包含正、负样本在内的初始样本集,所有初始样本分为训练与测试样本;②通过针对训练样本生成分类模型:③针对测试样本执行分类模型,并产生具体的分类结果:④依据分类结果,评估分类模型的性能。在评估分类模型的分类性能方面,有以下两种方法可用于对分类器的错误率进行评估:①保留评估方法。通常采用所有样本集中的2/3部分样本作为训练集,其余部分样本作为测试样本,也即使用所有样本集中的2/3样本的数据来构造分类器,并采用该分类器对测试样本分类,评估错误率就是该分类器的分类错误率。这种评估方法具备处理速度快的特点,然而仅用2/3 样本构造分类器,并未充分利用所有样本进行训练。②交叉纠错评估方法。该方法将所有样本集分为N个没有交叉数据的子集,并训练与测试共计N次。在每一次 训练与测试过程中,训练集为去除某- 个子集的剩余样本,并在去除的该子集上进行N次测试,评估错误率为所有分类错误率的平均值。一般情况下,保留评估方法用于最初试验性场景,交叉纠错法用于建立最终分类器。

    2. 聚类

    • 随着科技的进步,数据收集变得相对容易,从而导致数据库规模越来越庞大,例如,各类网上交易数据、图像与视频数据等,数据的维度通常可以达到成百上千维。在自然社会中,存在大量的数据聚类问题,聚类也就是将抽象对象的集合分为相似对象组成的多个类的过程,聚类过程生成的簇称为一组数据对象的集合。聚类源于分类,聚类又称为群分析,是研究分类问题的另种统计计算方法, 但聚类又不完全等同于分类同。聚类与分类的不同点在于:聚类要求归类的类通常是未知的,而分类则要求事先已知多个类。对于聚类问题,传统聚类方法已经较为成功地解决了低维数据的聚类,但由于大数据处理中的数据高维、多样与复杂性,现有的聚类算法对于大数据或高维数据的情况下,经常面临失效的窘境。受维度的影响,在低维数据空间表现良好的聚类方法,运用在高维空间上却无法获得理想的聚类效果。在针对高维数据进行聚类时,传统聚类方法主要面临两个问题:①相对低维空间中的数据,高维空间中数据分布稀疏,传统聚类方法通常基于数据间的距离进行聚类,因此,在高维空间中采用传统聚类方法难以基于数据间距离来有效构建簇。②高维数据中存在大量不相关的属性,使得在所有维中存在簇的可能性几乎为零。目前,高维聚类分析已成为聚类分析的个重要研究方向,也是聚类技术的难点与挑战性的工作。

    3. 关联规则

    • 关联规则属于数据挖掘算法中的一类重要方法,关联规则就是支持度与置信度分别满足用户给定阈值的规则4。所谓关联,反映一个事件与其他事件间关联的知识。支持度揭示了A和B同时出现的频率。置信度揭示了B出现时,A有多大的可能出现。关联规则最初是针对购物篮分析问题提出的,销售分店经理想更多了解顾客的购物习惯,尤其想获知顾客在一次购物时会购买哪些商品。通过发现顾客放入购物篮中不同商品间的关联,从而分析顾客的购物习惯。关联规则的发现可以帮助销售商掌握顾客同时会频繁购买哪些商品,从而有效帮助销售商开发良好的营销手段。1993 年,R.Agrawal首次提出挖掘顾客交易数据中的关联规则问题,核心思想是基于二阶段频繁集的递推算法。起初关联规则属于单维、单层及布尔关联规则,例如,典型的Aprior 算法。在工作机制上,关联规则包含两个主要阶段:第1阶段先从资料集合中找出所有的高频项目组,第2阶段由高频项目组中产生关联规则。随着关联规则的不断发展,目前关联规则中可以处理的数据分为单维和多维数据。针对单维数据的关联规则中,只涉及数据的一一个维,如客户购买的商品:在针对多维数据的关联规则中,处理的数据涉及多个维。总体而言,单维关联规则处理单个属性中的一些关系,而多维关联规则处理各属性间的关系。

    4. 时间序列预测

    • 通常将统计指标的数值按时间顺序排列所形成的数列,称为时间序列。时间序列预测法是一种历史引申预测法,也即将时间数列所反映的事件发展过程进行引申外推,预测发展趋势的一种方法。时间序列分析是动态数据处理的统计方法,主要基于数理统计与随机过程方法,用于研究随机数列所服从的统计学规律,常用于企业经营、气象预报、市场预测、污染源监控、地震预测、农林病虫灾害预报、天文学等方面。时间序列预测及其分析是将系统观测所得的时数据,通过 参数估计与曲线拟合来建立合理数学模型的方法,包含谱分析与自相关分析在内的一系列统计分析理论, 涉及时间序列模型的建立、推断、最优预测、非线性控制等原理。时间序列预测法可用于短期、中期和长期预测,依据所采用的分析方法,时间序列预测又可以分为简单序时平均数法、移动平均法、季节性预测法、趋势预测法、指数平滑法等方法。
    展开全文
  • 数据挖掘预测建模(决策树)

    千次阅读 2013-06-06 22:14:39
    数据挖掘任务分为:模式挖掘、描述建模、预测建模。上面有一篇文章讲的是Apriori算法,用于数据挖掘的第一个任务模式挖掘。本文介绍数据挖掘预测建模上的应用。预测建模是指根据现有数据先建立一个模型,然后应用...

    数据挖掘任务分为:模式挖掘、描述建模、预测建模。上面有一篇文章讲的是Apriori算法,用于数据挖掘的第一个任务模式挖掘。本文介绍数据挖掘在预测建模上的应用。预测建模是指根据现有数据先建立一个模型,然后应用这个模型来对未来的数据进行预测。

    1、概念

    1.1 Classification和Prediction

    Classification主要用于对离散的数据进行预测,分为两步:首先根据训练集,构照分类模型(训练集中每个元组的分类标号事先已经知道);然后估计分类模型的准确性,如果其准确性可以接受的话,则利用它来对未来数据进行分类。Prediction构造、使用模型来对某个样本的值进行估计,例如预测某个不知道的值或者缺失值,主要用于对连续或有序的数据进行预测

    1.2 Supervised vs Unsupervised Learning

     Supervised learning (classification): Supervision, the training data (observations, measurements, etc.) are accompanied by labels indicating the class of the observations. New data is classified based on the training set. Unsupervised learning (clustering): The class labels of training data is unknown. Given a set of measurements, observations, etc. With the aim of establishing the existence of classes or clusters in the data.

    解释分类和聚类的例子:

    分类:两岁宝宝,给他看几个水果,并告诉他:红的圆的是苹果,橘黄的圆的是橘子  (建模型)。拿一个水果问宝宝:这个水果,红的圆的,是什么?(用模型)
    聚类:两岁宝宝,给他一堆水果,告诉他:根据颜色分成两堆。宝宝会将苹果分成一堆,橘子分成一堆。假如告诉他:根据大小分成3堆,则宝宝会根据大小分成3堆,苹果和橘子可能会放在一起。

    2、Classification的两个步骤

    (1)模型构造阶段(describing a set of predetermined classes)
    假定每个元组/样本都属于某个预定义的类,这些类由分类标号属性所定义。用来构造模型的元组/样本集被称为训练集(training set)。模型一般表示为:分类规则,决策树或者数学公式。
    (2)模型使用阶段(for classifying future or unknown objects)
    首先估计模型的准确性:用一些已知分类标号的测试集和由模型进行分类的结果进行比较,两个结果相同所占的比率称为准确率。测试集和训练集必须不相关,如果准确性可以接受的话, 使用模型来对那些不知道分类标号的数据进行分类。


                          图1 模型构造阶段                                                          图2 模型使用阶段

    3、分类和预测相关问题

    3.1 数据预处理

    (1) 数据清洗:对数据进行预处理,去掉噪声,对缺失数据进行处理(用某个最常用的值代替或者根据统计用某个最可能的值代替)
    (2) 相关分析(特征选择):去掉某些不相关的或者冗余的属性(如银行进行贷款信誉评估时不需要考虑属于一周的某一天)
    (3) 数据转换:对数据进行概括(如将连续的值离散成若干个区域,将街道等上升到城市);对数据进行规范化,将某个属性的值缩小到某个指定的范围之内。

    3.2 对分类方法进行评价

    (1) 准确性:分类准确性和预测准确性
    (2) 速度:构造模型的时间 (训练时间)和使用模型的时间 (分类/预测时间)
    (3) 鲁棒性:能够处理噪声和缺失数据
    (4) 可伸缩性:对磁盘级的数据库有效 
    (5) 易交互性:模型容易理解,具有较好的洞察力

    4、基于决策树的分类方法

    4.1 引例


                           图3 训练集                                             图4 根据训练集得到的决策树模型

    4.2 决策树算法

    (1) 基本算法 (贪婪算法)
    由上到下,分而治之,递归构造树。开始时,所有的训练样本都在树根,属性都是可分类的属性(如果是连续值的话,首先要对其进行离散化)。根据选择的属性,对样本递归地进行划分。在启发式或统计度量(如 information gain)的基础上选择测试属性。(在决策树各个分支上选择属性时,也要采用和在决策树根选择属性一样用信息增益等方法选择划分属性。)
    (2)停止划分的条件:某个节点上的所有样本都属于相同的类、所有的属性都用到了(这时采用多数有效的方法对叶子节点进行分类)、没有样本了。

    (3) 属性选择方法:信息增益(Information Gain)


                              图5 Information Gain计算方法

    (4) 信息增益的计算举例


                                    图6 计算信息增益的例子

    4.3 Extracting Classification Rules from Trees

    决策树中所蕴含的知识可以表达成IF-THEN规则的形式,从根到叶的一条路径生成一条规则,路径上的属性值由AND连接起来,构成IF部分,叶子节点构成THEN部分,指出所属的分类,这样的规则易于被人们所理解。下面是一个例子


                   图7 Extracting Classification Rules from Trees

    5、决策树算法的相关问题

    5.1 Avoid Overfitting in Classification

    Overfitting:有些生成的决策树完全服从于训练集,太循规蹈矩,以至于生成了太多的分支,某些分支可能是一些特殊情况,出现的次数很少,不具有代表性,更有甚者仅在训练集中出现,导致模型的准确性很低。

    通常采用剪枝的方式来克服 overfitting,剪枝有两种方法:
    (1) 先剪:构造树的过程中进行修剪。不符合条件的分支则不建。
    (2) 后剪:整个树生成之后进行修剪。

    5.2 Computing Information-Gain for Continuous-Value Attributes

    假设属性A是一个连续值属性,需要找到一个好的划分点,对A进行划分:将A的所有值按升序排序,一般来说,两个连续点的中间值可以考虑作为划分点((ai+ai+1)/2 是ai和ai+1的中间值)。划分:D1 表示D中满足条件A ≤ split-point的值的集合, D2表示 D中满足条件A > split-point的元组的集合。

    5.3 Gain Ratio for Attribute Selection


                    图8 Gain Ratio for Attribute Selection

    5.4 Classification in Large Databases

    Classification—是一个老问题,统计和机器学习的研究人员已经对其进行了广泛的研究。Scalability是数据挖掘过程中不可忽视的问题,要求采用比较合理的速度对具有上百万样本和上百个属性的数据集进行分类。数据挖掘领域为什么采用决策树呢?和其他分类方法相比,决策树的学习速度较快;可以转换成简单的、易于理解的分类规则;可以采用SQL查询访问数据库;具有较高的分类准确性。

    5.5 Scalable Decision Tree Induction Methods

    (1) SLIQ (EDBT’96 — Mehta et al.):为每个属性创建一个索引,内存中只放分类列表和当前属性列表。
    (2) SPRINT (VLDB’96 — J. Shafer et al.):构造了一个特殊的属性列表数据结构 。
    (3) PUBLIC (VLDB’98 — Rastogi & Shim):将建树和剪枝结合起来进行,尽早停止树的生长。
    (4) RainForest  (VLDB’98 — Gehrke, Ramakrishnan & Ganti):维护了一个AVC-list (attribute, value, class label)结构。

    展开全文
  • 本文首先介绍数据挖掘的基本内容,然后按照数据挖掘基本的处理流程,以性别预测实例来讲解一个具体的数据挖掘任务是如何实现的。数据挖掘的基本内容 首先,对于数据挖掘的概念,目前比较广泛认可的一种解释如下: ...

    互联网的迅猛发展,催生了数据的爆炸式增长。面对海量的数据,如何挖掘数据的价值,成为一个越来越重要的问题。本文首先介绍数据挖掘的基本内容,然后按照数据挖掘基本的处理流程,以性别预测实例来讲解一个具体的数据挖掘任务是如何实现的。

    数据挖掘的基本内容

    • 首先,对于数据挖掘的概念,目前比较广泛认可的一种解释如下:

    Data mining is the use of efficient techniques for the analysis of very large collections of data and the extraction of useful and possibly unexpected patterns in data.
    数据挖掘是一种通过分析海量数据,从数据中提取潜在的但是非常有用的模式的技术。

    • 主要的数据挖掘任务

    数据挖掘任务可以分为预测性任务和描述性任务。预测性任务主要是预测可能出现的情况;描述性任务则是发现一些人类可以解释的模式或规律。数据挖掘中比较常见的任务包括分类、聚类、关联规则挖掘、时间序列挖掘、回归等,其中分类、回归属于预测性任务,聚类、关联规则挖掘、时间序列分析等则都是解释性任务。

    按照数据挖掘的基本流程,来谈谈分类问题

    在简单介绍了数据挖掘的基本内容后,我们来切入主题。以数据挖掘的流程为主线,穿插性别预测的实例,来讲解分类问题。根据经典教科书和实际工作经验来看,数据挖掘的基本流程主要包括五部分,首先是明确问题,第二是对数据进行预处理,第三是对数据进行特征工程,转化为问题所需要的特征,第四是根据问题的评价标准选择最优的模型和算法,最后将训练的模型用于实际生产,产出所需结果(如图1所示)。

    图片描述

    图1 数据挖掘的基本流程

    下面我们分别介绍各环节涉及的主要内容:

    1.明确问题和了解数据

    这一环节最重要的是需求和数据的匹配。首先需要明确需求,有着怎样的需求?是需要做分类、聚类、推荐还是其他?实际数据是否支持该需求?比如,分类问题需要有或者可以构造出training set,如果没有training set,就没有办法按照分类问题来解决。此外,数据的规模、重要feature的覆盖度等,也是需要特别考虑的问题。

    2.数据预处理

    1)数据集成,数据冗余,数值冲突

    数据挖掘中准备数据的时候,需要尽可能地将相关数据集成在一起。如果集成的数据中,有两列或多列值一样,则不可避免地会产生数值冲突或数据冗余,可能需要根据数据的质量来决定保留冲突中的哪一列。

    2)数据采样

    一般来说,有效的采样方式如下:如果样本是有代表性的,则使用样本数据和使用整个数据集的效果几乎是一样的。抽样方法有很多,需要考虑是有放回的采样,还是无放回的采样,以及具体选择哪种采样方式。

    3)数据清洗、缺失值处理与噪声数据

    现实世界中的数据,是真实的数据,不可避免地会存在各种各样的异常情况。比如某列的值缺失,或者某列的值是异常的,所以,我们需要在数据预处理阶段进行数据清洗,来减少噪音数据对模型训练和预测结果的影响。

    3.特征工程

    数据和特征决定了机器学习的上限,而模型和算法只是逼近这个上限而已。下面的观点说明了特征工程的特点和重要性。

    Feature engineering is another topic which doesn’t seem to merit any review papers or books, or even chapters in books, but it is absolutely vital to ML success. […] Much of the success of machine learning is actually success in engineering features that a learner can understand.
    — Scott Locklin, in “Neglected machine learning ideas

    1)特征:对所需解决问题有用的属性

    特征是对你所需解决问题有用或者有意义的属性。比如,在计算机视觉领域,图片作为研究对象,可能图片中的一个线条就是一个特征;在自然语言处理领域中,研究对象是文档,文档中的一个词语的出现次数就是一个特征;在语音识别领域中,研究对象是一段话,phoneme(音位)可能就是一个特征。

    2)特征的提取、选择和构造

    既然特征是对我们所解决的问题最有用的属性。首先我们需要处理的是根据原始数据抽取出所需要的特征。亟需注意的是,并不是所有的特征对所解决的问题产生的影响一样大,有些特征可能对问题产生特别大的影响,但有些则可能影响甚微,和所解决的问题不相关的特征需要被剔除掉。因此,我们需要针对所解决的问题选择最有用的特征集合,一般可以通过相关系数等方式来计算特征的重要性。当然,有些模型本身会输出feature重要性,如Random Forest等算法。而对于图片、音频等原始数据形态特别大的对象,则可能需要采用像PCA这样的自动降维技术。另外,还可能需要本人对数据和所需解决的问题有深入的理解,能够通过特征组合等方法构造出新的特征,这也正是特征工程被称之为是一门艺术的原因之一。

    实例讲解(一)

    接下来,我们通过一个性别预测的实例来说明数据挖掘处理流程中的“明确问题”、“数据预处理”和“特征工程”三个部分。

    假设我们有如下两种数据,想根据数据训练一个预测用户性别的模型。

    • 数据1: 用户使用App的行为数据;
    • 数据2: 用户浏览网页的行为数据;

    第一步:明确问题

    1. 首先明确该问题属于数据挖掘常见问题中的哪一类, 是分类、聚类,推荐还是其他?假设本实例数据有部分数据带有男女性别,则该问题为分类问题;
    2. 数据集是否够大?我们需要足够大的数据来训练模型,如果数据集不够大,那么所训练的模型和真实情况偏差会比较大;
    3. 数据是否满足所解决问题的假设?统计发现男人和女人使用的App不太一致,浏览网页的内容也不太一致,则说明我们通过数据可以提取出对预测性别有用的特征,来帮助解决问题。如果根据数据提取不出有用的特征,那么针对当前数据,问题是没法处理的。

    第二步:数据预处理

    1. 实际工作中,在数据预处理之前需要确定整个项目的编程语言(如Python、Java、 Scala)和开发工具(如Pig、Hive、Spark)。通常而言,编程语言和开发工具的选择都依赖于所处的数据平台环境;
    2. 选取多少数据做模型训练?这是常说的数据采样问题。一般认为采样数据量越大,对所解决的任务帮助越大,但是数据量越大,计算代价也越大,因此,需要在解决问题的效果和计算代价之间折中一下;
    3. 把所有相关的数据聚合在一起,如果有相同字段则存在数据冗余的问题,需要根据数据的质量剔除掉冗余的数据;数据中可能存在异常值,则需要过滤掉;数据中可能有的值有缺失,则需要填充默认值。

    数据预处理后可能的结果(如表1、表2所示):

    表1 数据1预处理后结果

    图片描述

    表2 数据2预处理后结果

    图片描述

    第三步:特征工程

    由于数据1和数据2的类型不太一样,所以进行特征工程时,所采用的方法也不太一样,下面分别介绍一下:

    1. 数据1的特征工程

    数据1的单个特征的分析主要包括以下内容:

    • 数值型特征的处理,比如App的启动次数是个连续值,可以按照低、中、高三个档次将启动次数分段成离散值;
    • 类别型特征的处理,比如用户使用的设备是三星或者联想,这是一个类别特征,可以采用0-1编码来处理;
    • 需要考虑特征是否需要归一化。

    数据1的多个特征的分析主要包括以下内容:

    • 使用的设备类型是否决定了性别?需要做相关性分析,通常计算相关系数;
    • App的启动次数和停留时长是否完全正相关,结果表明特别相关,则说明App的停留时长是无用特征,将App的停留时长这个特征过滤掉;
    • 如果特征太多,可能需要做降维处理。

    2.数据2的特征工程

    数据2是典型的文本数据,文本数据常用的处理步骤包含以下几个部分:

    网页 → 分词 → 去停用词 → 向量化

    • 分词。可以采用Jieba分词(Python库)或张华平老师的ICTCLAS;
    • 去除停用词。停用词表除了加入常规的停用词外,还可以将DF(Document Frequency)比较高的词加入停用词表,作为领域停用词;
    • 向量化。一般是将文本转化为TF或TF-IDF向量。

    特征工程后数据1的结果(如表3所示,A1低表示启动App1的次数比较低,以此类推,is_hx表示设备是否是华为,Label为1表示Male)。

    表3 数据1特征工程后结果

    图片描述

    特征工程后数据2的结果(如表4所示,term1=5表示user1浏览的网页中出现词1的频率,以此类推)。

    表4 数据2特征工程后结果

    图片描述

    第四步:算法和模型

    做完特征工程后,下一步就是选择合适的模型和算法。算法和模型的选择主要考虑一下几个方面:

    1. 训练集的大小;
    2. 特征的维度大小;
    3. 所解决问题是否是线性可分的;
    4. 所有的特征是独立的吗?
    5. 需要不需要考虑过拟合的问题;
    6. 对性能有哪些要求?

    上面中提到的很多问题没法直接回答,可能我们还是不知道该选择哪种模型和算法,但是奥卡姆剃刀原理给出了模型和算法的选择方法:

    Occam’s Razor principle: use the least complicated algorithm that can address your needs and only go for something more complicated if strictly necessary.

    业界比较通用的算法选择一般是这样的规律:如果LR可以,则使用LR;如果LR不适合,则选择Ensemble的方式;如果Ensemble方式不适合,则考虑是否尝试Deep Learning。下面主要介绍一下LR算法和Ensemble方法的相关内容。

    • LR算法(Logistic Regression,逻辑回归算法)

    只要认为问题是线性可分的,就可采用LR,通过特征工程将一些非线性特征转化为线性特征。 模型比较抗噪,而且可以通过L1、L2范数来做参数选择。LR可以应用于数据特别大的场景,因为它的算法效率特别高,且很容易分布式实现。

    区别于其他大多数模型,LR比较特别的一点是结果可以解释为概率,能将问题转为排序问题而不是分类问题。

    • Ensemble方法(组合方法)

    组合方法的原理主要是根据training set训练多个分类器,然后综合多个分类器的结果,做出预测(如图2所示)。

    图片描述

    图2 组合方法的基本流程

    组合方式主要分为Bagging和Boosting。Bagging是Bootstrap Aggregating的缩写,基本原理是让学习算法训练多轮,每轮的训练集由从初始的训练集中随机取出的n个训练样本组成(有放回的随机抽样),训练之后可得到一个预测函数集合,通过投票方式决定预测结果。

    而Boosting中主要的是AdaBoost(Adaptive Boosting)。基本原理是初始化时对每一个训练样本赋相等的权重1/n,然后用学习算法对训练集训练多轮,每轮结束后,对训练失败的训练样本赋以较大的权重。也就是让学习算法在后续的学习中集中对比较难的训练样本进行学习,从而得到一个预测函数集合。每个预测函数都有一定的权重,预测效果好的预测函数权重较大,反之较小,最终通过有权重的投票方式来决定预测结果。

    Bagging和Boosting的主要区别如下:

    1. 取样方式不同。Bagging采用均匀取样,而Boosting根据错误率来取样,因此理论上来讲Boosting的分类精度要优于Bagging;
    2. 训练集的选择方式不同。Bagging的训练集的选择是随机的,各轮训练集之间相互独立,而Boostng的各轮训练集的选择与前面的学习结果有关;
    3. 预测函数不同。Bagging的各预测函数没有权重,而Boosting是有权重的。Bagging的各个预测函数可以并行生成,而Boosting的各个预测函数只能顺序生成。

    对于像神经网络这样极其耗时的学习方法,Bagging可通过并行训练节省大量时间开销。Bagging和Boosting都可以有效地提高分类的准确性。在大多数数据集中,Boosting的准确性比Bagging要高。

    分类算法的评价
    上一部分介绍了常用的模型和算法,不同的算法在不同的数据集上会产生不同的效果,我们需要量化算法的好坏,这就是分类算法的评价。在本文中,笔者将主要介绍一下混淆矩阵和主要的评价指标。

    1.混淆矩阵(如图3所示)

    图片描述

    图3 混淆矩阵

    1)True positives(TP):即实际为正例且被分类器划分为正例的样本数;
    2)False positives(FP):即实际为负例但被分类器划分为正例的样本数;
    3)False negatives(FN):即实际为正例但被分类器划分为负例的样本数;
    4)True negatives(TN):即实际为负例且被分类器划分为负例的样本数。

    2.主要的评价指标

    1)准确率accuracy=(TP+TN)/(P+N)。这个很容易理解,就是被分对的样本数除以所有的样本数。通常来说,准确率越高,分类器越好;
    2)召回率recall=TP/(TP+FN)。召回率是覆盖面的度量,度量有多少个正例被分为正例。
    3)ROC和AUC。

    实例讲解(二)

    实例(一)产出的特征数据,经过“模型和算法”以及“算法的评价”两部分所涉及的代码实例如图4所示。

    图片描述

    图4 模型训练示例代码

    总结

    本文以数据挖掘的基本处理流程为主线,以性别预测为具体实例,介绍了处理一个数据挖掘的分类问题所涉及的方方面面。对于一个数据挖掘问题,首先要明确问题,确定已有的数据是否能够解决所需要解决的问题,然后就是数据预处理和特征工程阶段,这往往是在实际工程中最耗时、最麻烦的阶段。经过特征工程后,需要选择合适的模型进行训练,并且根据评价标准选择最优模型和最优参数, 最后根据最优模型对未知数据进行预测,产出结果。希望本文的内容对大家有所帮助。

    作者简介:王琪,友盟高级数据挖掘工程师,武汉大学硕士,工作涉及友盟的各类数据挖掘和分析任务。对数据挖掘和分析、自然语言处理和文本检索有多年的理论和实践经验。

    本文为《程序员》杂志2月版特约文章,订阅详情可点击:http://dingyue.programmer.com.cn/

    第一时间掌握最新移动开发相关信息和技术,请关注mobilehub公众微信号(ID: mobilehub)。

    图片描述

    2016年3月18日-19日,由CSDN重磅打造的数据库核心技术与实战应用峰会、互联网应用架构实战峰会将在上海举行。这两场峰会将邀请业内顶尖的架构师和技术专家,共同探讨高可用/高并发系统架构设计、新技术应用、移动应用架构、微服务、智能硬件架构、云数据库实战、新一代数据库平台、产品选型、性能调优、大数据应用实战等领域的热点话题与技术。

    2月29日24点前仍处于最低六折优惠票价阶段,单场峰会(含餐)门票只需799元,5人以上团购或者购买两场峰会通票更有特惠,限量供应,预购从速。(票务详情链接)。

    展开全文
  • 文章目录引言一、数据清洗1.缺失值处理1.1 拉格朗日插值法1.2牛顿差值法2.异常值的处理二、数据集成1.实体识别2.冗余属性识别3.数据变换3.1 简单函数变换3.2 规范化3.2.1 最小-最大...  数据挖掘过程中,海量的数据



    引言

      数据挖掘过程中,海量的数据中存在缺失、异常、不一致的数据,数据的质量决定模型的质量,所以进行数据清洗非常重要。数据预处理包括数据清洗、数据集成、数据变换和数据归约

    一、数据清洗

      数据清洗主要是删除原始数据中的无关数据、重复数据、平滑噪声数据,删选掉与挖掘主题无关的数据,处理缺失值、异常值等

    1.缺失值处理

      处理缺失值的方法可分为3类:删除记录、数据插补和不处理。其中常用的数据插补方法有
    在这里插入图片描述

    删除记录: 如果简单删除小部分记录就可以达到既定目标,那么这种方法是最有效的,但容易造成资源的浪费,丢失掉大量隐藏在这些记录中的信息,尤其是数据很少的情况下
    不处理: XGBoost模型可以直接对缺失值进行处理
    数据插补: 重点介绍拉格朗日插值法和牛顿差值法,在进行插值前需要对数据的异常值进行检测,根据业务逻辑将全部异常值或者部分异常值定义为空缺值,然后进行插补

    1.1 拉格朗日插值法

      拉格朗日插值法当插值节点增减时,插值多项式会发生变化。牛顿差值法改进了它的缺点。以销量数据为例,运用拉格朗日插值法补充缺失值

    import numpy as np
    import pandas as pd
    import matplotlib.pyplot as plt
    from scipy.interpolate import lagrange
    
    cat_sale = pd.read_excel('data/catering_sale.xls')
    cat_sale.drop('日期', axis=1, inplace=True)
    
    # 过滤异常值,并置为空值
    cat_sale['销量'][(cat_sale['销量'] < 400) | (cat_sale['销量'] > 5000)] = np.NAN
    
    
    # 自定义列向量插值函数
    def ployinterp_columns(s, n, k=4):
        if n < k:
            y = s[list(range(0, n)) + list(range(n + 1, n + k + 1))]
        elif n > len(s) - k - 1:
            y = s[list(range(n - k, n)) + list(range(n + 1, len(s)))]
        else:
            y = s[list(range(n - k, n)) + list(range(n + 1, n + k + 1))]  # 取空值处的前后3个数
        y = y[y.notnull()]  # 剔除空值
        return lagrange(y.index, list(y))(n)  # 插值并返回插值结果
    
    
    # 逐个判断元素是否需要插值
    for i in cat_sale.columns:
        for j in range(len(cat_sale)):
            if (cat_sale[i].isnull())[j]:  # 如果为空则插值
                print(ployinterp_columns(cat_sale[i], j))
                cat_sale[i][j] = ployinterp_columns(cat_sale[i], j)
    
    cat_sale.to_csv('sales.csv')  # 输出结果,写入文件
    

    在这里插入图片描述

    1.2牛顿差值法

      牛顿插值法与拉格朗日插值法相比,具有承袭性和易于变动节点的特点

    import numpy as np
    import pandas as pd
    
    
    cat_sale = pd.read_excel('data/catering_sale.xls')
    cat_sale.drop('日期', axis=1, inplace=True)
    
    # 过滤异常值,并置为空值
    cat_sale['销量'][(cat_sale['销量'] < 400) | (cat_sale['销量'] > 5000)] = np.NAN
    
    
    # 分别定义求插商与求w的函数
    def cal_f(x, y):
        """
        计算插商
        """
        f0 = np.zeros((len(x), len(y)))  # 定义一个存储插商的数组
        for k in range(len(y) + 1):  # 遍历列
            for i in range(k, len(x)):  # 遍历行
                if k == 0:
                    f0[i, k] = y[i]
                else:
                    f0[i, k] = (f0[i, k - 1] - f0[i - 1, k - 1]) / (x[i] - x[i - 1])
        print('差商表', '\n', f0)
        return f0
    
    
    def newton(x, y, x_j):
        """
        牛顿差值多项式
        """
        f0 = cal_f(x, y)  # 计算插商
        f0 = f0.diagonal()
        # 与w相乘
        f1 = 0
        for i in range(len(f0)):
            s = 1
            k = 0
            while k < i:
                s = s * (x_j - x[k])
                k += 1
            f1 = f1 + f0[i] * s
        return f1
    
    
    # 自定义列向量插值函数
    def ployinterp_columns(s, n, x_j, k=2):
        if n < k:
            y = s[list(range(0, n)) + list(range(n + 1, n + k + 1))]
        elif n > len(s) - k - 1:
            y = s[list(range(n - k, n)) + list(range(n + 1, len(s)))]
        else:
            y = s[list(range(n - k, n)) + list(range(n + 1, n + k + 1))]  # 取空值处的前后5个数
        y = y[y.notnull()]  # 剔除空值
        return newton(y.index, list(y), x_j)  # 插值并返回插值结果
    
    
    for i in cat_sale.columns:
        for j in range(len(cat_sale)):
            if (cat_sale[i].isnull())[j]:
                x_j = cat_sale.index[j]
                print(ployinterp_columns(cat_sale[i], j, x_j))
                cat_sale[i][j] = ployinterp_columns(cat_sale[i], j, x_j)
    
    cat_sale.to_excel('saless.xls')
    
    

    在这里插入图片描述

    2.异常值的处理

      数据预处理中,异常值是否剔除需要视情况而定,因为有些异常值可能蕴含着有用的信息。
    在这里插入图片描述
      很多情况下,要先分析异常值出现的可能原因,在判断异常值是否应该舍弃。如果是正确的数据,可以直接在具有异常值的数据集上进行挖掘建模。

    二、数据集成

      数据挖掘需要的数据往往分布在不同的数据源中,数据集成就是将多个数据源合并存放在一个一致的数据存储位置中的过程。数据集成时,多个数据源的现实世界实体表达形式时有可能是不匹配的,常出现实体识别问题和属性冗余问题,从而将源数据在最底层上加以转换、提炼和集成。

    1.实体识别

    在这里插入图片描述

    2.冗余属性识别

    在这里插入图片描述

    3.数据变换

      数据变换主要是对数据进行规范化处理,将数据转换成“适当的”形式,以适用于挖掘任务及算法的需要

    3.1 简单函数变换

      简单函数变换是对原始数据进行某些数学函数变换,如:平方、开方、取对数、差分运算。简单的函数变换常用于将不具有正态分布的数据变换成具有正态分布的数据;在时间序列分析中,有时,简单的对数变换或者差分运算就可以将非平稳序列变换为平稳序列。在数据挖掘中,如个人年收入是10万到10亿元,这是一个很大的区间,可以使用对数变换来对区间进行压缩
    在这里插入图片描述

    3.2 规范化

      不同评价指标往往具有不同的量纲,数值间的差别很大,不进行处理可能会影响数据分析的结果。为了消除指标之间量纲和取值范围的影响,需要进行标准化处理。将数据按照比例进行缩放,使之落入一个特定区域。数据规范化对基于距离的挖掘算法尤为重要。

    3.2.1 最小-最大规范化

    在这里插入图片描述

    3.2.2 零-均值规范化(标准化)

    在这里插入图片描述
    在这里插入图片描述

    3.2.3 小数定标规范化

    在这里插入图片描述

    3.3 连续属性离散化

      一些数据挖掘算法,特别是某些分类算法,如ID3算法,要求数据是分类属性形式。这样就需要将连续属性变换为分类属性
      连续属性离散化指的是在数据取值范围内设定若干个离散的划分点,将取值范围划分为一些离散化的区间,最后用不同的符号或整数值代表落在每个子区间中的数据值。离散化涉及两个任务:

    1. 确定分类数
    2. 如何将连续属性值映射到这些分类值
    3.3.1 离散化方法

      常用的离散化方法有等宽法、等频法和(一维)聚类
    等宽法

    含义:将属性的值域分成具有相同宽度的区间,区间的个数由数据本身的特点决定或者用户指定
    缺点:等宽法由于对离群点比较敏感,倾向于不均匀的把属性值分布在各个区间。有些区间包含很多数据,而另外一些区间的数据极少,这样会严重损坏建立的决策模型。
    pandas中的cut函数实现了等距分箱

    等频法

    含义:将相同数量的记录放进每个区间里
    缺点:虽然避免了数据不均匀,但是却有可能将相同的数据值分在不同的区间内,以满足每个区间中有相同的数据个数。

    基于聚类分析的方法

    含义:首先将连续属性的值用聚类算法(如K-means算法)进行聚类,然后将聚类得到的簇进行处理,合并到一个簇的连续属性值做同一标记。簇的个数可以用户指定,或者是使用轮廓系数silhouette_score来寻找最佳的簇的个数。

    #!usr/bin/env python
    # -*- coding:utf-8 -*-
    """
    @author: admin
    @file: 连续属性离散化.py
    @time: 2021/03/30
    @desc:
    """
    import numpy as np
    import pandas as pd
    import matplotlib.pyplot as plt
    from sklearn.cluster import KMeans
    
    data = pd.read_excel('data/discretization_data.xls')
    # data = data['肝气郁结证型系数'].copy()
    k = 4  # 4分箱
    """
    1.等宽离散化
    """
    d1 = pd.cut(data['肝气郁结证型系数'], k, labels=range(k))
    # data['等宽'] = d1
    
    """
    2.等频离散化
    """
    d2 = pd.qcut(data['肝气郁结证型系数'], k, labels=range(k))
    # data['等频'] = d2
    
    """
    3.聚类法
    """
    kmodel = KMeans(n_clusters=k)
    kmodel.fit(np.array(data['肝气郁结证型系数']).reshape(len(data), 1))
    # 聚类中心并排序
    c = pd.DataFrame(kmodel.cluster_centers_).sort_values(by=0)
    # 相邻聚类中心两项求中点,作为边界点
    w = c.rolling(2).mean()
    # 取出NaN
    w = w.dropna()
    # 添加首尾边界点
    w = [0] + list(w[0]) + [data.max()]
    # 分箱
    d3 = pd.cut(data['肝气郁结证型系数'], k, labels=range(k))
    # data['聚类'] = d3
    
    """
    自定义作图函数显示连续离散化(分箱)结果
    """
    def bin_plot(d, k):
        plt.rcParams['font.sans-serif'] = ['SimHei']
        plt.rcParams['axes.unicode_minus'] = False
    
        plt.figure(figsize=(8, 3))
        colors = ['ko', 'ro', 'yo', 'bo']
        for i in range(k):
            plt.plot(np.array(data[d == i]).flatten(), [i for j in d[d == i]], colors[i])
        plt.ylim(-0.5, k-0.5)
        return plt
    
    
    bin_plot(d1, k).show()
    bin_plot(d2, k).show()
    bin_plot(d3, k).show()
    

    等距
    在这里插入图片描述
    等频
    在这里插入图片描述
    聚类
    在这里插入图片描述

    4.属性构造

      在数据挖掘中,为了帮助用户提取更有用的信息,挖掘更深层次的模式,提高挖掘结果的精度,需要利用已有的属性集构造出新的属性,并加入到现有的属性集合中
    在这里插入图片描述
    在这里插入图片描述

    5.小波变换

      小波变换具有多分辨率的特点,在时域频域都具有表征信号局部特征的能力,通过伸缩和平移等运算过程对信号进行多尺度聚焦分析,提供一种非平稳信号时频分析手段,可以由粗及细地逐步观察信号,从中提取有用信息。
      能够刻画某个问题的特征量往往隐含在一个信号中的某个或者某些分量中,小波变换可以将非平稳信号分解为不同层次、不同频带信息的数据序列,即小波系数,选择适当的小波系数,即完成了信号的特征提取分析。

    5.1 基于小波变换的特征提取方法

    在这里插入图片描述
    在这里插入图片描述

    5.2 基于小波变换的多尺度空间能量分布特征提取方法

    在这里插入图片描述
      使用PyWavelets库进行小波变换,提取特征
    在这里插入图片描述

    三、数据归约

      数据归约产生更小且保持原始数据完整性的新数据集,提高效率。

    • 可以降低无效、错误数据对建模的影响
    • 少量且具有代表性的数据将大幅度缩短数据挖掘的时间
    • 降低存储数据的成本

    1.属性归约

      属性归约的目标是寻找最小的属性子集并确保新数据子集的概率分布尽可能接近原来数据集的概率分布。属性归约的常用方法如下:
    在这里插入图片描述
    在这里插入图片描述

    1.1 前向挑选、后向挑选、双向挑选

    我之前实现过,可以查看链接数据预处理—3.变量选择之逐步挑选—向前挑选、向后挑选、双向挑选python实现

    1.2 主成分分析

    数据

    from sklearn.decomposition import PCA
    import pandas as pd
    
    data = pd.read_excel('data/principal_component.xls',header=None)
    pca = PCA()
    pca.fit(data)
    print(pca.components_)    # 返回各模型的特征向量
    print(pca.explained_variance_ratio_.cumsum())  # 返回各个成分各自的方差占比
    
    # 发现选取前3个累计贡献率就达到了97%
    pca1 = PCA(n_components=3,copy=True,whiten=False)
    pca1.fit(data)
    low_data = pca1.transform(data)    # 降维后的数据
    pd.DataFrame(low_data).to_excel('low_data.xls')
    
    pca1.inverse_transform(low_data)    # 可以使用inverse_transform函数复原数据
    

      原始数据从8维降到3维,同时这三维数据占了原始数据95%以上的信息。

    2.数值归约

      数值归约通过选择替代的、较小的数据来减小数据量,包括有参数方法和无参数方法。有参数方法是使用一个模型来评估数据,只需存放参数,而不需要存放实际数据。无参数方法是需要存放实际数据的,例如直方图、聚类、抽样。

    2.1 直方图

      直方图使用分箱来近似数据分布。属性A的直方图将A的数据分布划分为不相交的子集或桶。如果某个桶只代表单个属性值/频率对,则成为单桶。

    2.2 聚类

    在这里插入图片描述

    2.3 抽样

    在这里插入图片描述

    2.4 参数回归

      简单线性模型和对数线性模型可以用来近似给定数据。用简单线性模型对数据建模,使之拟合一条直线。对数线性模型用来描述期望频数与协变量之间的关系
    在这里插入图片描述


    如果对您有帮助,麻烦点赞关注,这真的对我很重要!!!如果需要互关,请评论留言!
    在这里插入图片描述


    展开全文
  • df.memory_usage().sum() / 1024**2 print('Memory usage of dataframe is {:.2f} MB'.format(start_mem)) #此循环取出所有列数据类型的集合(set) for col in df.columns: col_type = df[col].dtype if col_type !...
  • 除此之外,餐厅经理需要通过数据分析来了解具有某些特征的顾客的消费习惯/这些都是分类与预测的例子。 常见的分类预测算法 贝叶斯 贝叶斯(Bayes)分类算法是一类利用概率统计知识进行分类的算法,如朴素贝叶斯...
  • 数据挖掘导论复习

    千次阅读 2021-01-09 09:44:33
    文章目录第1章 认识数据挖掘1、数据挖掘的定义2、有指导学习和无指导学习3、数据挖掘的过程4、数据挖掘的作用5、数据挖掘技术第2章 基本数据挖掘技术1、决策树概念和C4.5算法的一般过程2、决策树关键技术:最大增益...
  • 这是《Python数据挖掘课程》系列文章,也是我上课内容及书籍中的一个案例。本文主要讲述时间序列算法原理,Pandas扩展包基本用法以及Python调用statsmodels库的时间序列算法。由于作者数学比较薄弱,自己也还在学习...
  • 赛题:零基础入门数据挖掘 - 二手车交易价格预测 地址:https://tianchi.aliyun.com/competition/entrance/231784/introduction?spm=5176.12281957.1004.1.38b02448ausjSX 4.1 学习目标 了解常用的机器学习模型,并...
  • code 平均法: 1、生成一些简单的样本数据,test_prei 代表第i个模型的预测值, y_test_true 代表第模型的真实值 test_pre1 = [1.2, 3.2, 2.1, 6.2] test_pre2 = [0.9, 3.1, 2.0, 5.9] test_pre3 = [1.1, 2.9, 2.2,...
  • 赛题以医疗数据挖掘为背景,要求选手使用提供的心跳信号传感器数据训练模型并完成不同心跳信号的分类的任务。为了更好的引导大家入门,还特别为本赛题定制了学习方案,其中包括数据科学库、通用流程和baseline方案...
  • 数据源—(数据整合)—整理过的数据—(筛选与预处理)—准备好的数据—(选择函数、算法,进行数据挖掘)—模型—(数据评估)—专业知识 2.数据挖掘应用 目标检测、文本分类、语音识别、数据建模、自动驾驶、用户...
  • 根据给定的数据集,建立模型,二手汽车的交易价格。 来自 Ebay Kleinanzeigen 报废的二手车,数量超过 370,000,包含 20 列变量信息,为了保证 比赛的公平性,将会从中抽取 10 万条作为训练集,5 万条作为测试集 A,...
  • 一、什么是数据挖掘 数据挖掘(Data Mining),也叫数据开采、数据采掘等,是从大量的、不完全的、有噪声的、模糊的、随机的实际应用数据中,自动提取隐含在其中的、人们事先不知道的,但又是潜在有用的信息的过程...
  • 数据挖掘近年来的研究方向、方法总结 一、研究方向 数据挖掘作为一个跨学科主题,它是用人工智能、机器学习、统计学和数据库交叉的方法在相对较大型的数据集中发现模式的计算过程。其目标是从数据集中提取信息并将其...
  • 数据仓库与数据挖掘

    2021-10-09 10:42:34
    数据仓库与数据挖掘 第5章 数据预处理 数据与处理的重要性 杂乱性:命名规则不同 重复性:同一客观事物在数据库中存在两个以上相同的物理描述 不完整性:由于实际系统设计时存在的缺陷以及使用过程中的一些人为...
  • 数据仓库与数据挖掘课后思考题整理 文章目录数据仓库与数据挖掘课后思考题整理1 数据仓库概述思考题2 数据仓库及其设计思考题实践题3 OLAP技术思考题课后书面作业4 数据挖掘概述思考题5 关联分析思考题实践题7 分类...
  • 目 录 第 1 章 绪论 1.1问题背景 1.2问题重述 1.3本文主要工作与创新点 1.4模型假设 1.5本文研究意义 第 2 章 相关理论 2.1高送转相关知识介绍 2.1.1高送转的实质 ...第 3 章 数据预处理及因子筛选
  • 为什么进行数据挖掘? (1)已获得的大量数据往往是数据丰富但信息贫乏的 (2)计算设备变得廉价且功能强大 (3)没有强大的工具的话,数据量已经超过人类的理解能力 (4)数据收集存储的速度越来越快 (5)传统技术...
  • 数据挖掘的任务是从数据集中发现模式,可以发现的模式有很多种,按功能可以分为两大类:预测性(Predictive)模式和描述性(Descriptive)模式。在应用中往往根据模式的实际作用细分为以下几种:分类,估值,预测,...
  • 课程名称: 数据挖掘 学 院: 计算机科学与工程学院 专 业: 软件工程 班 级: 2018-1 目录 数据挖掘课程实验报告 1 一、实验要求 1 二、数据说明 3 三、实验内容 3 四、任务分析 6 五、程序实现及结果 ...
  • 机器学习常用数据集介绍 2.什么是线性回顾 3.LinearRegression使用方法 4.线性回归判断糖尿病 同时这篇文章是我上课的内容,所以参考了一些知识,强烈推荐大家学习斯坦福的机器学习Ng教授课程和Scikit-Learn中的...
  • 数据挖掘(DataMining)是从大量的、不完全的、有噪声的、模糊的、随机的数据中提取隐含在其中的、人们事先不知道的、但又是潜在有用的信息和知识的过程。 数据挖掘对象 根据信息存储格式,用于挖掘的对象有关系数据库...
  • 数据挖掘复习

    2021-03-10 15:23:54
    目前数据挖掘的主要研究内容包括基础理论、发现算法、数据仓库、可视化技术、定性定量互换模型、知识表示方法、发现知识的维护和再利用、半结构化和非结构化数据中的知识发现以及Web数据挖掘等。
  • ( D )的目的缩小数据的取值范围,使其更适合于数据挖掘算法的需要,并且能够得到和原始数据相同的分析结果。 A.数据清洗 B.数据集成 C.数据变换 D.数据归约 某超市研究销售纪录数据后发现,买啤酒的人很大概率...
  • 数据挖掘通常与计算机科学有关,并通过统计、在线分析处理、情报检索、机器学习、专家系统和模式识别等诸多方法来实现上述目标。本文精选几篇关于数据发掘论文范文供大家学习一下。数据挖掘论文一:《数据挖掘中的...
  • 基于大数据挖掘----浅谈大数据与大数据挖掘

    万次阅读 多人点赞 2019-01-21 14:38:51
    基于大数据挖掘----浅谈大数据与大数据挖掘 一、大数据技术 1.1大数据的定义 大数据是指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现...
  • 数据挖掘与数据分析

    万次阅读 多人点赞 2018-05-28 13:58:14
    一、数据挖掘和数据分析概述 数据挖掘和数据分析都是从数据中提取一些有价值的信息,二者有很多联系,但是二者的侧重点和实现手法有所区分。 数据挖掘和数据分析的不同之处: 1、在应用工具上,数据挖掘一般要通过...
  •  数据挖掘:一种解释是“识别出巨量数据中有效的、新颖的、潜在有用的、最终可理解的模式的非平凡过程”,顾名思义,数据挖掘就是试图从海量数据中找出有用的知识。 数据挖掘与统计学 统计学,搜集、展示、分析及...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 26,385
精华内容 10,554
关键字:

数据挖掘预测集合