决策树C5.0在药物选择中的应用

假设您是一位收集研究数据的医学研究人员。您已收集了关于身患同一疾病的一组患者的数据。在治疗过程中,每位患者均对五种药物中的一种有明显反应。您的其中一项职责是通过数据挖掘找出适用于今后患有此疾病的患者的药物。

 

数据字段如下:

 

数据字段            描述

 

年龄               (数值)

 

性别                 男或女

 

BP                    血压:高、正常或低

 

胆固醇              血胆固醇:正常或高

 

Na                   血液中钠的浓度

 

K                     血液中钾的浓度

 

Drug               对患者有效的处方药

 

1.读取数据文件如下:

 

 

创建分布图

 

数据挖掘过程中,创建汇总视图通常有助于研究数据。CLEMENTINE 提供了若干不同类型的图表供您选择,具体取决于您要汇总分析的数据类型。例如,要找出每种药物的对症患者的比例,请使用” 分布 “节点。

 

1.将”分布”节点添加到流,并将其与”源”节点相连接,然后双击该节点以编辑要显示的选项。选择 药物 作为要显示其分布的目标字段。然后,在对话框中单击运行。

 

 

最终图形有助于您查看数据的”结构”。结果表明,药物 Y 的对症患者最多,而药物 B 和药物 C 的对症患者最少。

 

2.此外,您还可以附加并执行”数据审核”节点,以便立即快速浏览所有字段的分布图和直方图。可以在”输出”选项卡中找到数据审核节点。

 

 

创建散点图

 

现在看一下有哪些因素会对药物(目标变量)产生影响。作为研究人员,您知道血液中钠和钾的浓度是两个重要因素。由于这两者都是数值,因此您可以使用药物类别作为颜色叠加来创建关于钠与钾的散点图。将”图”节点放在工作空间中,并将其连接到”源”节点,然后双击以编辑该节点。

 

 

在”散点图”选项卡中,选择 Na 作为 X 字段,选择 K 作为 Y 字段,并选择 药物 作为交叠字段。然后,单击运行。

 

此图清楚地显示了一个阈值,高于此阈值时的对症药物始终为药物 Y,而低于此阈值时的对症药物不是药物 Y。此阈值是一个比率,即钠 (Na) 与钾 (K) 的比率。

 

 

创建网络图

 

由于许多数据字段都是分类字段,因此您也可尝试绘制反映不同类别之间的关联的网络图。首先,将 Web 节点连接到工作空间中的”源”节点。在”网络节点”对话框中,选择 BP(血压)和药物。然后,单击运行。

 

 

此图显示,药物 Y 与三种级别的血压均相关。这并不奇怪,因为您早已看出 Y 是最佳药物。要侧重于其他药物,您可以隐藏药物 Y。在视图菜单中,选择编辑方式,然后在药物 Y 点上单击鼠标右键,并选择隐藏并重新规划。

 

简图中隐藏了药物 Y 及其所有链接。现在您可以清楚地看到,只有药物 A 和 B 与高血压有关。只有药物 C和 X 与低血压有关。并且,正常血压仅与药物 X 相关联。此时,对于指定的患者,您仍然无法在药物 A 与B 之间或药物 C 与 X 之间作出选择。此时建模可以助您一臂之力。

 

 

导出新字段(字段选项——导出)

 

由于钠与钾的比似乎可以用来预测何时可以使用药物 Y ,因此您可以为每条记录导出一个包含此比值的字段。稍后在您构建模型以预测何时使用五种药物中的每种药物时可以使用此字段。为了简化流布局,请首先删除DRUG1n 源节点外的所有节点。将”派生”节点(”字段选项”选项卡)附加到 DRUG1n,然后双击此节点以进行编辑。

 

 

您可以通过将” 直方图” 节点附加到”派生”节点来检查新字段的分布情况。在”直方图”节点对话框中,将 Na_to_K指定为要绘制的字段,并将药物指定为交叠字段。

 

 

您可以根据显示结果得出以下结论:当 Na_to_K 字段的值等于或大于 15 时,应选择药物 Y 。

 

构建模型

 

通过探索和处理数据,您可以提出一些假设。血液中钠与钾的比率以及血压似乎都会影响药物的选择。但您尚无法完全解释清楚所有关系。此时似乎可以通过建模找出某些答案。此种情况下,您可以尝试使用规则构建模型 (C5.0) 来拟合数据。由于使用的是导出字段 Na_to_K ,您可以过滤掉原始字段 Na 和 K ,以避免在建模算法中重复操作。上述操作可通过过滤节点完成。

 

 

在” 过滤 “选项卡上,单击 Na 和 K 旁边的箭头。箭头上显示的红色 X 指示现在要过滤掉这些字段。然后,附加一个已连接到”过滤”节点的”类型”节点。”类型”节点允许您指示要使用的字段类型以及如何使用这些字段预测结果。

 

在” 类型 “选项卡上,将药物字段的角色设置为目标,表明您要预测该药物字段。将其他字段的角色设置为输入,表示这些字段将用作预测变量。

 

 

执行 C5.0 节点时,模型块将添加到流和窗口右上角的”模型”选用板中。要浏览模型,右键单击任一图标并从上下文菜单选择编辑或浏览。

 

规则浏览器以决策树形式显示 C5.0 节点所生成的规则集。最初,决策树处于折叠状态。要展开决策树,请单击 所有 按钮显示所有层。

 

 

现在,您可以看到此决策树的缺失部分。对于 Na 与 K 的比率小于 14.64 的高血压人员,年龄将决定药物的选择。对于低血压患者,胆固醇含量似乎是最有力的预测变量。

 

通过单击 查看器 选项卡,还可以更复杂的图表形式查看同一决策树。通过此图表形式,您可以更轻松地查看各个血压类别的观测值数量以及各个观测值的百分比。

 

 

使用”分析”节点

 

可以使用”分析”节点来评估模型的准确性。将”分析”节点(从”输出”节点选用板)附加到模型块,打开该节点并单击运行。

 

 

“分析”节点输出显示,通过此假设数据集,该模型已正确预测该数据集中每个记录的药物选择。在真正的数据集中,未必能做到完全准确,但分析节点可帮您确定模型的精确度能否满足特殊使用要求。

 

神经网络建模:

 

 

作者:LMM-李

发表评论

电子邮件地址不会被公开。 必填项已用*标注