パッケージキャレットを使用して、nnet 分類モデルをトレーニングしています。デフォルトのシグモイド (ロジスティック) 伝達関数はうまく機能します。いくつかの比較を行うために線形伝達関数を使用しようとしていました。しかし、エラーが発生しました。
私が見つけた興味深いことは、ターゲット変数に 2 つ以上のクラスがある場合、線形伝達関数は問題ないということです。ただし、ターゲット変数に 2 つのクラスがある場合は失敗します。
サンプルコードを次に示します。
library(caret)
data(iris)
#This modeling works well. Species has 3 classes
model <- train(Species~., data=iris, method='nnet', linout=T, trControl=trainControl(method='cv'))
#Subset the dataset s.t. only two levels left for Species.
iris1 <- iris[1:100,]
iris1 <- droplevels(iris1)
model1 <- train(Species~., data=iris1, method='nnet', linout=T, trControl=trainControl(method='cv'))
エラーメッセージは次のとおりです。
Something is wrong; all the Accuracy metric values are missing:
Accuracy Kappa
Min. : NA Min. : NA
1st Qu.: NA 1st Qu.: NA
Median : NA Median : NA
Mean :NaN Mean :NaN
3rd Qu.: NA 3rd Qu.: NA
Max. : NA Max. : NA
NA's :9 NA's :9
Error in train.default(x, y, weights = w, ...) : Stopping
何が問題なのかわからない。助言がありますか?ありがとう!