数据科学学习笔记7 --- 数据挖掘基础

来源:互联网 发布:linux apache链接php7 编辑:程序博客网 时间:2024/05/16 14:00

1. 数据挖掘的定义

· 广义:知识发现的全过程

· 狭义:数据挖掘是知识发现的一个重要环节,利用机器学习、统计分析等发现数据模式的智能方法,侧重于模型和算法

· 知识发现的流程如下:

(1)数据准备:掌握知识发现应用领域的情况,熟悉相关背景知识,理解用户需求

(2)数据选取:数据选取的目的是确定目标数据,根据用户的需要从原始数据库中选取相关数据或者样本

(3)数据预处理:对数据选取步骤中选出的数据进行再处理,检查数据的完整性及数据一致性,消除噪声,滤除与数据挖掘无关的冗余数据,根据时间序列和已知的变化情况,利用统计的等方法填充丢失的数据。

(4)数据变换:根据知识发现的任务对经过预处理的数据进行再处理,将数据变换或统一成是和挖掘的形式,包括投影、汇总、聚集等。

(5)数据挖掘:确定发现目标,根据用户的需求,确定要发现的知识类型。根据确定的任务选择合适的分类、关联、聚类等算法,选取合适的模型和参数,从数据库中提取用户感兴趣的知识,并以一定的方式表示出来。

(6)模式解释:对在数据挖掘中发现的模式进行解释。经过用户或者机器评估后,可能会发现这些模式中存在冗余或无关的模式,此时应该将其剔除。如果模式不能满足用户的要求,就返回前面的响应步骤反复提取。

(7)知识评价:将发现的知识以用户能了解的形式呈现给用户。


在上述步骤中,数据挖掘占据非常重要的地位,是一种决策支持过程,它主要基于人工智能、机器学习、模式识别、统计学、数据库、可视化技术等,高度自动化的分析企业的数据,做出归纳性的整理,从中挖掘出潜在的模式,帮助决策者调整市场策略,减少风险,做出正确的决策,数据挖掘决定了整个过程的效果与效率。


2. 数据挖掘的任务

· 数据挖掘的任务包括分类与回归分析、相关分析、聚类分析、关联规则挖掘和异常检测等,分为预测和描述两大类

· 预测任务的目标是根据其他属性的值,预测特定属性的值。被预测的属性一般称为目标变量(Target variable)或因变量(Dependent variable),而被用来预测的属性称为说明变量(Explanatory variable)或自变量(Independent variable)。

· 描述任务的目标是导出和概括数据中有潜在联系的模式(相关、趋势、聚类、轨迹和异常)。

· 预测任务是在当前数据上进行归纳以做出预测,描述性挖掘主要是刻画目标数据中数据的一般性质。


(1)分类(Classification)

· 分类属于有监督学习,即从给定的有标记训练数据集中学习出一个函数,当未标记数据到来时,可以根据这个函数预测结果

· 在数据挖掘领域,分类可以看成是从一个数据集到一组预先定义的、非交叠的类别的映射过程。

· 分类找出描述和区分数据类或者概念的模型(或函数),以便能够使用模型预测类标号未知的对象的类标号,导出的模型是基于对训练数据集(即类标号已知的数据对象)的分析。该模型用来预测类标号未知的对象的类标号。

· 到处模型的表示形式有分类规则、决策树、数学公式、神经网络等。




(2)回归分析(Regression analysis)

· 回归分析的目的在于了解两个或多个变量之间是否相关、相关方向与强度,并建立数学模型以便观察特定变量来预测研究者感兴趣的变量,主要包括线性回归分析和非线性回归分析。

· 分类与回归具有许多不同的研究内容,它们都是研究输入输出变量之间的关系问题,不同之处在于分类的输出是离散的类别值,而回归的输出是连续的数值,即回归分析用来预测确实的或者难以获得的数值数据,而不是(离散的)类标号。


(3)相关分析(Relevance analysis)

· 一般在分类和回归之前进行,识别分类和回归过程中显著相关的属性

· 如某公司员工的基本情况分别为性别、年龄、工资,现在希望了解员工年龄和工资水平之间的关系,可通过计算皮尔森相关系数和显著性水平得出年龄与工资水平的相关关系。


(4)聚类分析(Cluster analysis)

· 又称群分析,是根据(物以类聚)的道理,对样品或指标进行划分的一种多元统计分析方法,讨论的对象是大量的样品,要求能合理的按照各自的特性来进行合理的划分。

· 聚类是在没有先验知识的情况下进行的

· 一个类簇是测试空间中点的聚集,同一类簇的任意两个点之间的距离小于不同类簇的任意两个点之间的距离

