基本思路
统计挖掘模型是利用一个或多个输入变量,一般也被称为自变量,通过你和适当的关系式来预测目标变量也被称为因变量的方法。
误差
往往在模型当中也包含了随机误差项,它是指在测试过程中因诸多因素随机作用而形成的,具有不可抵抗性的误差。生成因素十分复杂,由于不可知,因此只能估计。这个属于不可约误差。
另一个误差则是可约误差,它可以通过不断的对模型的优化降低。所以,可约误差与不科学误差决定了模型的精确度。
数据挖掘任务可以简单地分为预测人物和控制任务。
预测任务。其中的预测模型的形式向一个黑箱模型。即对于模型本身,我们不能很好地解释,或者并不清楚其内部的结构,而是更加关系模型的输入和输出,只要能够提高预测精度,我们就认为达到目的了。
控制任务。只预测结果固然重要,但我们也非常关心模型的具体形式,比如哪个因素影响高?哪个因素影响的另一种分类?
就是从一侧的场景来看,分为有监督学习与无监督学习。上述内容都属于有监督学习的范畴。而对于无监督学习,就是指只有自变量啊,没有明确因变量。而监督学习的是每一个自变量,都有与其明确对应的因变量。
数据挖掘方法论
其中最经典一个就是。CRISP-DM,他将一个数据挖掘项目分为六个步骤
第一,商业理解
第二数据理解
第三,数据准备
第四,建立模型。
第五模型评估
第六,结果部署。
实际上,这是一个不断循环的过程,如果在某些阶段遇到问题,那我们就返回上一段进行。
商业理解阶段
在做数据挖掘的时候,我们一定要明白。分析方法只是手段,不是目的,我们最重要的是要理解客户的根本需求,并不是建立一个最完美的模型。这个是次要的。这就是商业理解阶段我们需要对客户的商业运行逻辑有一定的了解
数据理解阶段
我们需要全面认识企业的数据,资源和资源有何特征,然后根据我们的应用目标来开展哪些数据应该被纳入进来,所以我们应该思考哪些数据可以用于本次分析的主题,哪些数据已经在公司的系统中是否有一些重要的影响因素,还没记录和需要付出一定的代价才能获取。再比如我们在零售业经常看到会员积分这个指标,那么我们必须要清楚会员积分的规则,对于客户来说,会员积分的吸引点是什么?他的一些运行模式,累积模式,我们都需要明白的了解。之后才会更好地做出分析。之后,我们要对数据进行探索性分析,也就是对数据的质量分析。对数据的分布分析。辅助统计指标,统计分析。
数据准备阶段
第一是数据清洗
在这一阶段,我们需要对数据的缺失值进行清洗,对数据的离群值进行清洗。对于离群值,我们可以删除记录和把离群值进行替换。上离群值等于,四分位数括号0.75加iqr2成三,下离群值等于四分位数括号0.25括号减iqr乘三。也需要对三类指标分类字段进行一定的处理,将不合规的字段将编码方式,统计口径不一致的问题。然后对单位范围等等进行一系列的处理。
第二就是数据的衍生转换。
第一个问题单变量转单变量。比如转换单位。对数据进行标准化等等。
连续变量转连续变量。通常有对数据进行标准化。对数转换 转换单位。
连续变量转化为离散变量。一般采取的措施是利用分箱处理,可以选择等距离分箱和等数量分箱。
离散变量转化为连续变量,一般只适用于将一些有序的分类变量转化为1234。
将离散变量转化为离散。一般当某个分析变量中包含多个类别,是考虑到会对模型产生不良影响,会合并变量。多变量之间的相互衍生。
汇总型指标。强度相对指标。比例相对指标时间相对指标。趋势型指标。波动指标。
指标和强度相对指标一般也就是描述的范畴。
整个数据挖掘项目中的核心阶段就是建立模型阶段。在某些阶段中,我们会有多种合适的模型和选择方法,但在这个时候,我们需要不断的测试,以选出最优的哪一个。模型的评估往往要从业务和技术两个方面来进行考虑。对于模型的评估,可以采取一些常用的指标,比如
模型准确率,它用于直接描述模型的总体准确情况。但是,具体在某些案例当中可能是更加关注某一个特定的类别,并不是整体模型的准确率,
第二个模型的精确率。它主要反映的是模型,对目标类别的预测准确性。
第三个是模型的召回率。使用召回率,这个指标就是衡量模型,是否能够将目标一网打尽。我们可以使用F值作为综合评价指标,它是精确率和召回率的调和平均数
结果部署
结果部署阶段就是让模型与业务进行最紧密的结合,实际应用到商业节目当中,以实现自己的价值,同时制定相应的维护及更新策略,数据挖掘模型并不是一成不变的,随着时间的推移和商业环境的变化。挖掘模型需要建立一个监测及更新机制来让数据挖掘模型,不断学习新的有实力,才能保持永久的生命力。F值的取值范围在零到一之间,取值越接近于一则证明模型的效果越好。
我们这里有一个营销活动,想要看一看,有多少人会想用我们的活动,那么他给模型给出了我们一份100名顾客相应名单,这个就是模型的准确率。在这100人的名单里面,有90人响应了我们的活动,那么它的准确率就是那么它的精确率就是90%,这就是模型的精确率。这个名单当中有90个人响应了我们的活动,可实际情况当中响应我们活动的有900人,所以我们的模型到底发现了客户群体当中的多少呢,只发现了900人中的90人,所以想要将所有的潜在客户一网打尽,这就是模型的召回率。
所以总结就是。CRISP-DM方法论中。
第一阶段,商业理解。
需要与相关业务及技术人员对数据挖掘目标的达成现有资源的评估和计划的制定进行充分的讨论,我们需要确定业务目标评估情况,确定数据挖掘的目标,制定项目计划
第二阶段数据理解阶段。
我们需要深入理解现在可用的数据资源,对其进行充分的掌握。我们需要收集初始数据描述数据,探索数据,验证数据的质量。
第三阶段数据准备阶段。
我们要对数据进行清洗和整理。我们要选择数据清理数据构建新数据,集成数据格式化数据。
第四阶段建立模型。
我们需要建立不同的模型,从中选择最适合的。我们选择建模技术生成测试,设计,构建模型。评估
第五阶段模型评估。我们要从业务理解和技术手段两个方面来进行评估,我们需要完成三个工作,第一是评估结果,第二审核过程,第三次后续步骤结果部署上。需要指定部署计划计划,坚持和维护生成最终报告执行最终项目的审核。
基本界面
spss的主界面分为四个区域
第一是模型流构建区。这是数据分析师的主要工作区域。他被称为stream。我们往往在节点区节点拖拽至模型流区。模型流是由一系列节点连接而成,这些节点都来源于节点去,那么什么是节点区,节点区就是构建模型流的弹药。
节点可以细分为八类
第一,源节点就是起始节点。它包含各种接入各种类型,数据源的方式。
第二个节点就是记录选项节点属于中间节点。该节点将从行业角度来处理数据。
第三字段选项节点属于中间节点,该节点会从那会从列的角度来处理数据。
第四,建模节点属于终端节点。建模节点分为分析服务节点,分类节点,关联节点,细分节点。
第五类属于终端节点。可以以图形的方式来进行数据探索,展示最后的结果
第六,输出节点也属于终端节点。可以以表格矩阵,交叉表等方式来输出结果
第七,导出节点属于终端节点,它会帮助客户将数据结果到处以各种形式的文件。
第八分析节点属于终端节点。
节点区中还有一个收藏夹选项卡,在该选项卡下可以把常用的节点放进去,方便用户的日常使用。
第三个区域就是模型流结果和模型管理区域在主界面的右上方。
他有三个选项卡,
第一个就是模型流管理区。我们往往会同时构建和编辑多个模型留,那么在这里就可以实现多个流之间的切换。
第二个选项卡是输出。通过输出选项卡,可以对每个结果进行编辑命名,随意切换,甚至把特定的结果保存为文件供下次查看模型。在该选项卡下,用户给你的所有模型都会出现在这里。
主界面右下方就是第四个数据挖掘项目管理区域。我们可以把相应的预备使用的内容全部归纳及乃需要使用的时候再进行使用。
将modeler连接到服务器端。单击主界面,右下角的服务器本地按钮。服务器登录对话框中单击添加按钮。添加编辑服务器,对话框中输入我们的服务器信息,然后点击确定。之后回到服务器登录对话框中,此时看到其中已经被填写了了新的服务器名字。选择新的。设置好相关凭证,填写完成后确定。我们就可以将客户端连接到。服务器端从而提升数据运算的效率。
菜单栏 选择工具 选项 系统选项 命令可以设置我们使用的最大运行内存。
也可以使用缓存来提高操作效率。就是将之前节点运作的结果保存下来,下次使用时直接从该节点开始。我们右键单击需要缓存节点,选择缓存启用命令。就可以对此次运行结果进行保存。
当我们关闭文件之后,缓存也会消失,如果关闭后想要继续使用。就可以在右键快捷菜单中选择缓存,保存,缓存的命令。下次使用时,只要在相同的节点处单击右键,缓存加载,缓存即可召回之前的存储信息。
超节点
可以将节点封装在一个节点之内,从而防止出现主界面的布局混乱,流程不清。选择要封装的节点,右键单击,在弹出的快捷菜单中选择创建超节点。要查看超级节点具体内容右键单击超级节点,快捷菜单处选择放大命令。展开选项中会拆开节点,恢复原来的状态。我们只需要选中某个超级的节点,右键单击选择新注释命令就可以对它进行注释,有便于我们在后期回顾整个数据,构建。
数据的身份和读取
可以从存储类型,测量级别和角色三个角度进行划分。
第一,变量的存储类型。通过源节点导入之后会自动确定,我们也可以在后续的数据操作过程当中对它进行更改。分为整数型,实数型,字符串型,日期型,时间型,时间戳型,列表型。
列表型的意思就是单个记录当中会包含多个字。
实数型的意思就是包含小数的字段。
字符串在计算当中是不会被纳入的
时间型数值表示持续时间的数据。
时间戳则是现在标准时间的格式。
日期型则是标准日期格式。
第二,从变量的测量级别来看。分为默认型。即变量的类型为未知,将被设置为默认型
连续性。
分类型。取值范围已知的情况下。如果他们之间如果有序性就是有序型。
如果没有顺序,则被称为名义型
如果仅有两个不同标记的变量类型,那么则是标记型。
无类型则不会参与建模。
集合性实质上是深度为零的解表列表字段地理空间醒。以列表的方式来进行存储数据。第三,变量的角色。
要输入,也就是自变量
目标,也就是输出就是因变量。
任意的话就是既可以是自变量,也可以是因变量,但它只适用于关联规则算法。
无的话则会被忽略。
分区。则被用来标识数据是属于训练集还是测试集。
拆分。分类字段可以被设置为拆分。算法将会为字段的每一个可能性都建立一个模型。频率数值字段能够被设置为频率,并且因为正整数。设置好之后,该字段将会被用作记录。也就是当做权重处理。
记录标识。作为样本标识的使用及ID号。
关于EXCEL的读取。变量数据的读取。数据库的读取。此处不再赘述。
ODBC数据读取失败
SQL password:root
缺省型(Delaul):; 缺省型是一种尚未明确的变量类型。
读取变量:
存储类型取值范围不可知的情况下为非实例化变量,默认型
在用户定义变量时,如果仅指定了变量存储类型而没有输入或读入具体的变量值,通常为连续或分类。这样的变量为半实例化变量。
当用户输入或读入变量值后,通常为连续标记名义有序,此时称变量已被实例化。
清除值为清除值一列的内容,清除所有值为清除测量和值的内容
demo目录
预览数目调整
数据整理
类型节点
修改存储类型可以通过“填充节点”
测量和角色可以通过“类型”功能改变
整个处理过程就是实例化的过程。当数据源发生清洗后建议重新进行实例化
过滤器节点
删除,重命名,匿名化
批量化处理功能
追加节点
从多个不同的数据源中抽取数据并合并。
记录集成
就是纵向追加行记录
输入选项卡:
输入选项卡主要是用于概览,连接到追加节点的各个数据源情况,在这里你可以看到每个被连接的节点的类型是什么?字段有多少?源节点是什么?标记是什么?
标记的意思就是。有哪些数据被集成了,也就是数据源的标识,我们可以对不同的数据源进行识别。标记为一的数据集通常会被自动设置为主数据集。
查看当前标记就是显示,当前数据流中已与该追加结点相连的数据源
查看未使用的标记设置,显示当前数据流中存在,但是未于该追加节点相连的数据源。追加选项主要是用于设定多个数据源的追加继承方式,包括匹配的集成和字段匹配预览等等。
包含字段来源
选择所有数据及所有表格中的字段,都会输出所有数据,
仅数据集,即只有主数据集的数据才会被输出。
通过在字段中包含数据集来标记记录。选择此项会向最终的数据列增加一列,表示每个记录的数据来源,默认变量名为输入。
字段匹配的依据。
选择位置,即根据数据表当中的位置进行一一对应,第一列对应第一列,第二列对应第二列
名称及根据数据表当中的名称进行一一对应,比如性别一列对应性别一列,即使位置不一样,也会将性别匹配与性别
当选择名称之后选择匹配。代表启用大小写区分。
数据的字段集成。
它是横向集成的一个过程。它会一列一列的集成数据,而并不是像之前一行行的集成数据,
第一个选项卡。合并。合并节点的合并选项卡主要是用于设计不同数据源的合并集成方式。
合并的方法有顺序,关键字,条件以及排名条件四种不同的合并方法。
其中顺序是指按照表格中的顺序逐条合并,所以顺序合并前提就是已经排完序。
关键字合并及当两个表格中关键词的取值一致时,才能进行。
条件合并。这是比关键字更加灵活的一种方式。
排名条件。我们可以对它进行排名的合并。
连接的类型当中包含
仅包含匹配的记录(内部连接)。只合并不同数据源中关键字取值一样的记录。不匹配的才会被删除。
包含匹配和不匹配的(完全外部连接)。
无论能不能匹配都会被保留。对于未能匹配的记录将其控制。
包含匹配的记录和选定的不匹配记录(部分外部连接)。仅对主表的所有记录进行保留,副表只保留能够和主表相匹配的记录。
反连接。包含主数据表中不与其他副表格匹配的记录。就是指把没有匹配的记录所保留下来
优化选项卡主要优化合并速度。
当某个数据集很大的时候可以勾选。一个输入数据集相对较大。
如果数据集已经进行排序了,那么就勾选所有输入已按关键字段排序,这两种方式都能增加合并的性能。
这里存在类型的限制,我们需要对它进行更改,比如分类型变量默认的最大数为250,当超过250个类别之后,将会被强制转为无类型。所以,我们要在菜单栏的工具,流属性,选项,常规中的名义字段的最大成员数进行设置,也可以直接取消最大成员数设计。
我们将某个字段过滤掉之后。他便是彻底地从这个数据集中消失。我们选择无,则是被保留在这个数据集当中,但不会参与后续的运作。
数据整理
数据的选择功能也就是使用选择节点,该节点包括两种模式,分别是包括和丢弃。分别是包括符合条件的数据或者是丢弃符合条件的数据。我们可以选中右上方绿色方形按钮,启动表达式构建器来输入条件表达式。输入完成后,一般先单击检查按钮,检查表达式是否有误。之后自行确定。
我们可以对节点设置参数
流参数。对当前流中的所有节点使用
会话参数,在当前窗口当中所使用的所有流都会使用这个功能。
流参数的设置步骤是工具流属性参数。
会话参数则是菜单栏工具设置会话参数。
数据排序
选择排序节点就可以。
数据区分。就是去除数据当中的重复记录。需要用到区分节点。设好关键字段模式,每组包括首个记录。
数据重复
部分列值重复的情况该如何处理?就是模式选择为每个组创建组合记录用于分段的关键字段选择好。
数值型字段则选择组中第一条与最后一条记录。还有总计。均值最大值最小值定制。
如果是字符型字段,可以选择组装第一条记录,最后一条记录,第一个字母数字,最后一个字母数字定制。
如果是时间和日期字段,可以在以下选项组中的第一条记录组装,最后一条记录最早最近定制。
数据汇总功能。就使用汇总节点,可以汇总很多统计数值。首先要选择汇总的关键字段,即我们要汇总什么东西。就是汇总数据。
接下来分为基本汇总和汇总表达式,基本汇总则是直接选择汇总的指标,是什么?按什么进行统计的汇总?如果想对两个或者更多字段进行组合汇总,需要使用汇总表达式来进行实现。
数据整理是关于列的处理。
在处理的时候,很多时候并不是原始指标效应,生出一些指标,这就是导出节点。它分为两种模式,单个就是指导出一个字段,多个会导出多个字段,前提是他们的计算公式是相同的才行。
中间的导出为下拉列表框中可选择六种导出的数据类型。公式一栏,单击右边的启动表达式构建按钮就可以进行。
数据审核
这个节点会提供常见的统计分析结果
如果设置过类型节点,那么会将角色为无的字段排除在外,角色是目标的会被作为交叠字段
缺失值的处理
先接类型,再数据审核的节点(质量面板处进行查看)
缺失值类型:
空白值---对某值被专门进行定义为空白
空字符串和空白---字符串设置为不可见的
空值-----留空和被定义为空值(使用undef)
缺失值的定义:
类型节点中,检查列是检查符不符合要求。而缺失值如果有的话会在缺失值列中表现出来。
无是默认操作
不对字段的值进行检查
无效就是将超出限制的值更改为系统空值
强制就是字段已经实例化了,把超过限制的值更改为符合该字段测量级别的合法值,其中分为标志集合和数值,数值就是大于上线的转换为最大值,小于下线的为最小值,空指则会转化为中间值。集合就是将未知值转化成集合值中的第一个成员。标志,将真值和假值以外的值转换为假值。
丢弃,如果在检查中发现非法值,将丢弃该记录。
警告,检查中发现非法值,将警告
中止,如果在检查中发现非法值将终止运行并提示错误
如果缺失值已经被提前处理为一个指定的数字,那么系统将不会发现,所以我们需要告诉系统有数值要被指定为缺失值。我们通常在缺失值一列中选择指定,指定的设置含义如下,开就是对该字段进行缺失值处理。关,没有为该字段确实处理决定。
选择指定,我们可以为字段进行针对性的缺失指定处理,其中选项我们可以定义该字段值的有效范围。
检查值可以同时执行检查操作并警告
定义空白的选项,可以将哪个值视为空白值进行说明
缺失值的自动化处理
1.对于空字符串----数据审核结果的质量分析报告中生成,缺失值选择节点。就可以对其进行抛弃或者是筛选
缺失值选择节点:查询无效值的范围---所有字段,所选字段,质量高于多少的字段才进行。
以下位置发现无效值---以上字段(上述字段中发现就无效)和以上所有字段(指定字段的每一个字段)
2.对于空白值---数据审核的质量面板--方法处,固定(平均值等自己指定)、随机(分布中的均匀数据随机分发)、表达式(自己写表达式)、算法(系统进行插补)
再点击要处理的变量,生成,缺失值超节点命令,再将该节点连接到类型节点就可以进行插补。
图形表示:
在类型节点处,将因变量设置为目标就可以(有且仅有一个)
数据抽样
我们可以通过样本节点来对数据进行抽样
样本节点当中分为简单和复杂两种重要模式。
简单抽样模式中包含样本和丢弃样本。
在设置选项卡中,第一个可以选择前n条记录,也可以n中取1,就是每隔n条取一条。随机百分号就是随机抽取指定百分比的数据,或者是丢弃。
最大样本为,我们在选择n中取一以及随机百分比的时候,可以使用该功能。
复杂模式当中有抽样和分层,复杂抽样方法中有聚类和分层方法,单击聚类与分层按钮在弹出的对话框中设置分层方式,并且选择按比例或者是计数来进行筛选。选择定制单选按钮将排序方式设为,单击右下角的读取置按钮会进行自动的读取。
聚类的应用主要是指在抽取样本的时候,很有可能同一样本的被抽取了,有的没有被抽取。那么为了保证这一类的数据全部都被抽取到,让它的分析更加全面。所以我们会使用聚类,要么这一类会全部被抽取,要么这一类全部不会被抽取,不会导致对这一类的分析一半。
数据分区
功能是将数据分为训练集和测试集,用于对于模型的训练和评估,原因是因为我们想要测试这个模型有没有效?无法获得未来可能会发生的数据来进行测试,所以就要将原来的数据一分为二留一部分来进行测试,我们通常将在测试集的结果来作为对模型评判的标准,如果我们对于同一问题建立了多个模型来进行比较,那么我们会在多划分一个验证机用于选择模型的参数,所以数据集最终会被划分为三部分,用于模型训练的训练集以及用于参数选择的验证集以及用于模型评估的测试集
这些操作由分区节点来进行实现
如果在一个数据集中,某种比例要明显大于另一种比例,可能会导致整个数据集被认为成具有较大比例的那个。比例较小的,会被完全的忽视掉。但此时由于占较大比例的数据较多,所以我们对该数据的预测已经达到了一个很好的状态,让我们无法进行识别。所以在前期要对他进行数据平衡处理,所以我们可以使用平衡节点对数据进行平衡处理有两种方式欠采样和过采样。
欠采样,就是针对数据当中,对多数类别进行随机抽样来减少多数类别的样本量
过采样就是针对少数类别,通过对选择少数类别的部分样本进行复制来增加额外的样本量,通过这两种方式来减少或者是降低数据集不平衡程度。
条件输入条件,针对满足输入条件的数据样本来进行操作。
因子该值小于一表明对于满足样本的,对于满足条件的样本进行欠抽样,该值大于一表示对满足条件的样本进行过采样训练。
平衡数据
的意思就是如果事先已经定义了分区节点,选择此项就只对进行分区节点当中的训练数据集来进行平衡处理。
平衡处理以及分区处理的正确顺序应该是首先使用分区节点把数据划分为训练集和测试集。再在分区节点中对数据集进行平衡化处理,并且勾选上仅平衡训练数据。
特征选择
如果备选字段很多的话,我们可以使用特征选择节点来进行快速识别最为重要的字段
第一筛选删除不重要或有问题的输入记录,或者是个案排序
第二对剩余的输入进行排序,并根据重要性来进行分级选择,确定要在后续当中使用的功能子集
定制字段分配就是自己来设置输入输出。字段预定义角色,就是按照前面类型节点定义的输入和输出。
在模型面板当中,可以针对数据质量问题的筛选标准做出要求。
缺失值的百分比筛选具有过多缺失值的字段,默认70%以上确实则过滤掉该字段
最大百分比筛选,在分类字段中,其中有一类超过了默认的数值,就会过滤掉该字段
最大类别数,按记录百分比。在分类字段中类别的内容过多,超过了默认的数值就会过滤掉该字段
最小变异系数,筛选变异系数小于或等于指定最小值的字段
最小标准差筛选标准x小于或等于指定最小值的字段
选项中
所有排列字段中如果勾选重要的,那么重要的就会被勾选上字段。总数设定为多少,那么就会有前多少个重要字段被勾选上?如果选择重要性大于,就会按照设置的值进行筛选,就是比如说设置0.95,就会将重要性大于0.95的字段都勾选上
数据变换
作用就是对数据进行相应的变化,比如可以让不服从正态分布的变为服从正态分布的。选择生成导出节点非标准变化咋按原始数据做倒数生成泥模型标准变化及将数据再做归一化取值限制在0到1范围内
历史记录找回
流、结果管理区切换到输出选项卡,可以回顾输出结果,也可以对其进行重命名和注释
注:表格节点的生成,就是进行节点筛选的意思。可以根据需要进行选择