R 中的資料探勘演算法/包/RWeka/Weka 介面
建立一個與現有 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")
}