DB2 Intelligent Miner Visualization 8.2 是 IBM 数据挖掘产品的 Intelligent Miner 家族中的组件,可以用于可视地研究称为挖掘模型的数据挖掘结果。IM Visualization 支持 XML 格式的模型,这种格式由 data mining group PMML 标准化。在 IM Visualization 教程 关于 Business Scenario 的小节中,可以找到如何在应用程序中使用 IM Visualization 的业务案例的很好概括。
大多数 IM Visualization 用户将这个软件包用作单独的应用程序,或者在 applet 模式下将这个软件包作为其 Web 应用程序的一部分进行部署。本文将展示如何使 IM Visualization 成为 Java 应用程序的一个组成部分。
如果想获得本文范围之外的关于 IM Visualization API 的知识,可以通过发送电子邮件给作者来获得 IM Visualization 合作伙伴支持软件包。
合作伙伴支持软件包中包含以下内容:
- 包含了可以编译和运行的完整代码示例,而不只是本文中的代码段。
- IM Visualization 所有公共接口的 Javadoc 文档。
- IM Visualization 使用的 PMML 标记扩展的文档。
IM Visualization Java 类包含在 imvisu.jar 中,该文件在安装 IM Visualization 时被安装到了 /lib 目录中。IM Visualization 暴露的公共接口包含在软件包 com.ibm.datamining.visualization 及其子包中。
清单 1 显示了 Java 应用程序的源代码,该应用程序为从文件系统读取的 PMML 模型启动了 IM Visualization Window,图 1 显示了运行的应用程序。
清单 1. 从文件输入流启动 Visualization 窗口
package com.ibm.datamining.visualization.samples; import com.ibm.datamining.visualization.*; import com.ibm.datamining.visualization.modelsource.*; import java.awt.Window; import java.io.*; public class VisualizeFromInputStream { public static void main(String[] args) { try { InputStream in = new FileInputStream("C:/VisualizersAPISamples/models/ClusSample.xml") ; InputStreamModelSource modelSource = new InputStreamModelSource(in) ; modelSource.setDescription("My own stream") ; IVisualizer visualizer = VisualizerFactory.createVisualizer(modelSource) ; Window window = UIFactory.createVisualizerWorkbenchWindow(visualizer).getWindow() ; window.setVisible(true) ; in.close() ; } catch (IOException ioe) { ioe.printStackTrace() ; } } } |
要从文件系统的 XML 文件中读取 PMML 模型,需要创建 java.io.FileInputStream,然后将其传递到 ModelSource 构造函数中。还可以使用其他 InputStreams 或使用 URI 来构造模型源(model source)。
然后使用 VisualizerFactory singleton 创建 IVisualizer 实例。IVisualizer 是表示模型上打开的可视化器(visualizer)的接口。可视化器由多个视图组成(例如,集群可视化器的图形、文本或详细视图)。IVisualizer 是加载模型时创建、初始化和管理这些视图的中心类。
UIFactory 可以创建 IM Visualization API 支持的不同窗口类型。在本例中,要创建单独的 IVisualizerWorkbenchWindow,因为在这个简单的例子中,没有其他应用程序来管理 IM Visualization 框架。
图 1. 源代码清单 1 的 Visualization 窗口
除了主库 imvisu.jar 之外,IM Visualization 还包含其他一组 JAR 文件:
xerces.jar | XML 解析器的库 |
i18_XX.jar | 语言库,取决于客户机的位置 |
jh.jar | 如果通过单击 Help => Help Topics... 来显示帮助信息 |
assoc_help_XX.jar clustering_help_XX.jar classification_help_XX.jar regression_help_XX.jar | 需要 JAR 帮助文件,这取决于当前浏览模型的语言和类型 |
作为构建和运行应用程序的最低要求,需要将 imvisu.jar 和 xerces.jar 添加到类路径中。
要构建并运行来自 samples\VisualizerFromInputStream.java 中包含的清单 1 的源代码,请使用下列命令:
清单 2:构建和运行示例
javac -classpath "c:\Program Files\IBM\IMVisualization\lib\imvisu.jar;c:\Program Files\IBM\IMVisualization\lib\xerces.jar" samples\VisualizeFromInputStream.java java -classpath "c:\Program Files\IBM\IMVisualization\lib\imvisu.jar;c:\Program Files\IBM\IMVisualization\lib\xerces.jar;." samples.VisualizeFromInputStream |
如果已经有一个现成的 Swing 应用程序,那么可以重用单独的 IM Visualization 视图,并将它们添加到 Swing 内容面板中,如下所示:
清单 3:向 Swing 内容面板添加视图
private final static String VIEW_ID = IClusteringVisualizer.TEXTUAL_VIEW_ID ; ... Container contentPane = getContentPane() ; contentPane.setLayout(new BorderLayout()) ; contentPane.add(new JScrollPane(new JTree()), BorderLayout.WEST) ; ... visualizer = VisualizerFactory.createVisualizer(modelSource, new String[]{VIEW_ID}) ; // get the view from the visualizer IMiningView view = visualizer.getView(VIEW_ID) ; // add it and its legend into the foreign application contentPane.add(view.getViewComponent(), BorderLayout.CENTER) ; contentPane.add(view.getLegendComponent(), BorderLayout.SOUTH) ; |
|
图 2. 内嵌式 Visualization 视图(源代码清单 3)
可以对相关联可视化器的图形视图中的选择更改作出反应。
清单 4:对选择事件作出反应
... IMiningView[] views = visualizer.getViews() ; for (int i=0 ; i |
图 3. 对选择事件作出反应(源代码清单 4)
除了本文中提供的示例之外,合作伙伴支持软件包中还包含 IM Visualization API 的文档(Javadoc)和显示以下内容的代码示例:
- 如何定制 Visualizer 中可以使用的选项卡视图的数目和顺序。
- 如何将完整的可视化器框架嵌入基于 foreign Swing 的应用程序中。
- 如何将自己的贡献插入到可视化器的菜单栏或工具栏或它的一个视图。
data mining group 为数据挖掘创建 PMML 标准。标准化工作最初主要致力于挖掘模型的互用性,以便进行记分(将给定模型应用于新数据以获得预测或记分)。
符合标准的 PMML 模型的某些部分是可选的,但重要的是使用 IM Visualization 获得好的结果。例如,培训数据和集群中的分配统计用于集群可视化器的饼图和柱状图中。下列 XML 段显示了集群 6 中字段“MARITAL_STATUS”的值分布:
清单 5:用于集群分布统计的 PMML
... 15 10 134 |
为了改善数据挖掘模型的视觉外观,Intelligent Miner 对挖掘模型中的一些附加信息进行记分。在那些 PMML 标准尚未对附加信息的语法进行标准化的地方,IM Visualization 使用了以 开头的扩展标记。使用那些扩展的地方是模型质量信息,它们与用于绘制分类或预测模型的增益/提升图的坐标相似。下列 XML 片段显示了分类模型的提升图数据:
清单 6:提升图的 PMML
91 116 142 165 183 240 83 21 19 5 3 6 0.912087912087912 0.84 0.730769230769231 0.217391304347826 0.166666666666667 0.105263157894737 |
当使用 Intelligent Miner Modeling 或 Intelligent Miner for Data 来生成数据挖掘模型时,这些对您来说是完全透明的。然而,如果您是 IBM 业务合作伙伴或挖掘工具供应商,那么您可能想将其他标签写入挖掘模型中,以便与 IM Visualization 更好地进行集成。
合作伙伴支持软件包说明了 IM Visualization 如何使用 PMML 标准标签以及 IM Visualization 标签扩展的语法和语义。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/15082138/viewspace-671858/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/15082138/viewspace-671858/