您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 信息化管理 > 统计与数据挖掘实验报告
统计与数据挖掘实验报告——基于Clementine11.1方法应用专业:企业管理姓名:王艺霖学号:1406122393时间:2014-12-12一、实验目的:1、理解对大型的、复杂的和信息丰富的数据集进行分析的必要性;2、了解数据挖掘软件Spss-clementine的基本功能。3、通过案例了解决策树和人工神经网络技术的实际应用。二、实验环境:1、实验设备:华硕A40J计算机2、软件系统:Windows-7、SPSSClementineClient11.1软件简介:作为一个数据挖掘平台,Clementine结合商业技术可以快速建立预测性模型,进而应用到商业活动中,帮助人们改进决策过程。强大的数据挖掘功能和显著的投资回报率使得Clementine在业界久负盛誉。同那些仅仅着重于模型的外在表现而忽略了数据挖掘在整个业务流程中的应用价值的其它数据挖掘工具相比,Clementine其功能强大的数据挖掘算法,使数据挖掘贯穿业务流程的始终,在缩短投资回报周期的同时极大提高了投资回报率。三、研究问题:这次实验内容来源于一个药物应用问题,以往有大批患有同种疾病的不同病人,在服用五种药物中的一种(Drug,分为DrugA、DrugB、DrugC、DrugX、DrugY)之后都取得了同样的治疗效果。这里的数据是随机挑选的部分病人服用药物前的基本临床检查数据,包括血压(BP,分为高血压High、正常Normal、低血压Low)、胆固醇(Cholesterol,分为正常Normal和高胆固醇High)、唾液中钠元素(Na)和钾元素(K)含量,以及病人年龄(Age)、性别(Sex,包括男M和女F)等。现在需要通过数据分析发现以往处方适用的规律,给不同临床特征病人更适合服用哪种药物的建议,为未来医生填写处方提供参考。四、数据来源及变量说明本案例的数据是Clementine软件自带的一份关于药物研究的数据DRUG4n,一共有1000条数据,包含7个字段分别是Age(年龄)、Sex(性别)、BP(血压)、Cholesterol(类胆固醇含量)、Na(Na含量)、K(K含量)、Drug(药品种类)。数据描述:变量名称变量含义备注Age年龄Sex性别BP血压分为高(high)、低(low)和正常(normal)三种Cholesterol胆固醇含量分为高(high)、低(low)和正常(normal)三种Na钠含量K钾含量Drug最适合药物以下五种之一:drugA、drugB、drugC、drugX、drugY五、实验步骤与分析过程:本次实验,首先对DRUG4n中的数据进行了一个简单的分析和解释,比如说Drug的分布情况、Na和K的含量等的分析,接着决策树分析的方法和人工神经网络方法对数据进行分类和分析。1.读数据到Clementine中。打开Clementine11.1,新建一个流命名为“Drug分析”。从数据源中选择“可变文件”,双击使之出现在工作框中,右击选择“编辑”,添加Demos里面的DRUG4n。如图1图12.浏览数据内容。在“输出”选项卡中选择“表”节点加到数据流中,执行该节点,所生成的数据表名将列在流管理窗口的输出选项卡中,结果如图2图23.观察各个变量的数据分布特征。在“输出”选项卡中选择“数据审核”节点加到数据流中,执行该节点,所生成的数据表名列在流管理窗口的输出选项卡中,如图3图3可以看到,该数据有1000个样本,对Age、Na、K这三个数值型变量,计算且输出最小值、最大值、均值、标准差、偏态系数等基本描述统计量。数据显示,病人的年龄差距比较大。同时,输出了各个变量的直方图或柱状图。图形表明,病人中的Age、BP、Cholesterol水平的分布都比较均匀,差异不大,但服用药物DrugY的病人数明显高于服用其他药物的人数。4.观察服用不同药物的病人唾液中钠钾的含量情况。这里,希望通过散点图反映。在“图形”卡中选择“散点图”节点加到数据流中,设置节点参数,指定Na为X轴,K为Y轴,服用不同Drug的病人数据采用不同颜色的点,如图4-1,执行该节点,所生成的图形文件名列在流管理窗口的输出选项卡中,如图4-2.图4-1图4-2图形显示,服用DrugY的病人,其唾液中的钾含量明显低于其他类病人,但钠含量有的较低有的较高。单纯的钾含量较低的病人选用DrugY应该比较理想。5.观察服用不同药物病人唾液中的钠钾的浓度比例情况。为更准确地评价药物状况,单纯观察钾含量是不全面的,应观测钠与钾的浓度比值指标,它能够更准确反映病人肾上腺皮质的功能状态。该指标是原始数据中没有的,应首先计算生成,然后观察其分布特征。在“字段选项”选择卡中选择“导出”节点加到数据流中,设置节点参数指定生成的新变量名为Na/K,计算公式为Na/K,如图5-1。在“图形”选项卡中选择“直方图”节点,设置节点参数指定绘制Na/K的直方图,且服用不同药物的病人数据采用不同的颜色,如图5-2。执行“直方图”节点,所生成的图形文件名列在流管理窗口的“输出”选项卡中,如图5-3图5-1图5-2图5-3图形显示,针对Na/K值处在高水平的病人,DrugY应该是理想的选择。6.不同血压特征病人的药物选择,在“图形”选项卡中选择“网络”节点加到数据流中,设置节点参数指定绘制关于Drug与BP的网状网络图,如图6-1。执行“网络”节点,所生成的图形文件名列在流管理窗口的“输出”选项卡中,如图6-2图6-1图6-2网状图通过线条粗细反映病人BP与Drug的取值情况。可以看到,无论血压状况如何,都可以服用DrugY,其三条线的粗细程度差别不大。因此,DrugY对病人的血压没有特殊限定,更具有普遍服用性。在不考虑选择DrugY时,血压高的病人可服用DrugA或DrugB,血压低的病人则应该在DrugX和DrugC中选择。7.全面分析决定药物选择的其他影响因素。通过前面的分析,似乎对选择DrugY的依据有了一定的结论,但没有考虑Age、Sex、和Cholesterol等方面,分析仍是不全面的。同时,应怎样选择其他药物,也没有给出明确且全面的标准。这里,希望进一步利用数据,通过建立模型,从Age、Sex、BP、Cholesterol、Na/K的综合角度分析选择不同药物的依据。首先,在建模中不再直接采用K和Na变量,而是采用Na/K,因此先将变量K和Na筛掉。在“字段”选项卡中选择“过滤”节点加到数据流中,设置参数在K和Na变量上打叉筛掉,如图7-1图7-1然后,指定建立模型过程中各个变量的作用,这里Age、Sex、BP、Cholesterol、Na/K为解释变量,称为模型的输入变量,Drug为被解释变量,称为模型的输出变量。在“字段”选项卡中选择“类型”节点加到数据流中,设置参数指定不同变量的作用角色。如图7-2图7-2最后,在“建模”选项卡中选择“C5.0”节点加到数据流中。选择C5.0模型,执行C5.0节点,生成的模型名列在流管理窗口的模型选项卡中。选择流管理窗口中的模型选项卡,右击鼠标,选择弹出菜单中的“浏览”选项,浏览模型结果,如图7-3.图7-3可以看出,当病人的Na/K值高于14.985时,应选择DrugY,无需考虑其他因素。当病人的Na/K值低于14.985时,对于高血压病人,年龄是主要的判断依据,年龄低于50岁的,更适合DrugA,高于50的则应选择DrugB;对于低血压病人,则应依据其胆固醇指标选择DrugX和DrugC。对于血压正常的病人可选择DrugX。性别对选择药物没有影响。8.模型的预测精度评价。首先,选择流管理窗口中的“模型”选项卡,右击鼠标,选择弹出菜单中的“添加到流”选项,将模型计算结果加到数据流中;然后,在“输出”选项卡中选择“分析”节点并与模型结果节点相连,执行“分析”节点,所生成的结果列在流管理窗口的输出选项卡中,如图8图8可以看到,所建模型的正确预测精度达到了100%,模型理想。9.除了决策树C5.0的应用,这里采用神经网络方式再次进行操作,首先,在数据流中添加“分区”节点,将样本集划分为训练样本集和检验样本集,如图9-1;然后在“建模”选项卡中选择“神经网络”节点添加到数据流中,设置参数如图9-2,9-3,9-4;图9-1图9-2图9-3图9-4然后选择神经网络模型,执行“神经网络”节点,生成的模型名列在流管理窗口的模型选项卡中。选择流管理窗口中的模型选项卡,右击鼠标,选择弹出菜单中的“浏览”选项,浏览模型结果,如图9-5图9-5由上图可以看出,Na/K对选择哪种药物来说相对最为重要,BP其次。最后,对模型的预测精度进行评价。选择流管理窗口中的“模型”选项卡,右击鼠标,选择弹出菜单中的“添加到流”选项,将模型计算结果加到数据流中;然后,在“输出”选项卡中选择“分析”节点并与模型结果节点相连,执行“分析”节点,所生成的结果列在流管理窗口的输出选项卡中,如图9-6:图9-6由图看出,模型预测精度良好,模型较为理想。10.本次实验最终所建立的数据流如图10.图10六、实验心得在本次实验中,从新建工作流一直到获得最终结果,整个流程让我对数据挖掘中数据分析处理的基本方法有了深入的了解,特别是C5.0模型和神经网络模型应用的理解,同时,也学会了如何使用Clementine通过建模和直观化发现数据库中的关系以及利用这些链接与数据中的案例组相对应关系可以通过建模可详细研究这些组并描绘其特征,增强了运用Clementine11.1的能力。通过这次学习让我意识到,对于数据我们不仅要能会用spss统计来分析它的规律,也要能会通过数据挖掘软件来挖掘数据当中的潜在信息,成为更好的数据使用者。
本文标题:统计与数据挖掘实验报告
链接地址:https://www.777doc.com/doc-4156903 .html