跳转到内容

R 中的数据挖掘算法/包/RWeka/Weka 接口

来自 Wikibooks,开放世界中的开放书籍

创建一个与现有 Weka 学习器/过滤器交互的 R 接口,或者显示可用的接口。

make_Weka_associator(name, class = NULL, init = NULL)

make_Weka_classifier(name, class = NULL, handlers = list(), init = NULL)

make_Weka_clusterer(name, class = NULL, init = NULL)

make_Weka_filter(name, class = NULL, init = NULL)

list_Weka_interfaces()

make_Weka_package_loader(p)

name,一个字符串,用 JNI 表示法给出 Weka 学习器/过滤器的完全限定类名。

class,NULL(默认),或一个字符串向量,给出接口函数返回的对象除了默认类之外还应该继承的 R 类名(用于表示关联器、分类器和聚类器)。

handlers,一个命名的特殊处理程序函数列表,见详情。

init,NULL,或一个没有参数的函数,在使用接口构建学习器/过滤器时调用,或通过 WOW 查询可用的选项。 通常,这用于在对这些功能进行接口时加载 Weka 包。

p,一个字符串,命名一个通过 WPM 加载的 Weka 包。

make_Weka_associator 和 make_Weka_clusterer 分别创建了一个提供与 Weka 关联学习器或 Weka 聚类器交互的 R 函数。 此接口函数具有形式 x 和 control = NULL,分别代表用于训练的实例和要采用的控制选项。 由这些接口函数创建的对象始终分别从类 Weka_associator 和 Weka_clusterer 继承,并且至少具有合适的打印方法。 拟合的聚类器也有一个预测方法。

make_Weka_classifier 为 Weka 分类器创建了一个接口函数,具有形式 formula、data、subset、na.action 和 control(默认:无),其中前四个在 R 中具有用于统计建模函数的“通常”含义,最后一个再次指定要由 Weka 学习器采用的控制选项。 由这些接口创建的对象始终从类 Weka_classifier 继承,并且至少具有合适的打印和预测方法。

make_Weka_filter 为 Weka 过滤器创建了一个接口函数,具有形式 formula、data、subset、na.action 和 control = NULL,其中前四个在 R 中具有用于统计建模函数的“通常”含义,最后一个再次指定要由 Weka 过滤器采用的控制选项。 请注意,如果过滤器是“无监督的”,则可以从公式中省略响应变量。 由这些接口函数创建的对象(目前)始终是 data.frame 类。

接口函数的某些方面可以通过提供处理程序来定制。 目前,仅使用控制处理程序(作为处理程序列表的 control 组件给出的函数)来处理给定的 control 参数,然后将其传递给 Weka 分类器。 例如,元学习器使用它来允许通过它们的“基本名称”(而不是它们的完整 Weka/Java 类名)来指定已注册的基本学习器。 除了创建接口函数之外,接口还被注册(在接口的 Weka 类的名称下),这特别允许 Weka 选项向导 (WOW) 方便地给出关于接口可用控制选项的在线信息。

list_Weka_interfaces 列出可用的接口。 最后,make_Weka_package_loader 生成用于加载所需和已安装的 Weka 包的 init 挂钩。 除了 RWeka 包默认提供的接口之外,注册新的接口也很简单。

   NB <- make_Weka_classifier("weka/classifiers/bayes/NaiveBayes")
   if(require("e1071", quietly = TRUE) &&     require("mlbench", quietly = TRUE)) {
       data("HouseVotes84", package = "mlbench")
       model <- NB(Class ~ ., data = HouseVotes84)
       predict(model, HouseVotes84[1:10, -1])
       predict(model, HouseVotes84[1:10, -1], type = "prob")
   }
华夏公益教科书