Попытка лучше понять, как train(tuneLength =)
работает в {caret}
. Моя путаница произошла, когда пытались понять некоторые различия между методами SVM от {kernlab}
. Я просмотрел документацию (here) и страницу обучения каретки (here).R понимание {карет} поезд (tuneLength =) и SVM методы из {kernlab}
В качестве примера с моей игрушкой было создано пять моделей с использованием набора данных iris
. Результаты: here, а воспроизводимый код here (они довольно длинны, поэтому я не копировал и не вставлял их в сообщение).
Из документации {caret}
:
tuneLength
целое число, обозначающее количество зернистости в сетке параметров настройки. По умолчанию этот аргумент представляет собой количество уровней для каждого параметра настройки, который должен быть сгенерирован поездом. Если у trainControl есть опция search = "random", это максимальное количество комбинаций параметров настройки, которые будут генерироваться случайным поиском. (Примечание: Если задан, этот аргумент должен быть назван.)
В this example, trainControl(search = "random")
и train(tuneLength = 30)
, но, как представляется, 67 результатов, а не 30 (максимальное количество комбинаций параметров настройки)? Я попытался поиграть, чтобы увидеть, возможно, было 30 уникальных значений ROC
или даже значений ydim
, но по моим подсчетам это не так.
Для примера игрушки я создал следующую таблицу:
Есть ли способ, чтобы увидеть, что происходит «под капотом»? Например, M1
() и M3
(svmRadialSigma
) принимают и задают одни и те же параметры настройки, но на основе вызова $results
, по-видимому, используют их по-разному?
Мое понимание train(tuneLength = 9)
было то, что обе модели будут производить результаты sigma
и C
каждого с 9 values, 9 times
поскольку 9
является количество уровней для каждого параметра настройки (исключение случайного поиска)? Аналогично, M4
будет 9^3
с train(tuneLength = 9)
и есть 3
параметры настройки?
Майкл
Привет Макс, спасибо за быстрый и подробный ответ. Это очень полезно. Использование APM в классе вместе с ESL, PDSwR и Elder's Ensemble Methods - это отличный текст. Майкл –
@topepo делает 'svmRadialWeight' принимает аргумент' weightights' через 'train'? – cdeterman