1

サンプルがどのクラスのメンバーであるかを示す単一の 1 を除いて、各行はすべて 0 であるダミー変数の行列があります。たとえば[1 0 0; 0 0 1]、最初のサンプルがクラス 1 からのもので、2 番目のサンプルがクラス 3 からのものであることを示します[1; 3]

関数dummyvarは私が望むものの逆です。for ループを必要としないエレガントなソリューションはありますか?

4

1 に答える 1

3

コマンドを使用できますfind

dummy = [1 0 0; 0 0 1];
[idx,~] = find(dummy')
idx =
     1
     3

編集:より複雑なダミーの適切な順序を維持するために、配列のより直感的な列インデックスではなく、転置の行インデックスを取得する必要があります。これを見つけてくれた@woodchipsに感謝します!

于 2012-08-16T01:03:22.070 に答える