hdbscan を使用して、Python Jupyter ノートブックのデータセット内のクラスターを検索しています。
import pandas as pandas
import numpy as np
data = pandas.read_csv('data.csv')
そのデータは次のようになります。
import hdbscan
clusterSize = 6
clusterer = hdbscan.HDBSCAN(min_cluster_size=clusterSize).fit(data)
そしてイェーイ!すべてがうまくいくようです!
次に、いくつかの結果を確認したいので、これらの結果をデータ フレームに追加します。
data.insert(18,"labels",clusterer.labels_)
data.insert(19,"probabilities",clusterer.probabilities_)
しかし、待ってください。確率が 0 のクラスターのラベルが付いた行があります。クラスター内のどのオブジェクトも確率値 > 0 を持つべきではありませんか? ああ、すべての確率は 0 または 1 にすぎません。
したがって、これをJupyterノートブックで再実行します。具体的には、再実行するだけです
clusterer = hdbscan.HDBSCAN(min_cluster_size=clusterSize).fit(data)
clusterer.labels_
との値を確認しましたclusterer.probabilities_
が、それらは異なります。これは一貫しているはずではありませんか?なぜそれらの値が変わるのでしょうか? 私が知らされていない隠された状態はありますか?しかし、今はclusterer.probabilities_
0 から 1 の間の値を持っているので、それでいいのでしょうか?
したがって、私は明らかにこの hdbscan ツールにあまり詳しくありませんが、複数回実行したときに異なる回答が得られる理由と、ラベル付き/クラスター化されたオブジェクトの確率 0 が理にかなっている理由を誰かが説明できますか?