Caretのマニュアルサマリー機能の仕組みを理解する上で、いくつか問題があります。私はすべての予測を「失敗」として最大化する簡単なコードを作成しました。しかし何らかの理由で、すべてのインスタンスが失敗と予測されるようではありません(トレーニングデータセット上)。マニュアル概要Caretでの機能 - すべての予測=失敗の作成
コードについては、以下を参照してください:
は、全ての予測を最大化機能を失敗:
BS <- function (data, lev = NULL, model = NULL) {
negpredictions <- sum(data$pred == "fail")
names(negpredictions) <- c("Min_Precision")
negpredictions
}
トレーニングスクリプト:
train.control <- trainControl(method = "repeatedcv",
number = 10,
repeats = 3,
classProbs = TRUE,
#sampling = "smote",
summaryFunction = BS,
search = "grid")
tune.grid <- expand.grid(.mtry = seq(from = 1, to = 10, by = 1))
cl <- makeCluster(3, type = "SOCK")
registerDoSNOW(cl)
random.forest.orig <- train(pass ~ manufacturer+meter.type+premise+size+age+avg.winter+totalizer,
data = meter.train,
method = "rf",
tuneGrid = tune.grid,
metric = "Min_Precision",
maximize = TRUE,
trControl = train.control)
stopCluster(cl)