到目前为止提出的所有学习算法都可以用作数据挖掘的工具。然而,对于用户来说,习惯于习惯于每个应用程序的新软件工具,并且还要将要分析的数据放入适合每个特定情况的格式中,这有时非常麻烦。
许多数据挖掘系统解决了这些问题。这些系统中的大多数都提供了方便的图形用户界面,其中包含用于数据可视化的各种工具,用于预处理(例如操纵缺失值)和用于分析。为了分析,使用这里给出的学习算法等。
全面的开源Java库WEKA值得一提。它提供了大量算法并简化了新算法的开发。
免费提供的系统KNIME,我们将在下一节中简要介绍,它提供了方便的用户界面和上面提到的所有类型的工具。KNIME也使用WEKA模块。此外,它还提供了一种使用图形编辑器控制所选可视化,预处理和分析工具的数据流的简单方法。同时,大量其他系统提供了非常相似的功能,例如开源项目RapidMiner( www.rapidminer.com ),SPSS销售的系统Clementine(
www.spss.com/ clementine )以及KXEN分析框架( www.kxen.com )。
1.
数据挖掘工具KNIME
使用L EXMED数据,我们现在将展示如何使用KNIME(Konstanz Information Miner,www.knime.org )从数据中提取知识。首先,我们生成一个决策树,如图8.35 所示。创建新项目后,将以图形方式构建工作流。为此,只需使用鼠标将适当的工具从节点存储库中取出并拖动到主工作流窗口中。
可以使用两个文件读取器节点读取C4.5文件中的训练和测试数据,没有任何问题。但是,这些节点也可以非常容易地配置为其他文件格式。节点下的横向红绿灯显示其状态(未准备好,已配置,已执行)。然后从WEKA库[WF01]中选择节点J48,该库包含C4.5的Java实现。配置非常简单。现在选择预测节点,将生成的树应用于测试数据。它将新列插入到测试数据表“Prediction”中,并使用树生成的分类。从那里,记分器节点计算图中所示的混淆矩阵,其给出对角线中两个类的正确分类的情况的数量,
图8.36 KNIME用户界面,包含工作流窗口,学习曲线和融合矩阵
一旦流完全构建并配置了所有节点,就可以执行任意节点。如有必要,它会自动确保执行前任节点。J48节点生成决策树的视图,如图右侧所示。该树与Sect中C4.5生成的树相同。8.4.5,尽管此处节点TRekt <=
378显示为折叠。
为了比较,一个学习多层感知器的项目(参见第9.5节)是
如图 8.36 所示。这与先前引入的线性感知器类似,但它也可以划分非线性可分类。这里的流程有点复杂。在预处理两个文件中的每个文件时,需要一个额外的节点来处理缺失值。我们设置它以便删除这些行。是–
导致神经网络不能与任意值处理中,所有变量的值被线性缩放到间隔[ 0 , 1 ]使用“归一化”节点。
在应用RProp学习器后,对反向传播的改进(见第9.5节),我们可以分析所示学习曲线中近似误差的时间进展。在混淆矩阵中,记分器输出测试数据的分析。右下角的“CSV Writer”节点用于导出结果文件,然后可以在外部使用它来生成第142页的图7.10所示的ROC曲线,但遗憾的是还没有KNIME工具。
总之,我们可以说以下关于KNIME(和类似工具):对于数据分析要求不太具异国情调的项目,使用如此强大的工作台来分析数据是值得的。用户已经在预处理阶段节省了大量时间。有大量易于使用的“挖掘工具”,例如最近邻分类器,简单的贝叶斯网络学习算法,以及k均值聚类算法(第 8.7.2节))。可以容易地进行结果的评估,例如交叉验证。值得一提的是,除了显示的内容之外,还有许多其他工具可用于数据的可视化。此外,KNIME的开发人员已经对KNIME进行了扩展,用户可以使用Java或Python编写自己的工具。但是,还应该提到的是,这种类型的数据挖掘系统的用户应该带来机器学习的坚实先验知识和数据挖掘技术的使用。仅靠软件无法分析数据,但在专家手中,它成为从数据中提取知识的强大工具。对于机器学习这个迷人领域的初学者来说,这样的系统提供了一个理想而简单的机会来实际测试一个人的知识并进行比较
各种算法。读者可以在第 220 页的练习
8.21中对此进行验证。