跳轉到內容

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)))
華夏公益教科書