clementine软件里面dome的演示实验的分析和说明
说明:软件里面的帮助---》应用程序实例,按照这里面的顺序来的。
我
毛华望
QQ849886241。技术博客http://blog.csdn.net/my_share
1,
准备分析数据(数据审核)
按照应用程序实例文本的指示,打开
telco_dataaudit.str数据流。我在这个放入了一个表
,目的就是查看过程中的数据是怎么样的。点表模块,执行(会报错,只要telco的文件重新导出一下就行了,这样软件就能找到文件啦).
这就是初始化数据的内容,第一列大概是注册地,还有年龄,婚否,收入,学历,等信息。最后一列,应该是他是否购买了商品。
这个小笔,你点击以下,表里面的英文就数字化了。怎么数字化,应该能看出来。比如说:区域,深圳也就南山,宝安,福田,龙岗,一个地点配个数据就好了。教育程度,大学1,研究生2,博士3,其他4,这样就能数字化了。
圈2 type,双击,这里都是数据类型和属性的设置,最后一个设置成输出,其他的自动读取就可以啦。哪些是范围,离散。如果选的不合适,电脑处理起来就会比较慢。
圈3,是图标类,输出的数据分析,
这个是数据审核(圈3模块)可以统计分析数据表格的内容。
圈4,是一个模块组,里面包含很多模块,在工程流那边可以看到,
这个模块的功能就是缺失值的处理,
内部结构。两个黄色的是决策树。
填充,然后在填充,可能一次只填充一个吧。在过滤,就是几个属性,整行删除。比如,我不需要日期这个属性,就可以用filter temp删除。
圈5,功能一样的。
圈6,异常点检测模型。
圈7,特征选择算法。
整体的内容了解后,现在开始细节内容。首先是数据的特点。
圈1,telco.sav是电话使用客户的情况,超市,办理会员卡,类型的数据,里面有很多的空值,还有很多不应该是0的地方写了0,longmath这一列的数据就是根据其他列算出来的。loglong也是。其他特点没有看出来。
圈2,是类型的设定,设定本身对数据是没有影响的。但是对后面的监督学习有影响。没有任何的过滤功能。
圈3,
最大值,最小值,范围,平均值,因为是集合嘛,自然没有这些属性。如果类型是范围就有啦。
这里涉及到偏度,最上面正偏度,中间不偏,下面负偏度。
平均值和标准差,应该不需要解释。唯一(就是里面有几个数字),有效,就是用到的数据除以总数据量。
这个模块也可以设计离群值(可能离群了就不做计算了)。大于多少,就认为是误差点啦。为了计算更准确。
圈4.要开始进行决策树,看看每个属性的人有多大程度会继续选购产品。
两个决策树,其中一个是equipmon,一个是loglong。为何是两个。是两个不同的初始点,两个都比较合适作为初始点,然后看两种分类的性能。
剩下的三个就没什么好说的了。重要的字段过滤,填充(看模块名就知道啦)的事情。
圈5,过滤了,剩余几个具有log属性的列。(loglong前面的字母就有log)
圈6,奇异点检测,这里只设置一条就是最异常的百分比。也就是在聚类的时候,圈出离中心最远的百分比。
圈7,特征选择,有些特征可以很好的用来分类,就是哪些特征更容易分类,就是特征选择。
equipmon主要就是基于这一组数据进行决策树分析的。同样的loglong模块的决策树也差不多。至于决策树有什么样的性能和可靠性问题,参见(
CLEMENTINE数据挖掘方法及应用 P131
)(文件夹PPT)
其实你发现两个决策树用了很少的属性,其实不应该这样的,为何本题可以呢??因为log是属性计算出来的,也就是属性的合并,就和主成分分析差不多。
关于为何是这样的连接方式,大概能够了解。先过滤一个属性,在过滤另外一个属性。可是为何两个决策树是串联的,还有决策树输出的是什么。(答案在下面)
在equipmon决策树后面放置了一个表模块,结果和初始化的表是一样的。甚至两个填充模块后面的生成的表都是一样的(初始化的表)。下面是最后异常检测模块的输出情况。(测试过程)
图1.
图2
这个就是图2的内部结构。所以这
两个填充没有任何作用。
即使我把两个决策树都断开,最后的异常报告还是一样的。
结论:界面操作灵活罢了。数据没有变化。
实际上决策树已经是终端了。至于这两个决策树是怎么生成的,不知到。(给出解答)
黄色的模型,就是训练好的模型,然后你可以用测试数据进行测试,然后测试的结果,导入到异常点,就可以找到异常点。
至于异常点检测和特征选择,表面的东西我能懂,至于算法完成,不知道。
2,
药物治疗(勘察表/C5.0)
这个是实例模型。
圈1,输入源,
圈2,导出字段,
圈3,过滤,
圈4,选择类型,圈5和圈6就是决策树。
圈2里面做了一个na/k的操作。不明白,可能是这两个指标很重要用,乘法或者除法更方便体现吧。
主要是看圈5和圈6的差别。神经网络训练结果准确率91%,决策树99%。
执行完后要进行分析。分析准确率。
3,
筛选预测变量(特征选择)
CHAID是一种决策树。
这个数据库还是挺大的。没看出什么。
圈4,特征选择,我不知道算法,但是根据基本想法也能知道,大概就是更容易区分,就是哪个变量对结果的影响大。
圈3和圈6,都是决策树,对比差别,是想知道特征选择的作用(可以缩短运行时间,看看要牺牲多少性能),
准确率大概是91.64%,同样的,如果使用前10个主要特征,准确率没变化,但是速度高了很多。
4,
对客户响应建模(决策列表)
没有找到合适的工程项目,所以这个不写了。
5,
有线电视服务销售(C&R 树)
圈1,数据输入。
圈2,设置属性。
圈3,选择属性。
圈4,决策树。
圈5,训练好的决策树。
圈6和圈7,就是输出表。
这几个模块的基本功能应该不需要解释。
圈6,会比最初的表多两个属性。
后面两个属性就是预测的结果。
圈3,过滤了一下年纪比较大的人的数据,为何这样,是因为在第一次决策树的时候
圈4,发现这些数据在分支的下面,并不重要。所以,形成了表
圈7,简化数据集。当然必须先用决策树,找到影响不大的数据集。在执行圈3.
另外一个就是数据集条件概率(当然这个数字是怎么来的不知道)。我测试了一下,两个结果差不多。
6,
欺诈屏蔽(异常检测/神经网络)
本例使用虚拟数据演示如何通过分析方法来发现与标准数据的偏差,同时突出了有必要进一步调查的异常记录。特别值得关注的是那些相对农场类型和规模而言要求过多(或过少)补助金的补贴申请。
分析通过两个阶段执行:先使用“异常检测”进行预筛选,然后使用“神经网络”模型进行深入分析。
圈4:读出来的数据量是300条。然后
圈2的检测奇异点。按照什么标准设置的奇异点数。
实在没看懂这个异常模块的报告。(10个异常点,在总表里面剔除3个不合格属性)
圈5,自动重排。里面多出了5个属性。F,T的话T代表异常。其他的4个属性,3个当然是不合格项目,一个是偏离指数(数据怎么算的不知道)。
圈6,在众多的属性中,提出2个维度来表示异常点,并不会很容易看出来。个人感觉意义不大,根据实际情况来说,跟钱有关,所以,监控钱的话,能反应很多内容还是可以的。
如果在圈3,里面的选项里面选择,,这样圈7,显示的就是10个异常的数据。
这个工程的目标就是找到异常的情况。根据以往的经验,可能有人重复申请,也就是name相同。所以就有一个名字
统计。selsct就删除有重复字段的人,经过两个添加模块,添加的都是通过表里面的已知属性计算出来的。无非就是看起来更容易。generated里面删除了一些字段。删除的部分,都是处理过的了,不用参与后面的数据分析。
anomaly为何是分了5份(是不是自动完成的)。
圈2,神经网络,用神经网络预测,把预测错误的几个,分离出来。
claimdiff模块添加了一个选项,一个计算公式,大概的意思就是准确性的偏差,然后删除准确比较高的。然后剩下的留下来。所以还剩下5个(属于异常点)。
7
识别消费额度高的客户
大概流程我说一下,Transactions经过convert dataes进行时间属性的变换到2007-6-6进行汇总(数据特点就是ID相同的很多,比如说,我今天买了,晚上我还买了,一天内我的id就出现了2次),然后进入rfm anglysis来分析(分箱就是分为几个部分,权重就是重要性的代表,具体怎么分箱,我还真不知道)。同时和customers和campaign在merge模块里面汇总,合成一股。在Type里面进行模式分类,
partion是分区,分两个区,一个是训练区,一个是测试区,各百分之五十。balance特定条件修正不均衡,比如说,错误的比率太小了,而且我们对错误比较重视,所以就需要在采样的时候错误的情况多一些。这就是平衡。
questC5.0就是预测模型预测精度的图表。
增益
定义为每个增量中匹配项数与树中匹配项总数的比例。
从questc5.0里面看出,C5.0性能更好一些,因为上升的快,就是每增加一个变量,就会有很多的性能提升。
蓝底图是总图,下面是RFM Nested Binning的分图。上面的内容已经有很多相似的了,解释也没太多意思。
解释RFM Nest,到了粉红底图,BinRecency吧recency这个属性分了5部分,也就是5分箱,所以就R1,R2、、、、至于R1 F and M里面的内容,就和这个是一样的,把frequeney 和 manetary两个属性也进行5分箱。最后就是5*5*5=125个组啦。回到蓝底图,randomize模块,具体内容自己看吧,就是给所有的数据添加了一个随机的0或者1,为了看抗干扰能力(当然也不确定)。最后的结果就是下面添加随机0到1的数据链,最后的结果很平衡(不知道为何)。
8,
电信业客户分类(多项 Logistic 回归)
这里面,大部分模块都知道啦。介绍custcat模块,线性回归。说起线性回归,目标是两个数据的关联关系,关系越紧密,函数就越简单。但是只有两组数据,所以需要对多组数据进行算法合成等操作。多项逻辑,就是4个属性,一起构建一个函数,来反映输出的情况。线性回归,比如说,今天是否出门,1,女朋友叫,2天气好,3钱多少。这三项都会影响我出不出。
9,
电信客户流失(二项 Logistic 回归)
churn,是选择比较重要的字段。选出来后,在important features里面,把那些不重要的删除。28字段,就是对这几个重要的属性加以分析,平均值,最大值等。missing value是把丢失的数据,null数据填充。churn模块是线性回归,来分析预测情况,analysis分析生成的模型准确率。
10,
使用时间序列节点进行预测
圈1,画图,就和matlab,plot是一样的。
这个是6字段(构建时间序列)模块的设置。
最后圈3生成的报告,没看懂。
11
预测贷款拖欠者(贝叶斯网络)
4,5,6就是贝叶斯算法,1,2,3是生成好的贝叶斯,用来预测的。
说起来,我没怎么懂贝叶斯为何出来的结果是这样的。
可能我对算法不太了解吧。最后分析这三种贝叶斯的性能情况。
12,
市场购物篮分析
这个是最典型的应用了。主要通过支持度和置信度来统计两个的关联性。1,2都是这个作用,显示两个元素的相关性。beer_beans_pizza就是决策树算法,预测用的。没什么好说的。
13,
电信客户分类(判别式分析)
圈1,是判别式分析,讲所有的数据分位4类。至于怎么构建的判别式,我还不知道。至于生成的判别式报告。自然也没怎么看懂啦。
圈2,就是一个表格,比普通的表格多了个统计数据。求了个和。
文本里面有对报告的解释。
14,
分析区间型删失的生存数据(广义线性模型)
当然了,本来是有两个半截的,主要是内容大概是相同的,就没有截图下来。
圈1,广义线性模型,进行分类。圈2,就有一个分类报告,
15,
关于每一个算法模块我都没有做什么说明,原因是我也不知道,我之所以了解这些内容是我需要用这个软件里面的数据,和一些指标等内容来学习机器学习算法,测试机器学习算法的性能。所以本次学习的目的,是会用这个软件,对一些基本模块和数据等有了解就好。学完这些,下一步就可以学习机器学习算法啦。