Мне интересно, как правильно подойти к обучению и тестированию модели LASSO с использованием glmnet в R?
- В частности, мне интересно, как это сделать, если отсутствие внешнего набора тестовых данных требует использования перекрестной проверки (или другого аналогичного подхода) для тестирования моей модели LASSO.
Позвольте мне разбить мой сценарий:
У меня есть только один набор данных для информирования и обучения моей модели glmnet. В результате мне придется использовать перекрестную проверку для разделения моих данных, чтобы также создать способ тестирования моей модели.
Я уже использую cv.glmnet
, который в соответствии с деталями пакета :
Выполняет перекрестную проверку в k-кратном порядке для glmnet, создает график и возвращает значение для лямбды.
Проводится ли перекрестная проверка
cv.glmnet
просто для того, чтобы выбрать лучшую лямбду, или она также служит более общей процедурой перекрестной проверки?- Другими словами, мне все еще нужно сделать еще один шаг перекрестной проверки, чтобы "проверить" мою модель?
Я работаю с предположением, что «да, я делаю».
В таком случае, как мне подойти к перекрестной проверке моей cv.glmnet
модели?
Нужно ли делать это вручную, или эта
caret
функция полезна для моделей glmnet?Использую ли я две концентрические "петли" перекрестной проверки? ... Использую ли я "внутреннюю петлю" CV через,
cv.glmnet
чтобы определить наилучшее значение лямбда в каждой из k сгибов "внешней петли" обработки перекрестной проверки k-кратных ?Если я делаю перекрестную проверку моей уже перекрестной проверки
cv.glmnet
модели, как мне отделить «лучшую» модель (от «лучшего» значения лямбда) от каждойcv.glmnet
модели в каждом сгибе моего «внешнего цикла» перекрестной проверки?- Примечание. Я определяю «лучшую» модель как модель, связанную с лямбдой, которая производит MSE в пределах 1 SE от минимума ... это
$lambda.1se
вcv.glmnet
модели.
- Примечание. Я определяю «лучшую» модель как модель, связанную с лямбдой, которая производит MSE в пределах 1 SE от минимума ... это
Контекст:
Я пытаюсь предсказать возраст дерева («возраст») на основе диаметра дерева («D»), D ^ 2 и вида («фактор (SPEC)»). [полученное уравнение: Age ~ D + factor(SPEC) + D^2
]. У меня есть ~ 50K строк данных, но данные являются продольными (отслеживает особи во времени) и состоят из ~ 65 видов.