Попытка лучше понять, как работает train(tuneLength = ) в {caret}. Моя путаница возникла при попытке понять некоторые различия между методами SVM из {kernlab} Я просмотрел документацию (здесь) и страницу обучения каретки (здесь).
В моей игрушечной модели было создано пять моделей с использованием набора данных iris. Результаты здесь, и воспроизводимый код здесь (они довольно длинны, поэтому я не копировал и не вставлял их в сообщение).
Из документации {caret}:
tuneLength
целое число, обозначающее степень детализации в сетке параметров настройки. По умолчанию этот аргумент представляет собой количество уровней для каждого параметра настройки, который должен быть сгенерирован поездом. Если у trainControl есть опция search = "random", это максимальное количество комбинаций параметров настройки, которые будут генерироваться случайным поиском. (ПРИМЕЧАНИЕ. Если задано, этот аргумент должен быть назван.)
В этом примере trainControl(search = "random") и train(tuneLength = 30), но, как представляется, 67 результатов, а не 30 (максимальное количество комбинаций параметров настройки)? Я попытался поиграть, чтобы увидеть, возможно, было 30 уникальных значений ROC или даже значений ydim, но по моим подсчетам это не так.
В примере с игрушкой я создал следующую таблицу:
Есть ли способ увидеть, что происходит "под капотом"? Например, M1 (svmRadial) и M3 (svmRadialSigma) берут и задаются одни и те же параметры настройки, но на основе вызова $results видимому, используют их по-разному?
Мое понимание train(tuneLength = 9) состояло в том, что обе модели будут давать результаты sigma и C каждый с 9 values, 9 times поскольку 9 - количество уровней для каждого параметра настройки (исключение - случайный поиск)? Аналогично, M4 будет 9^3 поскольку train(tuneLength = 9) и есть 3 параметра настройки?
Майкл