· 类簇可以描述为一个包含相对密度较高的点集的多维空间中的连通区域

· 在机器学习中,聚类归纳为非监督式学习



(5)分类与聚类的区别:

· 分类是事先定义好类别,类别数不变;而聚类没有事先预定的类别,类别数不确定

· 分类器需要由人工标注的分类训练语料训练得到;而聚类不需要人工标注和预先训练分类器

· 分类属于有指导学习范畴,而聚类中的类别是在聚类过程中自动生成的。

· 分类的目的是学会一个分类函数或分类模型(分类器),该模型能把数据库中的数据项映射到给定类别中的某一个类中;而聚类的目的是划分对象,使得属于同一个簇的样本之间彼此相似,而不同簇的样本足够不相似


(6)关联规则(Association rules)

· 关联规则挖掘发现大量数据中项集之间有趣的关联或相关联系。

· 即在交易数据、关系数据或者其他信息载体中,查找存在于项目集合或者对象集合之间的频繁模式、关联、相关性或者因果结构

 · 是数据挖掘中的一个重要课题

· 关联规则研究有助于发现交易数据库中不同商品(项)之间的联系,找出顾客购买行为模式,如购买了某一商品对购买其他商品的影响。分析结果可以应用于商品货架布局、货存安排等。



(7)异常检测(Anomaly detection)

· 在数据库中包含着少数的数据对象,它们与数据的一般行为或者特征不一致,这些数据对象叫做异常点(Outliers),也叫做孤立点

· 异常点的检测和分析是一种非常重要的数据挖掘类型,其任务是识别其特征显著不同于其他数据的观测值

· 异常检测算法的目标是发现真正的异常点,而避免错误的将正常的对象标注为异常点

· 一个好的异常检测器必须具有高检测率和低误报率

· 异常检测的应用包括检测欺诈、网络攻击、疾病的不寻常模式、生态系统扰动等


(8)机器学习的算法种类

· 监督学习(Supervised learning)学习中的监督来自训练数据集中标记的实例。例如,邮政编码识别问题中,一组手写邮政编码图像与其对应的机器可读的转换物用作训练实例,监督分类模型的学习

· 无监督学习(Unsupervised learning)学习过程是无监督的,即输入实例没有类标记

· 半监督学习(Semi-supervised learning)是监督学习与无监督学习相结合的一种学习方法。它主要考虑如何利用少量的标注样本和大量的未标注样本进行训练和分类的问题。半监督学习是利用未标记的大量数据提升机器学习算法的表现结果


· 强化学习(Reinforcement learning)如果Agent的某个行为策略倒置环境正的奖赏(强化信号),那么Agent以后产生这个行为策略的趋势便会增强。Agent的目标是在每个离散状态发现最优策略以使期望的折扣奖赏和最大


· 深度学习(Deep learning)深度学习是机器学习研究中的一个新的领域,其动机在于建立、模拟人脑进行分析学习的神经网络,它模仿人脑的机制来解释数据,例如图像、声音和文本。同机器学习方法一样,深度学习方法也有监督学习和无监督学习之分。不同的学习框架下建立的学习模型也不同。例如,卷积神经网络(Convolutional neural networks,CNNs)就是一种深度的监督学习下的机器学习模型,而深度置信网(Deep bilief Nets,DBNs)就是一种无监督学习下的机器学习模型。


· 哈希学习(Learning to hash)通过机器学习机制将数据映射成二进制串的形式,能显著减少数据的存储和通信开销,从而有效提高学习系统的效率。哈希学习的目的是学到数据的二进制哈希码表示,使得哈希码尽可能的保持原空间中的近邻关系,即保相似性


· 主动学习。主动学习算法作为构造有效训练集的方法,其目标是通过迭代抽样,寻找有利于提升分类效果的样本,进而减少分类训练集的大小,在有限的时间和资源的前提下,提高分类算法的效率


· 迁移学习(Transfer learning),目标是将从一个环境中学到的知识用来帮助新环境中的学习任务


· 多示例学习(Muti-instance learning)和偏标记学习,定义“正包”:包中至少有一个正示例;反之,当且仅当“包”中所有示例为负示例时,该“包”为“负包”。仅对“包”作标签,“包”中的示例并无标签。每个对象在输入空间与一组候选标记相关联,其中仅有一个为其真实标记。





3. 数据挖掘流程

· 跨行业的标准数据挖掘流程CRISP-DM(CRoss-Industry Standard Process for Data Mining),从方法论的角度将整个数据挖掘过程分解为商业理解、数据理解、数据准备、建立模型、模型评估和结果六个阶段



