Question

J'ai 300 échantillons de données avec environ 4000 dimension caractéristique de chacun.Chaque entrée a un 5 dim.de sortie qui est dans la gamme de 2 à 2.Je suis en train de monter un lasso modèle pour elle.Je suis passé par un peu de posts qui parlent de la croix-des stratégies de validation comme celui-ci: Laisser une validation croisée de l'algorithme dans matlab

Mais j'ai vu que le lasso ne prend pas en charge leaveout dans Matlab! http://www.mathworks.com/help/stats/lasso.html

Comment puis-je former un modèle à l'aide de laisser de côté de la croix de validation et d'ajustement d'un modèle à l'aide du lasso sur mon dataset?Je suis en train de faire cela dans matlab.Je voudrais obtenir un ensemble de poids qui je vais être en mesure d'utiliser à l'avenir pour des prédictions sur d'autres données.

J'ai essayé d'utiliser glmnet: http://www.stanford.edu/~hastie/glmnet_matlab/intro.html mais je n'arrivais pas à le compiler sur ma machine en raison d'un manque d'mex compilateur.

Toutes les solutions à mon problème?Merci :)

MODIFIER

Je suis aussi en train d'essayer d'utiliser la fonction lasso dans-construit avec MATLAB.Il dispose d'une option pour effectuer une validation croisée.C'sorties B et Ajustement Statistique, où B est Équipé des coefficients, un p-par-L de la matrice, où p est le nombre de prédicteurs (colonnes) dans X, et L est le nombre de valeurs Lambda.

Maintenant donné un nouvel échantillon, comment puis-je calculer la sortie à l'aide de ce modèle?

Était-ce utile?

La solution

Vous pouvez utiliser un leave-one-out approche quelle que soit votre méthode de formation.Comme expliqué ici, vous pouvez utiliser crossvalind pour fractionner les données dans la formation et les ensembles de test.

[Train, Test] = crossvalind('LeaveMOut', N, M)
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top