Domanda

Ho 300 campioni di dati con circa 4000 funzionalità di dimensioni ciascuna. Ogni ingresso ha un 5 Dim. Uscita che è nell'intervallo da -2 a 2. Sto cercando di adattarlo a un modello Lazo ad esso. Ho attraversato alcuni post che parlano delle strategie di convalida incrociate come questa: Lascia un algoritmo di convalida a croce in Matlab

Ma ho visto che il lasso non supporta gli outhout a Matlab! http://www.mathworks.com/help/stats/lasso.html

Come posso addestrare un modello usando lasciare una convalida croce e adattarsi a un modello usando il lazo sul mio set di dati? Sto cercando di farlo a Matlab. Vorrei ottenere una serie di pesi che potrò usare per previsioni future su altri dati.

Ho provato a usare GLMNet: http://www.stanford.edu/~ Hastie / GLMNet_MatLab / Intro.html Ma non potevo compilarlo sulla mia macchina a causa della mancanza di adeguato compilatore Mex.

Qualche soluzione al mio problema? Grazie :)

Modifica

Sto anche cercando di utilizzare la funzione Lazo incorporata con MATLAB. Ha un'opzione per eseguire la convalida incrociata. Emette le statistiche B e Fit Statistics, dove B è coefficienti aderenti, una matrice P-By-L, dove P è il numero di predittori (colonne) in X, e L è il numero di valori Lambda.

Ora ha dato un nuovo campione di prova, come posso calcolare l'output usando questo modello?

È stato utile?

Soluzione

È possibile utilizzare un approccio congedo-one-out indipendentemente dal metodo di allenamento.Come spiegato qui , puoi usare crossvalind per dividere i dati in set di allenamento e test.

[Train, Test] = crossvalind('LeaveMOut', N, M)
.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top