Pergunta

Tenho 300 amostras de dados com cerca de 4.000 recursos de dimensão cada.Cada entrada tem 5 dim.saída que está no intervalo de -2 a 2.Estou tentando encaixar um modelo de laço nele.Li alguns posts que falam sobre estratégias de validação cruzada como esta: Deixe um algoritmo de validação cruzada de fora no matlab

Mas vi que o laço não suporta omitir no Matlab! http://www.mathworks.com/help/stats/lasso.html

Como posso treinar um modelo usando validação cruzada de exclusão e ajustar um modelo usando laço em meu conjunto de dados?Estou tentando fazer isso no matlab.Gostaria de obter um conjunto de pesos que poderei usar para previsões futuras sobre outros dados.

Eu tentei usar o glmnet: http://www.stanford.edu/~hastie/glmnet_matlab/intro.html mas não consegui compilá-lo em minha máquina devido à falta de um compilador mex adequado.

Alguma solução para o meu problema?Obrigado :)

EDITAR

Também estou tentando usar a função laço integrada ao MATLAB.Possui opção de realizar validação cruzada.Ele gera B e Fit Statistics, onde B são coeficientes ajustados, uma matriz p por L, onde p é o número de preditores (colunas) em X e L é o número de valores Lambda.

Agora, dada uma nova amostra de teste, como posso calcular a saída usando este modelo?

Foi útil?

Solução

Você pode usar uma abordagem de deixar um de fora, independentemente do seu método de treinamento.Como explicado aqui, você pode usar crossvalind para dividir os dados em conjuntos de treinamento e teste.

[Train, Test] = crossvalind('LeaveMOut', N, M)
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top