これは実際のデータの簡単な例で、N>100 の NxN 行列です。今、私が見つけたいのは、各行の上位 3 つです。次に、上位 3 つに最も頻繁に含まれる列と、それが発生する行の下を見つけます。
A B C D E F G
A 0 70 5 73 96 46 58
B 47 0 20 89 75 50 19
C 42 98 0 30 30 22 76
D 66 20 18 0 63 18 60
E 73 0 63 51 0 23 7
F 79 34 61 56 12 0 99
G 25 26 41 86 51 30 0
ここで、セルが行の上部 3 にある場合は 1、それ以外の場合は 0 のバイナリ マトリックスを作成して、同じ結果を見つけようとしました。ただし、長方形ではないテーブルを作成するのが最も困難です。
A B C D E F G
A 0 1 0 1 1 0 0
B 0 0 0 1 1 1 0
C 1 1 0 0 0 0 1
D 1 0 0 0 1 0 1
E 1 0 1 1 0 0 0
F 1 0 1 0 0 0 1
G 0 0 1 1 1 0 0
最終的な結果は次のようになります。条件 C、D、E、および F の下で、A が上位 3 位に入っています。
A D E C G B F
C (42) A (73) A (96) E (63) C (76) A (70) B (50)
D (66) B (89) B (75) F (61) D (60) C (98)
E (73) E (51) D (63) G (41) F (99)
F (79) G (86) G (51)
正しい方向へのアドバイスやポイントは大歓迎です。
ありがとう!