· 商业理解(Business Understanding),本阶段的主要任务是把项目的目标和需求转化为一个数据挖掘问题的定义和一个实现这些目标的初步计划,并确定对数据挖掘结果进行评价的标准

(1)确定商业目标。数据挖掘分析人员从业务的角度全面的理解客户的问题,发现其真实需求,清晰明确的定义用户的商业目标和商业成功的标准。

(2)形势评估。详细了解企业所具有的资源、需求、假定和限制、成本收益等因素,为下一步确定数据挖掘目标和制定项目实施计划做准备

(3)确定数据挖掘目标。将商业目标转化为相应的数据挖掘目标并制定数据挖掘成功的标准。

(4)制定项目实施计划。制定完成数据挖掘任务的项目计划,包括项目执行的阶段、每阶段时间、所需的资源、工具等。


· 数据理解(Data Understanding),这阶段的主要任务是完成对企业数据资源的认识和清理。

(1)数据的初步收集。数据初步收集的内容包括数据源、拥有者、费用、存储方式、表的数目、记录的数目、字段的数目、物理存储方式、使用限制、隐私需求等多方面。

(2)数据描述。从总体上描述所获得数据的属性,包括数据格式、数据质量、数据出处、收集时间频度等多方面,并检查数据能否能够满足相关要求。

(3)数据的探索性分析。包括关键属性分布、属性之间的关系、数据简单的统计结果、重要子集的属性和简单统计分析等。

(4)数据质量检验。检验数据是否满足数据挖掘的要求,如数据是否完整;是否具有缺失值和缺失属性;如果有缺失值,缺失值出现的位置是否普遍;数据是否包含错误;如果包含错误,错误是否普遍等等。


· 数据准备(Data Preparation),此步骤和数据理解是数据处理的核心,是建立模型之前的最后一步,其任务是将原始数据转化为适合数据挖掘工具处理的目标数据

(1)选择数据。制定数据进入、剔除的标准,决定分析所要用到的数据。

(2)数据清洗。保证数据值的准确性和一致性,解决数据缺失问题,将数据质量提高到能满足分析精度的要求。

(3)数据构建,通过一个或几个已有属性构建新的属性数据。

(4)数据整合。将来自不同表或者记录的数据合并起来以产生新的纪录或者属性值,涉及对冲突和不一致的数据进行一致化。

(5)数据格式化。对数据进行语法上的修改,以便满足建模的需要。


· 建立模型(Modeling)。选择和应用多种不同的数据挖掘技术,调整它们的参数使其达到最优值。面对同一种问题,会有多种可以使用的数据挖掘技术,但是每一种挖掘技术对数据有不同的限制以及要求,因此经常需要回到数据准备阶段进行数据的选择、清洗、转换等工作。

(1)选择建模技术。了解相应的建模技术的特点及该技术对数据的假定要求。

(2)生成检验设计。分析如何对模型的效果进行检验。

(3)建立模型。设定模型参数、在备好的数据集上建立模型、记录和描述构建的模型

(4)评估模型。包括根据数据挖掘的成功标准评价模型的使用和模型参数的调整。


· 模型评估(Evaluation)。由业务人员和领域专家从业务角度全面评价所得到的模型,确定模型是否达到业务目标,最终做出是否应用数据挖掘结果的决策

(1)评估结果。评估产生的数据挖掘模型满足业务目标的程度,筛选出被认可的数据挖掘模型。

(2)数据挖掘过程回顾。查找数据挖掘过程是否存在疏忽和遗漏之处

(3)确定下一步。列出所有可能的行动方案,根据评估结果和数据挖掘过程回顾确定项目下一步如何进行。


· 结果部署(Deployment)。运用数据挖掘结果解决现实业务问题,实现数据挖掘的商业价值。

(1)计划实施。根据评估结果,制定实施战略

(2)计划监测和维护。随着商业环境的变化,数据挖掘模型的适用性和效果也可能发生改变,必须建立对模型进行监测和维护的机制。

(3)生成最终报告。

(4)项目回顾。总结经验教训,为以后的数据挖掘项目积累经验


4. 数据挖掘十大挑战性问题

· 建立数据挖掘统一理论

· 高位数据和高速数据流的增长问题

· 序列和时序数据挖掘问题

· 从复杂数据中挖掘复杂知识的问题

· 网络环境中的数据挖掘问题

· 分布式挖掘和多代理挖掘问题

· 生物和环境方面数据挖掘问题

· 相关问题的数据挖掘处理

· 安全隐私以及数据完整性的问题

· 非静态与非平衡以及成本敏感数据的挖掘问题

原创粉丝点击