数据挖掘学习1–数据挖掘流程
首先什么是数据挖掘?
举个例子来理解:你和你的同事同时去一家银行办信用卡,办卡之后银行的客服总是给你的同事打电话推荐新出的理财产品,基本不会给你打电话。为什么会出现这样的情况呢?你的同事平时更关注基金,国债等理财产品,所以银行在它的信息库中会经过一系列的分析操作,最后决定经常给你的同时打电话推荐理财产品。
在这个过程当中,数据挖掘占据了比重比较大的一部分。
数据挖掘是通过对大量的数据进行分析,以发现和提取隐含在其中的具有价值的信息和知识的过程。
从数据挖掘的角度看,都可以转换为五类问题:分类,聚类,回归,关联和推荐
分类和聚类是不一样的:
分类是进行匹配,比如>500人是大型企业
聚类是物以类聚,比如A,B近一些,他们聚成一类,C,D和A.B都比较远,但是他们两个比较近,所以他们聚成一类
更准确正式点说:
1.聚类分析是研究如何在没有训练的条件下把样本划分为若干类
在分类中,已知存在哪些类,即对于目标数据库中存在哪些类是知道的,要做的就是将每一条记录分别属于哪一类标记出来
2.聚类需要解决的问题是将已给定的若干无标记的模式聚集起来使之成为有意义的聚类,聚类是在预先不知道目标数据库到底有多少类的情况下,希望将所有的记录组成不同的类或者说聚类,并且使得在这种分类情况下,以某种度量(例如:距离)为标准的相似性,在同一聚类之间最小化,而在不同聚类之间最大化
与分类不同,无监督学习不依赖预先定义的类或带类标记的训练实例,需要由聚类学习算法自动确定标记,而分类学习的实例或数据样本有类别标记。
那么大数据与数据挖掘之间存在什么关系?
如图所示:
1.大数据的存储方式:
1.1关系数据库,是建立在关系数据库模型基础上的数据库,借助于集合代数等概念和方法来处理数据库中的数据,同时也是一个被组织成一组拥有正式描述性的表格,该形式的表格作用的实质是装载着数据项的特殊收集体,这些表格中的数据能以许多不同的方式被存取或重新召集而不需要重新组织数据库表格。
1.2云存储是在云计算(cloud computing)概念上延伸和衍生发展出来的一个新的概念。云计算是分布式处理(Distributed Computing)、并行处理(Parallel Computing)和网格计算(Grid Computing)的发展,是透过网络将庞大的计算处理程序自动分拆成无数个较小的子程序,再交由多部服务器所组成的庞大系统经计算分析之后将处理结果回传给用户。
1.3分布式存储是一种数据存储技术,通过网络使用企业中的每台机器上的磁盘空间,并将这些分散的存储资源构成一个虚拟的存储设备,数据分散的存储在企业的各个角落。
2.大数据的应用:
2.1数据管理是利用计算机硬件和软件技术对数据进行有效的收集、存储、处理和应用的过程。其目的在于充分有效地发挥数据的作用。实现数据有效管理的关键是数据组织。
2.2统计分析是指运用统计方法及与分析对象有关的知识,从定量与定性的结合上进行的研究活动。它是继统计设计、统计调查、统计整理之后的一项十分重要的工作,是在前几个阶段工作的基础上通过分析从而达到对研究对象更为深刻的认识。
2.3数据挖掘(Data mining)又译为资料探勘、数据采矿。它是数据库知识发现(英语:Knowledge-Discovery in Databases,简称:KDD)中的一个步骤。数据挖掘一般是指从大量的数据中通过算法搜索隐藏于其中信息的过程。数据挖掘通常与计算机科学有关,并通过统计、在线分析处理、情报检索、机器学习、专家系统(依靠过去的经验法则)和模式识别等诸多方法来实现上述目标。
2.4并行计算(Parallel Computing)是指同时使用多种计算资源解决计算问题的过程,是提高计算机系统计算速度和处理能力的一种有效手段。它的基本思想是用多个处理器来协同求解同一问题,即将被求解的问题分解成若干个部分,各部分均由一个独立的处理机来并行计算。
2.5分布式计算是一种计算方法,和集中式计算是相对的。随着计算技术的发展,有些应用需要非常巨大的计算能力才能完成,如果采用集中式计算,需要耗费相当长的时间来完成。分布式计算将该应用分解成许多小的部分,分配给多台计算机进行处理。这样可以节约整体计算时间,大大提高计算效率。
数据挖掘按照不同的分类方式有不同的分类:
从样本的角度(样本是否标记)
监督学习(有监督):利用已知的样本数据,训练学习得到一个最优的模型
非监督学习(无监督):对没有标记的样本数据
半监督学习:大量未标记的数据 和 辅助少量有标记的 数据进行分析
强化学习:得到一个模型之后,不断的对模型进行调整训练,得到更优的模型
从应用的角度
1.分类–离散值:要分成A,B,C类等–分类也是可以得到函数的
对现有的数据进行学习,得到一个目标函数或规则,把每个属性集x映射到一个预先定义的类标号y上。
分类是根据一些给定的已知类别标号的样本,训练某种学习机器(即得到某种目标函数),使它能够对未知类别的样本进行分类。这属于supervised learning(监督学习)。
分类:通过学习来得到样本属性与类标号之间的关系。
用自己的话来说,就是我们根据已知的一些样本(包括属性与类标号)来得到分类模型(即得到样本属性与类标号之间的函数),然后通过此目标函数来对只包含属性的样本数据进行分类。
分类算法的局限:
分类作为一种监督学习方法,要求必须事先明确知道各个类别的信息,并且断言所有待分类项都有一个类别与之对应。但是很多时候上述条件得不到满足,尤其是在处理海量数据的时候,如果通过预处理使得数据满足分类算法的要求,则代价非常大,这时候可以考虑使用聚类算法。
2.回归–连续值
3.聚类
聚类指事先并不知道任何样本的类别标号,希望通过某种算法来把一组未知类别的样本划分成若干类别,聚类的时候,我们并不关心某一类是什么,我们需要实现的目标只是把相似的东西聚到一起,这在机器学习中被称作 unsupervised learning (无监督学习)
通常,人们根据样本间的某种距离或者相似性来定义聚类,即把相似的(或距离近的)样本聚为同一类,而把不相似的(或距离远的)样本归在其他类。
聚类的目标:组内的对象相互之间是相似的(相关的),而不同组中的对象是不同的(不相关的)。组内的相似性越大,组间差别越大,聚类就越好。
4.神经网络
由众多的神经元可调的连接权值连接而成,具有大规模并行处理、分布式信息存储、良好的自组织自学习能力等特点
5.数据预处理
6.特征选择
将高维空间的样本通过映射或者是变换的方式转换到低维空间,达到降维的目的,然后通过特征选取删选掉冗余和不相关的特征来进一步降维。
当然很多人在学习数据挖掘的时候会有很大的误区,所以这里需要注意:
通过适量的数据挖掘来获得有价值的结果,但是不是挖掘结果都是准确的,是需要人为判断的,还要结合市场的实际需求等。
数据挖掘的流程:
CRISP-DM模型:
CRISP-DM(跨行业数据挖掘标准流程)是Cross Industry Standard Process —Data Mining的缩写,是当今数据挖掘业界通用流行的标准之一。它强调数据挖掘技术在商业中的应用,是用以管理并指导Data Miner有效、准确开展数据挖掘工作以期获得最佳挖掘成果的一系列工作步骤的规范标准。
CRISP-DM模型的基本步骤包括:
商业理解,数据理解,数据准备,建立模型,模型评估,模型实施
1.1商业理解:
这一初始阶段集中在从商业角度理解项目的目标和要求,然后把理解转化为数据挖掘问题的定义和一个旨在实现目标的初步计划。具体的包括:
确定业务目标:分析项目的背景,从业务视点分析项目的目标和需求,确定业务角度的成功标准;
项目可行性分析:分析拥有的资源,条件和限制,风险估计,成本和效益估计;
确定数据挖掘目标:明确数据挖掘的目标和成功标准,数据挖掘的目标和业务目标是不一样的,前者指技术上的,例如生成一棵决策树等;–确定的是这两种目标:数据挖掘目标和业务目标
提出项目计划:对整个项目做一个计划,初步估计用到的工具和技术。
1.2数据理解:
数据理解阶段开始于原始数据的收集,然后是熟悉数据,标明数据质量问题,探索数据进而对数据初步理解,发觉有趣的子集以形成对隐藏信息的假设–数据的潜在知识。具体地,包括:
收集原始数据:收集本项目所涉及到的数据,如有必要,把数据装入数据处理工具,并作一些初步的数据集成的工作,生成相应报告;
描述数据:对数据做一些大致的描述,例如记录数、属性数等,给出相应报告;
探索数据:对数据做简单的统计分析,例如关键属性的分布等;
检查数据质量:包括数据是否完整、数据是否有错、是否有缺失值等问题。
1.3数据准备:
数据准备阶段包括所有从原始的未加工的数据构造最终数据集的活动(这些数据集指将要嵌入建模工具中的数据)。数据准备任务可能被实施多次,而且没有任何规定的顺序。这些任务包括表格、记录和属性的选择以及按照建模工具要求,对数据的转换和清洗。–对原始数据进行加工,提升数据质量,符合算法(功能、步骤)对于数据的要求
具体包括:
数据选择:根据数据挖掘目标和数据质量选择合适的数据,包括表的选择、记录选择和属性选择;
数据清洁:提高选择好的数据的质量,例如去除噪音,填充缺失值等;
数据创建:在原有数据的基础上生成新的属性或记录;
数据合并:利用表连接等方式将几个数据集合并在一起;
数据格式化:把数据转换成适合数据挖掘处理的格式。
1.4建立模型:
在此阶段,主要是选择和应用各种建模技术,同时对它们的参数进行校准以达到最优值。通常对于同一个数据挖掘问题类型,会有多种模型技术。一些技术对数据格式有特殊的要求。因此,常常需要返回到数据准备阶段。 --应用建模技术+参数调整
具体包括:
选择建模技术:确定数据挖掘算法和参数,可能会利用多个算法;
测试方案设计:设计某种测试模型的质量和有效性的机制;
模型训练:在准备好的数据集上运行数据挖掘算法,得出一个或者多个模型;
模型测试评估:根据测试方案进行测试,从数据挖掘技术的角度确定数据挖掘目标是否成功。
1.5模型评估:
进入项目中的这个阶段时,你已经建立了一个模型(或者多个),从数据分析的角度来看,该模型似乎有很高的质量。在模型最后发布前,有一点是很重要的——更为彻底地评估模型和检查建立模型的各个步骤 ,从而确保它真正地达到了商业目标。此阶段关键目的是决定是否存在一些重要的商业问题仍未得到充分地考虑。关于数据挖掘结果的使用决定应该在此阶段结束时确定下来。–数据挖掘结果 能否使用
具体包括:
结果评估:从商业角度评估得到的模型,甚至实际试用该模型测试其效果;
过程回顾:回顾项目的所有流程,确定每一个阶段都没有失误;
确定下一步工作:根据结果评估和过程回顾得出的结论,确定是部署该挖掘模型还是从某个阶段重新开始。
1.6模型实施:
模型的创建通常并不是项目的结尾。即使建模的目的是增加对数据的了解,所获得的了解也需要进行组织并以一种客户能够使用的方式呈现出来。具体包括:
实施计划:对在业务运作中部署模型作出计划;
监控和维护计划:如何监控模型在实际业务中的使用情况,如何维护该模型;
作出最终报告:项目总结,项目经验和项目结果;
项目回顾:回顾项目的实施过程,总结经验教训;对数据挖掘的运行效果做一个预测。
注意:
在这边需要重点记忆在哪个流程步骤中,是要完成哪个目标,实施什么操作
比如在笔试中可能会考可行性这个操作是在哪个流程中完成的等
上面是CRISP-DM模型的流程,还有SPSS,SAS两种工具,他们也可以算作两个模型:
SPSS:
相比较于CRISP-DM模型,SPSS模型有两个重要的箭头,它不仅在评估的过程之后会比较商业理解,看能不能达到商业目标,他也会在实施之后比较商业理解,看实施的是否符合商业目标。
SAS:
数据挖掘的标准流程:
注意:
数据挖掘的这几个步骤中,一定要按照流程进行,需要前一个流程满足需求之后,才能进行下一个步骤
转载:https://blog.csdn.net/qiaoqiaomanman/article/details/104541445