Matlabの構造を使用して、直感的な方法で結果を整理しています。私の分析は非常に複雑で階層的であるため、これは論理的にはうまく機能します。例:
resultObj.multivariate.individual.distributed.raw.alpha10(1).classification(1)
。構造の各レベルには、いくつかのフィールドがあります。各alpha
フィールドは構造化配列であり、データセットごとにインデックスが付けられclassification
ます。また、データに対して実行される相互検証ごとに1つずつ、構造化配列です。
簡単にするために、分類フィールドについて考えてみます。
>> classification
ans =
1x8 struct array with fields:
bestLambda
bestBetas
scores
statObj
fitObj
フィールドがstatObj
あります(たとえば):
dprime: 6.5811
hit: 20
miss: 0
falseAlarms: 0
correctRejections: 30
もちろん、フィールドには、サブジェクトと相互検証の実行ごとに異なる値があります。classification
この構造を考えると、抽出、保存、そして最終的に計算するためのforループを構築する必要なしに、交差検定の実行(つまりの要素)でdprimeの平均を見つける良い方法はありますか?
私はそれreshape(struct2array(classification.statObj),5,8)
がうまくいくことを望んでいたので、行として統計を使用し、列として相互検証を実行するマトリックスを構築できましたが、これは機能しません。classification
さまざまなタイプ(行列、構造、整数)の要素を保持するフィールドがあるため、これらのアイテムを独自の構造に配置しました。
私は自分の成果を完全に再構築することに反対しているわけではありませんが、組織がかなり自己コメントするような方法で行われることを望んでいます。1年後にこの構造に戻って、何をどこですべてを覚えていると言えます。は。