Я хотел бы добавить новую модель для функции mob
, которая для каждого листа будет использовать naivebayes
вместо среднего значения для randomforset
.Вот код для randomforset
:
library(randomForest)
require (data.table)
require (party)
set.seed(123)
data1 <- read.csv('https://archive.ics.uci.edu/ml/machine-learning-databases/car/car.data',header = TRUE)
colnames(data1)<- c("BuyingPrice","Maintenance","NumDoors","NumPersons","BootSpace","Safety","Condition")
# Split into Train and Validation sets
# Training Set : Validation Set = 70 : 30 (random)
set.seed(100)
train <- sample(nrow(data1), 0.7*nrow(data1), replace = FALSE)
TrainSet <- data1[train,]
ValidSet <- data1[-train,]
summary(TrainSet)
summary(ValidSet)
# Create a Random Forest model with default parameters
model1 <- randomForest(Condition ~ ., data = TrainSet, importance = TRUE)
model1
# Mob using linear model:
fmBH <- mob(TrainSet$Condition ~ BuyingPrice + Maintenance | NumDoors+ NumPersons + BootSpace + Safety , data = TrainSet, model = glinearModel, family = binomial())
, а вот код, который я пытался использовать для определения новой модели для mob
:
mf <- dpp(naiveBayes, TrainSet$Condition ~ NumDoors+ NumPersons + BootSpace + Safety , data = TrainSet)
mylm <- fit(naiveBayes, mf)
и вотполученное сообщение об ошибке:
> mf <- dpp(naiveBayes, y ~ NumDoors+ NumPersons + BootSpace + Safety , data = TrainSet)
Error in (function (classes, fdef, mtable) :
unable to find an inherited method for function ‘dpp’ for signature ‘"function"’