質問

私はそれぞれ約4000次元の特徴を持つ300のデータサンプルを持っています。各入力には5dimがあります。出力は-2から2の範囲にあります。私はそれに投げ縄モデルを適合させようとしています。私はこのような交差検証戦略について話すいくつかの記事を見てきました: Matlabで交差検証アルゴリズムを1つ残します

しかし、私はlassoがMatlabでleaveoutをサポートしていないことを見ました! http://www.mathworks.com/help/stats/lasso.html

Leave one out cross validationを使用してモデルをトレーニングし、lassoを使用してモデルをデータセットに適合させるにはどうすればよいですか?私はmatlabでこれをやろうとしています。私は他のデータの将来の予測に使用できる重みのセットを取得したいと思います。

私はglmnetを使ってみました: http://www.stanford.edu/~hastie/glmnet_matlab/intro.html しかし、適切なmexコンパイラが不足しているため、マシンでコンパイルできませんでした。

私の問題に対する解決策はありますか?ありがとう:)

編集

私はまた、MATLABに組み込まれたlasso関数を使用しようとしています。交差検証を実行するオプションがあります。ここで、Bは近似係数、p行L列の行列、pはx内の予測子(列)の数、Lはラムダ値の数です。

新しいテストサンプルが与えられたら、このモデルを使用して出力を計算するにはどうすればよいですか?

役に立ちましたか?

解決

あなたの訓練方法にもかかわらずleave-one-outのアプローチを使用できる。説明したように ここに, 、あなたが使用することができます crossvalind データをトレーニングセットとテストセットに分割します。

[Train, Test] = crossvalind('LeaveMOut', N, M)
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top