一般的なデータセット: 120 ~ 200 行、15 クラス。
行はクラス別に並べられていることが分かっています。クラス間の「フェンス」がどこにあるかは不明です。
現状のまま、つまり行の順序を考慮せずに、LCA は約 94% の行を正しく分類します。私の直感では、入力時に行がクラス別にグループ化されていることをアルゴリズムに伝える方法を知っていれば、100% になると思います。
「グループ化」の使い方が不明瞭な場合に備えて、図に示します。
正しいのは次のようになります。
1a
1a
1a
1a
1a
1b
1b
1b
1b
1b
1b
1b
1b
1c
1c
1c
1c
1c
1c
1c
すべての 1a 行は行順序に関して常に隣接行となり、すべての 1b 行も同様となります。
現在、次のようなことが時々起こります:
1a
1a
1a
1c
1c
1b
1b
1b
1b
1b
1b
1b
1b
1c
1c
1c
1c
1c
1c
1c
アイデアは?
潜在的には、Row() を値として列を作成することもできますが、クラスタリング列のほとんどが「クラス」型の値を持つことが心配です。15 クラスの場合、使用中の各列には 2 ~ 8 個の一意の値が含まれる可能性があります。Row() には 120 個の一意の値が含まれるため、ワイルドカードが混在しているように感じられます。