跳转到内容

R 中的数据挖掘算法/包/RWeka/Weka 分类器元

来自维基教科书,为开放世界提供开放书籍

R 接口到 Weka 元学习器。

AdaBoostM1(formula, data, subset, na.action, control = Weka_control(), options = NULL)

Bagging(formula, data, subset, na.action, control = Weka_control(), options = NULL)

LogitBoost(formula, data, subset, na.action, control = Weka_control(), options = NULL)

MultiBoostAB(formula, data, subset, na.action, control = Weka_control(), options = NULL)

Stacking(formula, data, subset, na.action, control = Weka_control(), options = NULL)

CostSensitiveClassifier(formula, data, subset, na.action, control = Weka_control(), options = NULL)

formula,要拟合的模型的符号描述。

data,一个可选的数据框,包含模型中的变量。

subset,一个可选的向量,指定拟合过程中要使用的观测子集。

na.action,一个函数,指示当数据包含 NA 时应该发生什么。

control,一个 Weka_control 类的对象,提供要传递给 Weka 学习器的选项。

options,一个命名的进一步选项列表,或 NULL(默认值)。

有一个用于从拟合模型中预测的 predict 方法,以及一个基于 evaluate_Weka_classifier 的 summary 方法。

AdaBoostM1 实现 Freund 和 Schapire (1996) 的 AdaBoost M1 方法。

Bagging 提供装袋 (Breiman, 1996)。

LogitBoost 通过加性逻辑回归执行提升 (Friedman, Hastie 和 Tibshirani, 2000)。

MultiBoostAB 实现 MultiBoosting (Webb, 2000),这是 AdaBoost 技术的扩展,用于形成决策委员会,可以看作是 AdaBoost 和“摇摆”的结合。

Stacking 提供堆叠 (Wolpert, 1992)。

CostSensitiveClassifier 使其基础分类器具有成本敏感性。

模型公式应该只使用“+”和“-”运算符来分别指示要包含或不包含的变量。参数选项允许进一步定制。目前,选项模型和实例(或这些选项的部分匹配)被使用:如果设置为 TRUE,则模型框架或相应的 Weka 实例将分别包含在拟合模型对象中,这可能会加快对该对象的后续计算。默认情况下,两者都不包含。

返回值

[编辑 | 编辑源代码]

一个继承自 Weka_meta 和 Weka_classifiers 类的列表,其组件包括

classifier,一个引用(jobjRef 类),指向一个 Java 对象,该对象是通过将 Weka buildClassifier 方法应用于使用给定的控制选项构建指定模型而获得的。

predictions,一个数值向量或因子,包含模型对训练实例的预测(对已构建的分类器和每个实例调用 Weka classifyInstance 方法的结果)。

call,匹配的调用。

   m1 <- AdaBoostM1(Species ~ ., data = iris, control = Weka_control(W = "DecisionStump"))
   table(predict(m1), iris$Species)
   summary(m1) # uses evaluate_Weka_classifier()
   m2 <- AdaBoostM1(Species ~ ., data = iris, control = Weka_control(W = list(J48, M = 30)))
华夏公益教科书