Регрессия отпуска с использованием Lasso в Matlab
-
21-12-2019 - |
Вопрос
У меня есть 300 образцов данных, причем около 4000 измерений. Каждый вход имеет 5 тусклых. Выход, который находится в диапазоне -2 к 2. Я пытаюсь установить модель лассо. Я прошел через несколько сообщений, которые говорят о стратегиях по пересеченной проверке, как этот: Оставьте один из алгоритма перекрестного валидации в MatLab
Но я видел, что Lasso не поддерживает отделью в Matlab! http://www.mathworks.com/help/stats/lasso.html
Как я могу тренировать модель, используя One Out Cross Cavelation и установить модель, используя Lasso на моем наборе данных? Я пытаюсь сделать это в Matlab. Я хотел бы получить набор весов, которые я смогу использовать для будущих прогнозов на другие данные.
Я попробовал использовать GLMNET: http://www.stanford.edu/~ hastie / glmnet_matlab / intro.html Но я не мог скомпилировать его на своей машине из-за отсутствия правильного компилятора MEX.
Любые решения моей проблемы? Спасибо :)
Редактировать
Я также пытаюсь использовать функцию LASSO в построенной с помощью MATLAB. Он имеет возможность выполнить перекрестную проверку. Он выводит статистику B и FIT, где B встроены коэффициенты, Matrix P-BY-L, где P - количество предикторов (столбцов) в x, и l - количество значений лямбда.
Теперь дан новый тестовый образец, как я могу рассчитать вывод, используя эту модель?
Решение
Вы можете использовать подход отпуска, независимо от вашего метода обучения.Как объяснено Здесь вы можете использовать crossvalind
для разделения данных в обучение и тестовые наборы.
[Train, Test] = crossvalind('LeaveMOut', N, M)
.