ウェブサイトの場合、チューニングパラメータglm
はcaret
の範囲内にありません。
私たちは、簡単に、これはいくつかの基本的なtrain
呼び出しをテストすることによりケースであることを確認することができます。まず、Webブックごとに調整パラメータ(cp
)を持つメソッド(rpart
)から始めましょう。
library(caret)
data(GermanCredit)
# Check tuning parameter via `modelLookup` (matches up with the web book)
modelLookup('rpart')
# model parameter label forReg forClass probModel
#1 rpart cp Complexity Parameter TRUE TRUE TRUE
# Observe that the `cp` parameter is tuned
set.seed(1)
model_rpart <- train(Class ~., data=GermanCredit, method='rpart')
model_rpart
#CART
#1000 samples
# 61 predictor
# 2 classes: 'Bad', 'Good'
#No pre-processing
#Resampling: Bootstrapped (25 reps)
#Summary of sample sizes: 1000, 1000, 1000, 1000, 1000, 1000, ...
#Resampling results across tuning parameters:
# cp Accuracy Kappa
# 0.01555556 0.7091276 0.2398993
# 0.03000000 0.7025574 0.1950021
# 0.04444444 0.6991700 0.1316720
#Accuracy was used to select the optimal model using the largest value.
#The final value used for the model was cp = 0.01555556.
cp
パラメータが調整されていることがわかります。さあ、glm
を試してみましょう。
# Check tuning parameter via `modelLookup` (shows a parameter called 'parameter')
modelLookup('glm')
# model parameter label forReg forClass probModel
#1 glm parameter parameter TRUE TRUE TRUE
# Try out the train function to see if 'parameter' gets tuned
set.seed(1)
model_glm <- train(Class ~., data=GermanCredit, method='glm')
model_glm
#Generalized Linear Model
#1000 samples
# 61 predictor
# 2 classes: 'Bad', 'Good'
#No pre-processing
#Resampling: Bootstrapped (25 reps)
#Summary of sample sizes: 1000, 1000, 1000, 1000, 1000, 1000, ...
#Resampling results:
# Accuracy Kappa
# 0.7386384 0.3478527
この場合、上記のglm
を使用すると、パラメーター調整は実行されませんでした。私の経験から、parameter
という名前のparameter
は、実際のチューニングパラメータではなく、プレースホルダにすぎません。次のコードで示すように、たとえそれを強制的に調整しようとしても、parameter
は基本的に単一の値しか持たない。
set.seed(1)
model_glm2 <- train(Class ~., data=GermanCredit, method='glm',
tuneGrid=expand.grid(parameter=c(0.001, 0.01, 0.1, 1,10,100, 1000)))
model_glm2
#Generalized Linear Model
#1000 samples
# 61 predictor
# 2 classes: 'Bad', 'Good'
#No pre-processing
#Resampling: Bootstrapped (25 reps)
#Summary of sample sizes: 1000, 1000, 1000, 1000, 1000, 1000, ...
#Resampling results across tuning parameters:
# Accuracy Kappa parameter
# 0.7386384 0.3478527 0.001
# 0.7386384 0.3478527 0.001
# 0.7386384 0.3478527 0.001
# 0.7386384 0.3478527 0.001
# 0.7386384 0.3478527 0.001
# 0.7386384 0.3478527 0.001
# 0.7386384 0.3478527 0.001
#Accuracy was used to select the optimal model using the largest value.
#The final value used for the model was parameter = 0.001.
ここを参照してください、 '' modelLookup( "GLM")を試してみてください:https://stackoverflow.com/questions/43970831/the-tuning-parameter-in-glm-vs-rf/44010331#44010331 –
それは、 'tuneLength'を指定し、グリッドの指定に替わるのではなく、変更することを決めた'キャレット 'のパラメータを見ることから始めるのも良い考えです。 – dmi3kno
'glm'メソッドにチューニングパラメータがありませんhttps://topepo.github.io/caret/train-models-by-tag.html、そこにはダミーのチューニングパラメータがあり、何もしません。 – jmuhlenkamp