Вопрос

У меня есть 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)
.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top