1

gbmパッケージを使用Rし、配布に「bernoulli」オプションを適用して分類器を構築していますが、「nan」という異常な結果が得られ、分類結果を予測できません。しかし、「adaboost」を使用すると、同じエラーは発生しません。以下はサンプルコードです。アイリスデータセットで同じエラーを再現しました。

## using the iris data for gbm
library(caret)
library(gbm)
data(iris)
Data  <- iris[1:100,-5]
Label <- as.factor(c(rep(0,50), rep(1,50)))

# Split the data into training and testing
inTraining <- createDataPartition(Label, p=0.7, list=FALSE)
training <- Data[inTraining, ]
trainLab <- droplevels(Label[inTraining])
testing <- Data[-inTraining, ]
testLab <- droplevels(Label[-inTraining])

# Model
model_gbm <- gbm.fit(x=training, y= trainLab,
                     distribution = "bernoulli",
                     n.trees = 20, interaction.depth = 1,
                     n.minobsinnode = 10, shrinkage = 0.001,
                     bag.fraction = 0.5, keep.data = TRUE, verbose = TRUE)

## output on the console
Iter      TrainDeviance   ValidDeviance   StepSize   Improve
     1          -nan            -nan     0.0010      -nan
     2           nan            -nan     0.0010       nan
     3          -nan            -nan     0.0010      -nan
     4           nan            -nan     0.0010       nan
     5          -nan            -nan     0.0010      -nan
     6           nan            -nan     0.0010       nan
     7          -nan            -nan     0.0010      -nan
     8           nan            -nan     0.0010       nan
     9          -nan            -nan     0.0010      -nan
    10           nan            -nan     0.0010       nan
    20           nan            -nan     0.0010       nan

これを機能させるための回避策があれば教えてください。私がこれを使用している理由は、加法ロジスティック回帰を試すためです.Rにこれを行うための他の選択肢があるかどうかを提案してください.

ありがとう。

4

2 に答える 2