数据挖掘是通过对大量的数据进行分析,以发现和提取隐含在其中的具有价值的信息和知识的过程。
CRISP-DM(跨行业数据挖掘标准流程)是Cross Industry Standard Process —Data Mining的缩写,是当今数据挖掘业界通用流行的标准之一。它强调数据挖掘技术在商业中的应用,是用以管理并指导Data Miner有效、准确开展数据挖掘工作以期获得最佳挖掘成果的一系列工作步骤的规范标准。
CRISP-DM模型的基本步骤包括:
商业理解:
这一初始阶段集中在从商业角度理解项目的目标和要求,然后把理解转化为数据挖掘问题的定义和一个旨在实现目标的初步计划。具体的包括:
确定业务目标:分析项目的背景,从业务视点分析项目的目标和需求,确定业务角度的成功标准;
项目可行性分析:分析拥有的资源,条件和限制,风险估计,成本和效益估计;
确定数据挖掘目标:明确数据挖掘的目标和成功标准,数据挖掘的目标和业务目标是不一样的,前者指技术上的,例如生成一棵决策树等;
提出项目计划:对整个项目做一个计划,初步估计用到的工具和技术。
数据理解:
数据理解阶段开始于原始数据的收集,然后是熟悉数据,标明数据质量问题,探索数据进而对数据初步理解,发觉有趣的子集以形成对隐藏信息的假设。具体地,包括:
收集原始数据:收集本项目所涉及到的数据,如有必要,把数据装入数据处理工具,并作一些初步的数据集成的工作,生成相应报告;
描述数据:对数据做一些大致的描述,例如记录数、属性数等,给出相应报告;
探索数据:对数据做简单的统计分析,例如关键属性的分布等;
检查数据质量:包括数据是否完整、数据是否有错、是否有缺失值等问题。
数据准备:
数据准备阶段包括所有从原始的未加工的数据构造最终数据集的活动(这些数据集指将要嵌入建模工具中的数据)。数据准备任务可能被实施多次,而且没有任何规定的顺序。这些任务包括表格、记录和属性的选择以及按照建模工具要求,对数据的转换和清洗。具体包括:
数据选择:根据数据挖掘目标和数据质量选择合适的数据,包括表的选择、记录选择和属性选择;
数据清洁:提高选择好的数据的质量,例如去除噪音,填充缺失值等;
数据创建:在原有数据的基础上生成新的属性或记录;
数据合并:利用表连接等方式将几个数据集合并在一起;
数据格式化:把数据转换成适合数据挖掘处理的格式。
建立模型:
在此阶段,主要是选择和应用各种建模技术,同时对它们的参数进行校准以达到最优值。通常对于同一个数据挖掘问题类型,会有多种模型技术。一些技术对数据格式有特殊的要求。因此,常常需要返回到数据准备阶段。 具体包括:
选择建模技术:确定数据挖掘算法和参数,可能会利用多个算法;
测试方案设计:设计某种测试模型的质量和有效性的机制;
模型训练:在准备好的数据集上运行数据挖掘算法,得出一个或者多个模型;
模型测试评估:根据测试方案进行测试,从数据挖掘技术的角度确定数据挖掘目标是否成功。
模型评估:
进入项目中的这个阶段时,你已经建立了一个模型(或者多个),从数据分析的角度来看,该模型似乎有很高的质量。在模型最后发布前,有一点是很重要的——更为彻底地评估模型和检查建立模型的各个步骤 ,从而确保它真正地达到了商业目标。此阶段关键目的是决定是否存在一些重要的商业问题仍未得到充分地考虑。关于数据挖掘结果的使用决定应该在此阶段结束时确定下来。具体包括:
结果评估:从商业角度评估得到的模型,甚至实际试用该模型测试其效果;
过程回顾:回顾项目的所有流程,确定每一个阶段都没有失误;
确定下一步工作:根据结果评估和过程回顾得出的结论,确定是部署该挖掘模型还是从某个阶段重新开始。
模型实施:
模型的创建通常并不是项目的结尾。即使建模的目的是增加对数据的了解,所获得的了解也需要进行组织并以一种客户能够使用的方式呈现出来。具体包括:
实施计划:对在业务运作中部署模型作出计划;
监控和维护计划:如何监控模型在实际业务中的使用情况,如何维护该模型;
作出最终报告:项目总结,项目经验和项目结果;
项目回顾:回顾项目的实施过程,总结经验教训;对数据挖掘的运行效果做一个预测。
现实中的数据一般有噪声、数量庞大并且可能来自不同数据源。
数据集由数据对象组成,一个数据对象代表一个实体。
数据对象:又称样本、实例、数据点或对象。
数据对象以数据元组的形式存放在数据库中,数据库的行对应于数据对象,列对应于属性。
属性是一个数据字段,表示数据对象的特征,在文献中,属性、维度(dimension)、特征(feature)、变量(variance)可以互换的使用。
“维”,一般用在数据仓库中。
“特征”,一般用在机器学习中。
“变量”,一般用在统计学中。
一个属性的类型由该属性可能具有的值的集合决定,可以是标称的、二元的、序数的、数值的。
标称属性:
特点:
标称属性的值是一些符号或事物的名称。
每个值代表某种类别、编码、状态,因此标称属性又被看做是分类的(categorical)。
标称属性的值不具有有意义的序,而且不是定量的。(也就是说,给定一个对象集,找出这种属性的均值没有意义) 。
二元属性:
特点:
二元属性是一种标称属性,只有两个状态:0 或 1,其中 0 通常表示该属性不出现,1 表示出现。
二元属性又称布尔属性,如果两种状态对应的是 true 和 false。
序数属性:
特点
属性对应的可能的值之间具有有意义的序或秩评定(ranking),但是相继值之间的差是未知的。(也就是对应的值有先后次序)
其它
例:drink_size,表示饮料杯的大小:小、中、大,这些值具有有意义的先后次序。
序数属性可以通过把数值量的值域划分成有限个有序类别(如,0-很不满意、1-不满意、2-中性、3-满意、4-很满意),把数值属性离散化而得到。
可以用众数和中位数表示序数属性的中性趋势,但不能定义均值。
标称、二元和序数属性都是定性的,即,它们描述对象的特征,而不给出实际大小或数值。
数值属性:
特点
是定量的可度量的量,用整数或实数表示。
可以是区间标度的或比率标度的。
区间标度属性
用相等的单位尺度度量。
区间属性的值。
比例标度属性
具有固定零点的数值属性。
离散属性和连续属性:
机器学习中的分类算法通常需要把属性分为离散的和连续的。
离散属性
具有有限个或无限个可数个数,可以用(或不用)整数表示。
连续属性
如果属性不是离散的,则它是连续的。
数据集类型:
数据集(dataset):数据集是指很多数据对象组成的集合。数据对象有时也叫作记录、点、向量、模式、事件、案例、样本、观测或实体。
训练集:用来训练模型。
测试集:用来评估模型和预测数据。
数据集的一般特性:维度,稀疏性,分辨率。
维度:
维度:一组数据的组织形式(一维、二维或多维)。
一维数据由对等关系的有序或无序数据构成,采用线性方式组织。
二维数据由多个一维数据构成,是一维数据的组合形式,比如说表格就是二维数据的一种。
多维数据由一维或二维数据在新维度上扩展形式,比如说加上时间维度。
高维数据利用最简单的二元关系展示数据间的复杂结构,比如说键值对。
稀疏性:
在矩阵中,如果数值为零的元素远大于非零元素的个数,且非零元素分布没有规律时,这样的矩阵被称作稀疏矩阵;如果非零元素数目占据绝大多数时,这样的矩阵被称作稠密矩阵。
稀疏矩阵在工程应用中经常被使用,尤其是在通信编码和机器学习中。若编码矩阵或特征表达矩阵是稀疏矩阵时,其计算速度会大大提升。对于机器学习而言,稀疏矩阵应用非常广,比如在数据特征表示、自然语言处理等领域。
分辨率:
数字图像就是能够在计算机上显示和处理的图像。自然界中的图像都是模拟量,将模拟图像经过离散化之后,得到用数字表示的图像,图像的数字化包括采样和量化两个过程。采样是指将在空间上连续的图像转换成离散的采样点(即像素)集的操作,即:空间坐标的离散化;把采样后所得到各像素的灰度值从模拟量到离散量的转化称为图像灰度的量化。即:灰度的离散化。
空间分辨率越高,图像质量越好,空间分辨率越低,图像质量越差,会出现棋盘模式;灰度分辨率越高,图像质量越好,灰度分辨率越低,图像质量越差
数据汇总统计:
汇总统计是量化,用单个数或数的小集合捕获可能很大的值集的各种特征。
中心趋势度量:均值、中位数和众数。
度量数据散布:极差、四分位数、方差、标准差和四分位数极差
中心趋势度量:
均值、中位数和众数
均值:在一组数据中所有数据之和再除以这组数据的个数。
加权算术均值:简称加权平均值。在对被测定量进行多组测定时,考虑的每组测定结果的“权”后计算出的算术平均值,是全部加权值之和除以总权。
截尾均值:丢弃高低极端值后的均值。
中位数:有序数据值的中间值。
众数:众数是样本观测值在频数分布表中频数最多的那一组的组中值。
中列数:最大和最小值的平均值。
正倾斜:众数出现在小于中位数的值上。
负倾斜:众数出现在大于中位数的值上。
度量数据散布:
极差、四分位数、方差、标准差和四分位数极差
极差:最大值与最小值之差。
分位数:把数据划分成基本大小相等的连贯集合。
四分位数:也称四分位点,是指在统计学中把所有数值由小到大排列并分成四等份,处于三个分割点位置的数值。
百分位数:如果将一组数据从小到大排序,并计算相应的累计百分位,则某一百分位所对应数据的值就称为这一百分位的百分位数。
第一个四分位数:Q1,第25个百分位数。
第三个四分位数:Q3,第75个百分位数。
四分位数极差IQR:Q3-Q1。
Python