9

いくつかの調査で、MATLAB でタスクを実行する 2 つの関数を見つけました。

  • cvpartitionStatistics Toolbox の関数
  • crossvalindバイオインフォマティクス ツールボックスの関数

以前は、統計ツールボックスの/クラスcvpartitionと一緒に、n 分割交差検証サブセットを作成するために を使用しました。だから私は、2つの違いとそれぞれの長所/短所は何ですか?DatasetNominal

4

4 に答える 4

3

@MrFoozの回答を拡張する

cvpartitionとcrossvalindの公式ドキュメントに基づくと、これらは非常に似ているように見えますが、crossvalindは少し柔軟に見えます(任意のMに対してMを除外できますが、cvpartitionでは1を除外できます)。

...適切なk値を使用してkfold相互検証を使用してleave-M-outを常にシミュレートできるというのは本当ではありません(データをk foldに分割し、1つでテストし、他のすべてでトレーニングし、すべてのfoldに対してこれを実行します)そして平均を取る)leave-one-outはkfoldの特殊なケースであり、k =観測数ですか?

于 2009-09-03T19:40:14.540 に答える
3

cvpartitionアムロ、これはvsの質問に対する直接の回答ではありませんが 、ユーザー Sebastian Paris によるMulticlassGentleAdaboostingcrossvalindと呼ばれる Mathworks File Exchange での貢献があります。次のサンプリングおよび交差検証戦略:

  • 差し出す
  • ブートストラップ
  • K クロスバリデーション
  • 一つ残して
  • 層化交差検証
  • バランスのとれた層別交差検証
  • 階層化されたホールドアウト
  • 階層化されたブート ストラップ

詳細については、パッケージに含まれるデモ ファイルを参照してください。具体的には、関数sampling.msampling_set.m.

于 2011-09-08T20:46:35.923 に答える
1

cvpartitioncrossvalindの公式ドキュメントに基づくと、それらはかなり似ているように見えますが、 crossvalind は少し柔軟に見えます (任意の M に対して M を除外することができますが、 cvpartition は 1 を除外することしかできません)。

于 2009-09-03T11:45:56.330 に答える
1

あなたの質問がニューラル ネットワーク ツールボックスに直接言及していないことは承知していますが、おそらく他の誰かがこれを役に立つと思うかもしれません。ANN 入力データをテスト/検証/トレーニング データに分離するには、「net.divideFcn」変数を使用します。

net.divideFcn = 'divideind';

net.divideParam.trainInd=1:94;  % The first 94 inputs are for training.
net.divideParam.valInd=1:94;    % The first 94 inputs are for validation.
net.divideParam.testInd=95:100; % The last 5 inputs are for testing the network.
于 2011-04-24T06:52:36.207 に答える