ソフトクラスタリングとハードクラスタリングの違いがよくわかりません。
http://fuji-151a.hatenablog.com/entry/2013/12/15/223915 の中で、
ハードクラスタリングは1つ要素は1つクラスタにのみ属するクラスタリングと、ソフトクラスタリングは1つの要素が1つ以上のクラスタに属するクラスタリングと、表現されていますが、
ではソフトクラスタリングで1つの要素が1つ以上のクラスタに属するならどのようにクラスタに分類するのでしょうか?
Fuzzy cmeansでプロットした結果、一つの点が複数のクラスに所属するということはなかったのですが...。
なぜ1つ以上のクラスタに属することが可能でも一つの点は結局一つのクラスにしか分類されないのでしょうか?
またソフトクラスタリングはハードクラスタリングに変形することもできるのでしょうか?
import skfuzzy as fuzz ncenters=3 cntr, u_orig, _, _, _, _, _ = fuzz.cluster.cmeans(X.T, c=ncenters, m=2, error=0.005, maxiter=1000) newdata = np.random.uniform(-1, 1, (1000, 2)) * 10 u, u0, d, jm, p, fpc = fuzz.cluster.cmeans_predict(newdata.T, cntr, m=2, error=0.005, maxiter=1000) cluster_membership = np.argmax(u, axis=0)
というコードがあったとき、
cluster_membership = np.argmax(u, axis=0)
でuリストの最大値を与えるインデックスを取得すればハードクラスタリングのように扱えると説明があったのですが、これはハードクラスタリングに変形可能という意味でしょうか?
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。